]> git.pld-linux.org Git - packages/elfutils.git/blobdiff - elfutils.spec
- rel 1
[packages/elfutils.git] / elfutils.spec
index 1862c420fb937f0077bfa113b27e440997c15380..47df0fd04048b138518ae174775cd363036c1940 100644 (file)
@@ -1,19 +1,51 @@
+#
+# 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
+Summary(pl.UTF-8):     Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
 Name:          elfutils
-Version:       0.76
-Release:       7
-License:       GPL
+Version:       0.177
+Release:       1
+License:       GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs)
 Group:         Development/Tools
-Source0:       %{name}-%{version}.tar.gz
-#URL:          file://home/devel/drepper
-BuildRequires: gcc >= 3.2
+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}-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.315
 BuildRequires: sharutils
-BuildRequires:  libltdl-devel
-Requires:      elfutils-libelf = %{version}-%{release}
+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
@@ -24,21 +56,24 @@ 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
-Requires:      elfutils = %{version}-%{release}
 
 %description devel
 The elfutils-devel package contains the development part of libraries
@@ -49,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
 
@@ -70,18 +105,18 @@ 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
-Requires:      elfutils-devel = %{version}-%{release}
 
 %description static
 The elfutils-static package contains the static libraries to create
@@ -92,42 +127,76 @@ 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
 %setup -q
+%patch0 -p1
+%patch1 -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
+
+# make sure this is not even tried on arch it has no chance to run
+%ifarch %{ix86}
+%{__sed} -i -e 's/run-disasm-x86-64.sh//' tests/Makefile.am
+%endif
 
 %build
-%{__aclocal}
+#%%{__gettextize}
+%{__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}
+# some tests rely on English messages
+LC_ALL=C \
+%{__make} -C tests check
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d ${RPM_BUILD_ROOT}%{_prefix}
+install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
-chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so*
+install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
 
-#%%check
-#make check
+%{__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 %{name}
 
 %clean
-rm -rf ${RPM_BUILD_ROOT}
+rm -rf $RPM_BUILD_ROOT
 
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
@@ -137,24 +206,37 @@ rm -rf ${RPM_BUILD_ROOT}
 
 %files
 %defattr(644,root,root,755)
-%doc README TODO
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/lib*-*.so
+%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
-%exclude %{_libdir}/libelf-*.so
+%{_mandir}/man1/eu-*.1*
 
 %files devel
 %defattr(644,root,root,755)
-%doc libdwarf/AVAILABLE
-%{_includedir}/*
-%{_libdir}/lib*.so
-%exclude %{_libdir}/lib*-*.so
-
-%files libelf
+%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}/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) %{_libdir}/libelf-*.so
+%attr(755,root,root) /%{_lib}/libelf-*.so
+%attr(755,root,root) %ghost /%{_lib}/libelf.so.1
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libasm.a
+%{_libdir}/libdw.a
+%{_libdir}/libelf.a
This page took 0.182161 seconds and 4 git commands to generate.