]> git.pld-linux.org Git - packages/elfutils.git/blobdiff - elfutils.spec
- up to 0.177
[packages/elfutils.git] / elfutils.spec
index c3c862efc1efca6a034902fc6040185fd4d9f919..742eb1898d825c1708bbfcfdafea45c0ca4dbd6d 100644 (file)
@@ -3,38 +3,49 @@
 %bcond_without tests   # do not perform tests
 #
 Summary:       A collection of utilities and DSOs to handle compiled objects
 %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
 Name:          elfutils
-Version:       0.108
-Release:       2
-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
 Group:         Development/Tools
-# http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/SRPMS/
-Source0:       %{name}-%{version}.tar.gz
-# Source0-md5: fd318a634c8f67c7ac8a975f16965cc3
+Source0:       https://sourceware.org/elfutils/ftp/%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 0b583722f911e1632544718d502aab87
 Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-debian-manpages.patch
 Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-debian-manpages.patch
-Patch2:                %{name}-portability.patch
-Patch3:                %{name}-bswap.patch
-Patch4:                %{name}-robustify.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 <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
+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: perl-tools-pod
-BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: rpmbuild(macros) >= 1.315
 BuildRequires: sharutils
 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)
 
 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
 
 %description
 Elfutils is a collection of utilities, including ld (a linker), nm
@@ -45,20 +56,23 @@ for well-formed ELF files). Also included are numerous helper
 libraries which implement DWARF, ELF, and machine-specific ELF
 handling.
 
 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
 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}
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
+Requires:      bzip2-devel
+Requires:      xz-devel
+Requires:      zlib-devel
 Obsoletes:     libelf-devel
 
 %description devel
 Obsoletes:     libelf-devel
 
 %description devel
@@ -70,18 +84,18 @@ higher-level ELF access functionality. libdwarf provides access to the
 DWARF debugging information. libasm provides a programmable assembler
 interface.
 
 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
 
 %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
 
 Group:         Libraries
 #Obsoletes:    libelf
 
@@ -91,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.
 
 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
 
 %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
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Obsoletes:     libelf-static
@@ -113,13 +127,13 @@ ELF access functionality. libdwarf provides access to the DWARF
 debugging information. libasm provides a programmable assembler
 interface.
 
 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
 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
 programowalny interfejs asemblera.
 
 %prep
@@ -129,31 +143,35 @@ programowalny interfejs asemblera.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -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}
 
 %build
 #%%{__gettextize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoheader}
 %{__autoheader}
-%{__automake}
 %{__autoconf}
 %{__autoconf}
-
-# Turn off optimization on sparc to avoid Bus error with some tests
-%ifarch sparc
-CFLAGS="%{rpmcflags} -O0" ; export CFLAGS
-%endif
+%{__automake}
 %configure \
 %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
 
 # 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}
 %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
 
 %{__make} -C tests check
 %endif
 
@@ -161,21 +179,15 @@ LD_LIBRARY_PATH=../libasm:../libdw:../libebl:../libelf \
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
 
 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 \
 %{__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
 
 
 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
 %find_lang %{name}
 
 %clean
@@ -187,28 +199,36 @@ rm -rf $RPM_BUILD_ROOT
 %post  libelf -p /sbin/ldconfig
 %postun        libelf -p /sbin/ldconfig
 
 %post  libelf -p /sbin/ldconfig
 %postun        libelf -p /sbin/ldconfig
 
-%files -f %{name}.lang
+%files
 %defattr(644,root,root,755)
 %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) %{_libdir}/libasm-*.so
+%attr(755,root,root) %ghost %{_libdir}/libasm.so.1
 %attr(755,root,root) %{_libdir}/libdw-*.so
 %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
 %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)
 
 %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
 %{_libdir}/libebl.a
 %attr(755,root,root) %{_libdir}/libasm.so
 %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
 %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)
 
 %files static
 %defattr(644,root,root,755)
This page took 0.05731 seconds and 4 git commands to generate.