+#
+# Conditional build:
+%bcond_without tests # do not perform tests
+#
Summary: A collection of utilities and DSOs to handle compiled objects
Summary(pl): Zestaw narzêdzi i bibliotek do obs³ugi skompilowanych obiektów
Name: elfutils
-Version: 0.94
+Version: 0.120
Release: 1
License: OSL 1.0 (http://www.opensource.org/licenses/osl.php)
Group: Development/Tools
-# http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/SRPMS/elfutils-0.94-2.1.src.rpm
-Source0: %{name}-%{version}.tar.gz
-# Source0-md5: de39e0af6b82b30d48e5d69b75aa2e0b
+# http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/
+# abuse systemtap to get .tar.gz directly
+Source0: ftp://sources.redhat.com/pub/systemtap/elfutils/%{name}-%{version}.tar.gz
+# Source0-md5: 3f757d85af891904892b4a6dc3f9e14c
Patch0: %{name}-pl.po.patch
Patch1: %{name}-debian-manpages.patch
-Patch2: %{name}-alpha-stat.patch
-Patch3: %{name}-gcc34.patch
+Patch2: %{name}-portability.patch
+Patch3: %{name}-robustify.patch
+Patch4: %{name}-align.patch
+Patch5: %{name}-paxflags.patch
+Patch6: %{name}-alpha.patch
+Patch7: %{name}-gcc4.patch
#URL: file://home/devel/drepper
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1.7
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1:1.7
BuildRequires: gcc >= 3.2
BuildRequires: gettext-devel
+%ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
+# PR*FAST{8,16} in <inttypes.h> were broken for 64-bit archs in older versions
+# also needed for nanosecond timestamps on alpha
+BuildRequires: glibc-devel >= 6:2.3.4
+%endif
BuildRequires: libltdl-devel
BuildRequires: perl-tools-pod
+BuildRequires: rpmbuild(macros) >= 1.213
BuildRequires: sharutils
-Requires: elfutils-libelf = %{version}-%{release}
+Requires: %{name}-libelf = %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _programprefix eu-
Summary: Development part of libraries to handle compiled objects
Summary(pl): Czê¶æ programistyczna bibliotek do obs³ugi skompilowanych obiektów
Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
Obsoletes: libelf-devel
-Requires: elfutils = %{version}-%{release}
%description devel
The elfutils-devel package contains the development part of libraries
Summary: Static libraries to handle compiled objects
Summary(pl): Statyczne biblioteki do obs³ugi skompilowanych obiektów
Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
Obsoletes: libelf-static
-Requires: elfutils-devel = %{version}-%{release}
%description static
The elfutils-static package contains the static libraries to create
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
-%{__gettextize}
+#%%{__gettextize}
%{__aclocal}
%{__autoheader}
%{__automake}
%{__autoconf}
+
%configure \
--program-prefix=%{_programprefix} \
--enable-shared
+# make check depends on test-nlist not stripped
+%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
+
%{__make}
%{__make} -C debian/man
+%if %{with tests}
+# $ORIGIN used in RPATH needs /proc to work - workaround it using LD_LIBRARY_PATH;
+# ../libelf is needed also to use proper libelf by ../src/elflint during tests
+LD_LIBRARY_PATH=../libasm:../libdw:../libebl:../libelf \
%{__make} -C tests check
+%endif
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_mandir}/man1
+install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
# *OBJEXT must be passed to workaround problem with messed gettext,
# which doesn't like *-po dir names
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
- CATOBJEXT=.gmo INSTOBJEXT=.mo
+ MKINSTALLDIRS=$(pwd)/config/mkinstalldirs \
+ CATOBJEXT=.gmo \
+ INSTOBJEXT=.mo
install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+mv $RPM_BUILD_ROOT%{_libdir}/libelf-*.so $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libelf-*.so) \
+ $RPM_BUILD_ROOT%{_libdir}/libelf.so
+
%find_lang libelf
-%find_lang libasm
-%find_lang libdw
-%find_lang libebl
%find_lang %{name}
-cat libasm.lang libdw.lang libebl.lang >> %{name}.lang
%clean
rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(644,root,root,755)
-%doc doc/elfutils.sgml
%attr(755,root,root) %{_libdir}/libasm.so
%attr(755,root,root) %{_libdir}/libdw.so
%attr(755,root,root) %{_libdir}/libelf.so
%files libelf -f libelf.lang
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libelf-*.so
+%attr(755,root,root) /%{_lib}/libelf-*.so
%files static
%defattr(644,root,root,755)