+#
+# 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
-Release: 1
+Version: 0.108
+Release: 2
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
+# http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/SRPMS/
Source0: %{name}-%{version}.tar.gz
-# Source0-md5: de39e0af6b82b30d48e5d69b75aa2e0b
+# Source0-md5: fd318a634c8f67c7ac8a975f16965cc3
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}-bswap.patch
+Patch4: %{name}-robustify.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
%build
-%{__gettextize}
+#%%{__gettextize}
%{__aclocal}
%{__autoheader}
%{__automake}
%{__autoconf}
+
+# Turn off optimization on sparc to avoid Bus error with some tests
+%ifarch sparc
+CFLAGS="%{rpmcflags} -O0" ; export CFLAGS
+%endif
%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
+#%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)