X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=elfutils.spec;h=742eb1898d825c1708bbfcfdafea45c0ca4dbd6d;hb=b08c2bc;hp=ddbd7a4e167ee19d4f82c4f162b9d8f93ec28f64;hpb=91d77480b964034befcf2e0421c623e40db56236;p=packages%2Felfutils.git diff --git a/elfutils.spec b/elfutils.spec index ddbd7a4..742eb18 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -3,42 +3,49 @@ %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 -Release: 1 -License: OSL 1.0 (http://www.opensource.org/licenses/osl.php) +Version: 0.177 +Release: 0.1 +License: GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs) Group: Development/Tools -# 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: 57b9e4ab3b9fb597a72badf26f7f9bdc +Source0: https://sourceware.org/elfutils/ftp/%{version}/%{name}-%{version}.tar.bz2 +# Source0-md5: 0b583722f911e1632544718d502aab87 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 -#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 +Patch2: %{name}-awk.patch +Patch3: %{name}-align.patch +Patch4: %{name}-paxflags.patch +Patch5: %{name}-sparc.patch +URL: https://sourceware.org/elfutils/ +BuildRequires: autoconf >= 2.63 +BuildRequires: automake >= 1:1.11 +BuildRequires: bzip2-devel +BuildRequires: gawk +BuildRequires: gcc >= 6:4.3 +BuildRequires: gettext-tools +BuildRequires: glibc-devel >= 6:2.7 +BuildRequires: libstdc++-devel BuildRequires: perl-tools-pod -BuildRequires: rpmbuild(macros) >= 1.213 +BuildRequires: rpmbuild(macros) >= 1.315 BuildRequires: sharutils +BuildRequires: xz-devel +BuildRequires: zlib-devel +%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.* +%if %{with tests} && 0%(echo %{rpmcflags} | grep -q '\<-g' ; echo $?) +# tests require debug symbols +%define specflags -g +%endif + +%define programprefix eu- %description Elfutils is a collection of utilities, including ld (a linker), nm @@ -49,20 +56,23 @@ for well-formed ELF files). Also included are numerous helper 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} +Requires: bzip2-devel +Requires: xz-devel +Requires: zlib-devel Obsoletes: libelf-devel %description devel @@ -74,18 +84,18 @@ higher-level ELF access functionality. libdwarf provides access to the 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 @@ -95,15 +105,15 @@ 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 -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 @@ -117,13 +127,13 @@ ELF access functionality. libdwarf provides access to the DWARF 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 @@ -134,29 +144,34 @@ programowalny interfejs asemblera. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch7 -p1 + +%{__rm} po/stamp-po + +# temporarily disable failing tests (depending on arch) +%ifarch x32 +%{__sed} -i -e 's/run-backtrace-native-biarch.sh//' tests/Makefile.am +%endif %build #%%{__gettextize} -%{__aclocal} +%{__aclocal} -I m4 %{__autoheader} -%{__automake} %{__autoconf} - +%{__automake} %configure \ - --program-prefix=%{_programprefix} \ - --enable-shared + --disable-silent-rules \ + --disable-werror \ + --program-prefix=%{programprefix} # 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 \ +# some tests rely on English messages +LC_ALL=C \ %{__make} -C tests check %endif @@ -164,21 +179,15 @@ LD_LIBRARY_PATH=../libasm:../libdw:../libebl:../libelf \ rm -rf $RPM_BUILD_ROOT 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 \ - MKINSTALLDIRS=$(pwd)/config/mkinstalldirs \ - CATOBJEXT=.gmo \ - INSTOBJEXT=.mo + DESTDIR=$RPM_BUILD_ROOT 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 +%{__mv} $RPM_BUILD_ROOT%{_libdir}/{libelf-*.so,libelf.so.*} $RPM_BUILD_ROOT/%{_lib} +ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelf-*.so) \ + $RPM_BUILD_ROOT%{_libdir}/libelf.so -%find_lang libelf %find_lang %{name} %clean @@ -190,15 +199,17 @@ rm -rf $RPM_BUILD_ROOT %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 -%attr(755,root,root) %{_bindir}/* +%doc AUTHORS CONTRIBUTING ChangeLog NEWS NOTES README THANKS TODO +%attr(755,root,root) %{_bindir}/eu-* %attr(755,root,root) %{_libdir}/libasm-*.so +%attr(755,root,root) %ghost %{_libdir}/libasm.so.1 %attr(755,root,root) %{_libdir}/libdw-*.so +%attr(755,root,root) %ghost %{_libdir}/libdw.so.1 %dir %{_libdir}/elfutils %attr(755,root,root) %{_libdir}/elfutils/lib*.so -%{_mandir}/man1/*.1* +%{_mandir}/man1/eu-*.1* %files devel %defattr(644,root,root,755) @@ -206,11 +217,18 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libdw.so %attr(755,root,root) %{_libdir}/libelf.so %{_libdir}/libebl.a -%{_includedir}/* - -%files libelf -f libelf.lang +%{_includedir}/elfutils +%{_includedir}/dwarf.h +%{_includedir}/gelf.h +%{_includedir}/libelf.h +%{_includedir}/nlist.h +%{_pkgconfigdir}/libdw.pc +%{_pkgconfigdir}/libelf.pc + +%files libelf -f %{name}.lang %defattr(644,root,root,755) %attr(755,root,root) /%{_lib}/libelf-*.so +%attr(755,root,root) %ghost /%{_lib}/libelf.so.1 %files static %defattr(644,root,root,755)