X-Git-Url: http://git.pld-linux.org/?p=packages%2Felfutils.git;a=blobdiff_plain;f=elfutils.spec;h=3826c05553af67c146f9f2d25e4764b2e980b572;hp=f47cd1351e090f281aa696ed548c3c4865f76df1;hb=3dde37170f14a833ce9a4481bed3cc44d5d337ff;hpb=ecbc8f89199a3f4ef83c40056618bcc03096c051 diff --git a/elfutils.spec b/elfutils.spec index f47cd13..3826c05 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -1,248 +1,246 @@ -Summary: A collection of utilities and DSOs to handle compiled objects. -Name: elfutils -Version: 0.76 -Release: 3 -Copyright: GPL -Group: Development/Tools -#URL: file://home/devel/drepper -Source: elfutils-%{version}.tar.gz -Obsoletes: libelf libelf-devel -Requires: elfutils-libelf = %{version}-%{release} - -# ExcludeArch: xxx - -BuildRoot: %{_tmppath}/%{name}-root -BuildRequires: gcc >= 3.2 -BuildRequires: sharutils - -%define _gnu %{nil} -%define _programprefix eu- +# +# Conditional build: +%bcond_without tests # do not perform tests +# +Summary: A collection of utilities and DSOs to handle compiled objects +Summary(pl.UTF-8): Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów +Name: elfutils +Version: 0.128 +Release: 2 +License: GPL v2 with OSL linking exception +Group: Development/Tools +# 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: 4da87e49616101ec256e313218c421ef +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}-sparc.patch +Patch7: %{name}-strip-copy-symtab.patch +Patch8: %{name}-gcc4.patch +Patch9: %{name}-inline.patch +Patch10: %{name}-Werror.patch +#URL: file://home/devel/drepper +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 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.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) + +# 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 (for listing symbols from object files), size (for listing the -section sizes of an object or archive file), strip (for discarding -symbols), readline (the see the raw ELF file structures), and elflint -(to check for well-formed ELF files). Also included are numerous -helper libraries which implement DWARF, ELF, and machine-specific ELF +Elfutils is a collection of utilities, including ld (a linker), nm +(for listing symbols from object files), size (for listing the section +sizes of an object or archive file), strip (for discarding symbols), +readline (the see the raw ELF file structures), and elflint (to check +for well-formed ELF files). Also included are numerous helper +libraries which implement DWARF, ELF, and machine-specific ELF handling. +%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 libraries to handle compiled objects. -Group: Development/Tools -Requires: elfutils = %{version}-%{release} +Summary: Development part of libraries to handle compiled objects +Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Obsoletes: libelf-devel %description devel -The elfutils-devel package contains the libraries to create -applications for handling compiled objects. libelf allows you to -access the internals of the ELF object file format, so you can see the -different sections of an ELF file. libebl provides some higher-level -ELF access functionality. libdwarf provides access to the DWARF -debugging information. libasm provides a programmable assembler +The elfutils-devel package contains the development part of libraries +to create applications for handling compiled objects. libelf allows +you to access the internals of the ELF object file format, so you can +see the different sections of an ELF file. libebl provides some +higher-level ELF access functionality. libdwarf provides access to the +DWARF debugging information. libasm provides a programmable assembler interface. +%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. -Group: Development/Tools +Summary: Library to read and write ELF files +Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF +Group: Libraries +#Obsoletes: libelf %description libelf The elfutils-libelf package provides a DSO which allows reading and -writing ELF files on a high level. Third party programs depend on -this package to read internals of ELF files. The programs of the -elfutils package use it also to generate new ELF files. +writing ELF files on a high level. Third party programs depend on this +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.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.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Obsoletes: libelf-static + +%description static +The elfutils-static package contains the static libraries to create +applications for handling compiled objects. libelf allows you to +access the internals of the ELF object file format, so you can see the +different sections of an ELF file. libebl provides some higher-level +ELF access functionality. libdwarf provides access to the DWARF +debugging information. libasm provides a programmable assembler +interface. + +%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 +programowalny interfejs asemblera. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 + +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 %build -mkdir build-%{_target_platform} -cd build-%{_target_platform} -../configure \ - --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \ - --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \ - --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \ - --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \ - --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \ - --infodir=%{_infodir} --program-prefix=%{_programprefix} --enable-shared -cd .. +#%%{__gettextize} +%{__aclocal} +%{__autoheader} +%{__autoconf} +%{__automake} +%configure \ + --program-prefix=%{_programprefix} \ + --enable-shared + +# make check depends on test-nlist not stripped +%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile + +# disable test failing on specific archs +%ifarch sparc sparc64 alpha +%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile +%endif + +%{__make} +%{__make} -C debian/man + +%if %{with tests} +# some tests rely on English messages +LC_ALL=C \ +%{__make} -C tests check +%endif %install -rm -rf ${RPM_BUILD_ROOT} -mkdir -p ${RPM_BUILD_ROOT}%{_prefix} - -cd build-%{_target_platform} -#make check -%makeinstall - -chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so* -chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so* - -cd .. - -# XXX Nuke unpackaged files -{ cd ${RPM_BUILD_ROOT} - rm -f .%{_bindir}/eu-ld - rm -f .%{_includedir}/elfutils/libasm.h - rm -f .%{_includedir}/elfutils/libdw.h - rm -f .%{_includedir}/elfutils/libdwarf.h - rm -f .%{_libdir}/libasm-%{version}.so - rm -f .%{_libdir}/libasm.a - rm -f .%{_libdir}/libdw-%{version}.so - rm -f .%{_libdir}/libdw.a - rm -f .%{_libdir}/libdwarf.a -} - -%check -cd build-%{_target_platform} -make check +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}} -%clean -rm -rf ${RPM_BUILD_ROOT} +# *OBJEXT must be passed to workaround problem with messed gettext, +# which doesn't like *-po dir names +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT \ + 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 -%post -p /sbin/ldconfig +/sbin/ldconfig -n -N $RPM_BUILD_ROOT%{_libdir} +/sbin/ldconfig -n -N $RPM_BUILD_ROOT/%{_lib} -%postun -p /sbin/ldconfig +%find_lang %{name} + +%clean +rm -rf $RPM_BUILD_ROOT -%post libelf -p /sbin/ldconfig +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig -%postun libelf -p /sbin/ldconfig +%post libelf -p /sbin/ldconfig +%postun libelf -p /sbin/ldconfig %files -%defattr(-,root,root) -%doc README TODO libdwarf/AVAILABLE -%{_bindir}/eu-elflint -#%{_bindir}/eu-ld -%{_bindir}/eu-nm -%{_bindir}/eu-readelf -%{_bindir}/eu-size -%{_bindir}/eu-strip -#%{_libdir}/libasm-%{version}.so -%{_libdir}/libebl-%{version}.so -#%{_libdir}/libdw-%{version}.so -%{_libdir}/libdwarf-%{version}.so -#%{_libdir}/libasm*.so.* -%{_libdir}/libebl*.so.* -#%{_libdir}/libdw*.so.* -%{_libdir}/libdwarf*.so.* +%defattr(644,root,root,755) +%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 -%{_libdir}/elfutils/lib*.so +%attr(755,root,root) %{_libdir}/elfutils/lib*.so +%{_mandir}/man1/*.1* %files devel -%defattr(-,root,root) -%{_includedir}/dwarf.h -%{_includedir}/libelf.h -%{_includedir}/gelf.h -%{_includedir}/nlist.h -%dir %{_includedir}/elfutils -%{_includedir}/elfutils/elf-knowledge.h -%{_includedir}/elfutils/libebl.h -#%{_libdir}/libasm.a +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libasm.so +%attr(755,root,root) %{_libdir}/libdw.so +%attr(755,root,root) %{_libdir}/libelf.so %{_libdir}/libebl.a -%{_libdir}/libelf.a -#%{_libdir}/libdw.a -#%{_libdir}/libasm.so -%{_libdir}/libebl.so -%{_libdir}/libelf.so -#%{_libdir}/libdw.so -#%{_libdir}/libdwarf.so - -%files libelf -%defattr(-,root,root) -%{_libdir}/libelf-%{version}.so -%{_libdir}/libelf*.so.* - -%changelog -* Mon Feb 24 2003 Elliot Lee -- debuginfo rebuild - -* Thu Feb 20 2003 Jeff Johnson 0.76-2 -- use the correct way of identifying the section via the sh_info link. - -* Sat Feb 15 2003 Jakub Jelinek 0.75-2 -- update to 0.75 (eu-strip -g fix) - -* Tue Feb 11 2003 Jakub Jelinek 0.74-2 -- update to 0.74 (fix for writing with some non-dirty sections) - -* Thu Feb 6 2003 Jeff Johnson 0.73-3 -- another -0.73 update (with sparc fixes). -- do "make check" in %%check, not %%install, section. - -* Mon Jan 27 2003 Jeff Johnson 0.73-2 -- update to 0.73 (with s390 fixes). - -* Wed Jan 22 2003 Tim Powers -- rebuilt - -* Wed Jan 22 2003 Jakub Jelinek 0.72-4 -- fix arguments to gelf_getsymshndx and elf_getshstrndx -- fix other warnings -- reenable checks on s390x +%{_includedir}/* -* Sat Jan 11 2003 Karsten Hopp 0.72-3 -- temporarily disable checks on s390x, until someone has - time to look at it +%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.* -* Thu Dec 12 2002 Jakub Jelinek 0.72-2 -- update to 0.72 - -* Wed Dec 11 2002 Jakub Jelinek 0.71-2 -- update to 0.71 - -* Wed Dec 11 2002 Jeff Johnson 0.69-4 -- update to 0.69. -- add "make check" and segfault avoidance patch. -- elfutils-libelf needs to run ldconfig. - -* Tue Dec 10 2002 Jeff Johnson 0.68-2 -- update to 0.68. - -* Fri Dec 6 2002 Jeff Johnson 0.67-2 -- update to 0.67. - -* Tue Dec 3 2002 Jeff Johnson 0.65-2 -- update to 0.65. - -* Mon Dec 2 2002 Jeff Johnson 0.64-2 -- update to 0.64. - -* Sun Dec 1 2002 Ulrich Drepper 0.64 -- split packages further into elfutils-libelf - -* Sat Nov 30 2002 Jeff Johnson 0.63-2 -- update to 0.63. - -* Fri Nov 29 2002 Ulrich Drepper 0.62 -- Adjust for dropping libtool - -* Sun Nov 24 2002 Jeff Johnson 0.59-2 -- update to 0.59 - -* Thu Nov 14 2002 Jeff Johnson 0.56-2 -- update to 0.56 - -* Thu Nov 7 2002 Jeff Johnson 0.54-2 -- update to 0.54 - -* Sun Oct 27 2002 Jeff Johnson 0.53-2 -- update to 0.53 -- drop x86_64 hack, ICE fixed in gcc-3.2-11. - -* Sat Oct 26 2002 Jeff Johnson 0.52-3 -- get beehive to punch a rhpkg generated package. - -* Wed Oct 23 2002 Jeff Johnson 0.52-2 -- build in 8.0.1. -- x86_64: avoid gcc-3.2 ICE on x86_64 for now. - -* Tue Oct 22 2002 Ulrich Drepper 0.52 -- Add libelf-devel to conflicts for elfutils-devel - -* Mon Oct 21 2002 Ulrich Drepper 0.50 -- Split into runtime and devel package - -* Fri Oct 18 2002 Ulrich Drepper 0.49 -- integrate into official sources - -* Wed Oct 16 2002 Jeff Johnson 0.46-1 -- Swaddle. +%files static +%defattr(644,root,root,755) +%{_libdir}/libasm.a +%{_libdir}/libdw.a +%{_libdir}/libelf.a