%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
+Summary(pl.UTF-8): Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
Name: elfutils
-Version: 0.119
+Version: 0.130
Release: 1
-License: OSL 1.0 (http://www.opensource.org/licenses/osl.php)
+License: GPL v2 with OSL linking exception
Group: Development/Tools
-# http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/
-# abuse systemtap to get .tar.gz directly
+# http://download.fedora.redhat.com/pub/fedora/linux/core/development/source/SRPMS/
+# or abuse systemtap to get .tar.gz directly
Source0: ftp://sources.redhat.com/pub/systemtap/elfutils/%{name}-%{version}.tar.gz
-# Source0-md5: 57b9e4ab3b9fb597a72badf26f7f9bdc
+# Source0-md5: 8111e6ea9f237567cbe086fb10c29fa1
Patch0: %{name}-pl.po.patch
Patch1: %{name}-debian-manpages.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
+Patch6: %{name}-sparc.patch
+Patch7: %{name}-strip-copy-symtab.patch
+Patch8: %{name}-gcc4.patch
+Patch9: %{name}-inline.patch
+Patch10: %{name}-Werror.patch
+Patch11: %{name}-fixes.patch
#URL: file://home/devel/drepper
BuildRequires: autoconf >= 2.59
BuildRequires: automake >= 1:1.7
# 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: rpmbuild(macros) >= 1.315
BuildRequires: sharutils
+%if %{with tests} && %(test -d /proc/self ; echo $?)
+# native test needs proc (for libdwfl -p PID to work)
+BuildRequires: MOUNTED_PROC
+%endif
Requires: %{name}-libelf = %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _programprefix eu-
+# fails to build with -Wl,-s
+%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
+
+%define programprefix eu-
%description
Elfutils is a collection of utilities, including ld (a linker), nm
libraries which implement DWARF, ELF, and machine-specific ELF
handling.
-%description -l pl
-Elfutils to zestaw narzêdzi, sk³adaj±cy siê z ld (linkera), nm (do
-listowania symboli z plików obiektów), size (do listowania rozmiarów
-sekcji plików obiektów lub archiwów), strip (do usuwania symboli),
-readline (do ogl±dania surowych struktur plików ELF) oraz elflint (do
-sprawdzania poprawno¶ci plików ELF). Do³±czone s± tak¿e liczne
-biblioteki pomocnicze z zaimplementowan± obs³ug± DWARF, ELF i ELF
+%description -l pl.UTF-8
+Elfutils to zestaw narzędzi, składający się z ld (linkera), nm (do
+listowania symboli z plików obiektów), size (do listowania rozmiarów
+sekcji plików obiektów lub archiwów), strip (do usuwania symboli),
+readline (do oglądania surowych struktur plików ELF) oraz elflint (do
+sprawdzania poprawności plików ELF). Dołączone są także liczne
+biblioteki pomocnicze z zaimplementowaną obsługą DWARF, ELF i ELF
specyficznych dla architektury.
%package devel
Summary: Development part of libraries to handle compiled objects
-Summary(pl): Czê¶æ programistyczna bibliotek do obs³ugi skompilowanych obiektów
+Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Obsoletes: libelf-devel
DWARF debugging information. libasm provides a programmable assembler
interface.
-%description devel -l pl
-Pakiet elfutils-devel zawiera czê¶æ programistyczn± bibliotek do
-tworzenia aplikacji obs³uguj±cych skompilowane obiekty. libelf pozwala
-na dostêp do wnêtrzno¶ci formatu pliku obiektowego ELF, co pozwala na
-ogl±danie ró¿nych sekcji pliku ELF. libebl udostêpnia funkcjonalno¶æ
-dostêpu do plików ELF trochê wy¿szego poziomu. libdwarf pozwala na
-dostêp do informacji DWARF s³u¿±cych do odpluskwiania. libasm
-udostêpnia programowalny interfejs asemblera.
+%description devel -l pl.UTF-8
+Pakiet elfutils-devel zawiera część programistyczną bibliotek do
+tworzenia aplikacji obsługujących skompilowane obiekty. libelf pozwala
+na dostęp do wnętrzności formatu pliku obiektowego ELF, co pozwala na
+oglądanie różnych sekcji pliku ELF. libebl udostępnia funkcjonalność
+dostępu do plików ELF trochę wyższego poziomu. libdwarf pozwala na
+dostęp do informacji DWARF służących do odpluskwiania. libasm
+udostępnia programowalny interfejs asemblera.
%package libelf
Summary: Library to read and write ELF files
-Summary(pl): Biblioteki do odczytu i zapisu plików ELF
+Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF
Group: Libraries
#Obsoletes: libelf
package to read internals of ELF files. The programs of the elfutils
package use it also to generate new ELF files.
-%description libelf -l pl
-Pakiet elfutils-libelf udostêpnia bibliotekê dzielon±, która pozwala
-na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy
-wymagaj± tego pakietu, aby odczytywaæ zawarto¶æ plików ELF. Programy z
-pakietu elfutils u¿ywaj± jej tak¿e do generowania nowych plików ELF.
+%description libelf -l pl.UTF-8
+Pakiet elfutils-libelf udostępnia bibliotekę dzieloną, która pozwala
+na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy
+wymagają tego pakietu, aby odczytywać zawartość plików ELF. Programy z
+pakietu elfutils używają jej także do generowania nowych plików ELF.
%package static
Summary: Static libraries to handle compiled objects
-Summary(pl): Statyczne biblioteki do obs³ugi skompilowanych obiektów
+Summary(pl.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Obsoletes: libelf-static
debugging information. libasm provides a programmable assembler
interface.
-%description static -l pl
+%description static -l pl.UTF-8
Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia
-aplikacji obs³uguj±cych skompilowane obiekty. libelf pozwala na dostêp
-do wnêtrzno¶ci formatu pliku obiektowego ELF, co pozwala na ogl±danie
-ró¿nych sekcji pliku ELF. libebl udostêpnia funkcjonalno¶æ dostêpu do
-plików ELF trochê wy¿szego poziomu. libdwarf pozwala na dostêp do
-informacji DWARF s³u¿±cych do odpluskwiania. libasm udostêpnia
+aplikacji obsługujących skompilowane obiekty. libelf pozwala na dostęp
+do wnętrzności formatu pliku obiektowego ELF, co pozwala na oglądanie
+różnych sekcji pliku ELF. libebl udostępnia funkcjonalność dostępu do
+plików ELF trochę wyższego poziomu. libdwarf pozwala na dostęp do
+informacji DWARF służących do odpluskwiania. libasm udostępnia
programowalny interfejs asemblera.
%prep
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p0
+
+rm -f po/stamp-po
+
+# strip-test5 needs adjusting for strip-copy-symtab patch (already in FC, but not worth bothering)
+sed -i -e 's/ run-strip-test5\.sh / /' tests/Makefile.am
+
+# temporarily disable test failing on specific archs
+%ifarch alpha sparc sparc64
+%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
+%endif
%build
#%%{__gettextize}
%{__aclocal}
%{__autoheader}
-%{__automake}
%{__autoconf}
-
+%{__automake}
%configure \
- --program-prefix=%{_programprefix} \
+ --program-prefix=%{programprefix} \
--enable-shared
# make check depends on test-nlist not stripped
%{__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 \
+# some tests rely on English messages
+LC_ALL=C \
%{__make} -C tests check
%endif
ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libelf-*.so) \
$RPM_BUILD_ROOT%{_libdir}/libelf.so
-%find_lang libelf
+/sbin/ldconfig -n -N $RPM_BUILD_ROOT%{_libdir}
+/sbin/ldconfig -n -N $RPM_BUILD_ROOT/%{_lib}
+
%find_lang %{name}
%clean
%post libelf -p /sbin/ldconfig
%postun libelf -p /sbin/ldconfig
-%files -f %{name}.lang
+%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING NEWS NOTES README THANKS TODO
+%doc AUTHORS EXCEPTION NEWS NOTES README THANKS TODO
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_libdir}/libasm-*.so
+%ghost %attr(755,root,root) %{_libdir}/libasm.so.*
%attr(755,root,root) %{_libdir}/libdw-*.so
+%ghost %attr(755,root,root) %{_libdir}/libdw.so.*
%dir %{_libdir}/elfutils
%attr(755,root,root) %{_libdir}/elfutils/lib*.so
%{_mandir}/man1/*.1*
%{_libdir}/libebl.a
%{_includedir}/*
-%files libelf -f libelf.lang
+%files libelf -f %{name}.lang
%defattr(644,root,root,755)
%attr(755,root,root) /%{_lib}/libelf-*.so
+%ghost %attr(755,root,root) /%{_lib}/libelf.so.*
%files static
%defattr(644,root,root,755)