]> git.pld-linux.org Git - packages/elfutils.git/blobdiff - elfutils.spec
- updated to 0.178
[packages/elfutils.git] / elfutils.spec
index 4e4638c9693b671b81962f680ce6206f746f1a86..3395f118269de2e70b1e87fe661df63c88891586 100644 (file)
@@ -1,52 +1,57 @@
 #
 # Conditional build:
+%bcond_without debuginfod      # debuginfod server and client
 %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.130
+Version:       0.178
 Release:       1
-License:       GPL v2 with OSL linking exception
+License:       GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs)
 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: 8111e6ea9f237567cbe086fb10c29fa1
+Source0:       https://sourceware.org/elfutils/ftp/%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 5480d0b7174446aba13a6adde107287f
 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
-Patch11:       %{name}-fixes.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
+Patch2:                %{name}-awk.patch
+Patch3:                %{name}-align.patch
+Patch4:                %{name}-paxflags.patch
+Patch5:                %{name}-sparc.patch
+Patch6:                %{name}-cxx.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: 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
+%if %{with debuginfod}
+BuildRequires: curl-devel >= 7.29.0
+BuildRequires: libarchive-devel >= 3.1.2
+BuildRequires: libmicrohttpd-devel >= 0.9.33
+BuildRequires: sqlite3-devel >= 3.7.17
+%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.*
+%if %{with tests} && 0%(echo %{rpmcflags} | grep -q '\<-g' ; echo $?)
+# tests require debug symbols
+%define                specflags       -g
+%endif
 
 %define                programprefix   eu-
 
@@ -73,25 +78,26 @@ 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}
+Requires:      bzip2-devel
+Requires:      xz-devel
+Requires:      zlib-devel
 Obsoletes:     libelf-devel
 
 %description devel
 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.
+see the different sections of an ELF file. libdw 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.
+oglądanie różnych sekcji pliku ELF. libdw 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
@@ -122,8 +128,7 @@ Obsoletes:  libelf-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
+different sections of an ELF file. libdw provides access to the DWARF
 debugging information. libasm provides a programmable assembler
 interface.
 
@@ -131,10 +136,42 @@ interface.
 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.
+różnych sekcji pliku ELF. libdw pozwala na dostęp do informacji DWARF
+służących do odpluskwiania. libasm udostępnia programowalny interfejs
+asemblera.
+
+%package debuginfod
+Summary:       debuginfod library, server and client
+Summary(pl.UTF-8):     Biblioteka, serwer i klient debuginfod
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+%if %{with debuginfod}
+# for library
+Requires:      curl-libs >= 7.29.0
+# the rest for server
+Requires:      libarchive >= 3.1.2
+Requires:      libmicrohttpd >= 0.9.33
+Requires:      sqlite3 >= 3.7.17
+%endif
+
+%description debuginfod
+debuginfod library, server and client.
+
+%description debuginfod -l pl.UTF-8
+Biblioteka, serwer i klient debuginfod.
+
+%package debuginfod-devel
+Summary:       Header file for debuginfod library
+Summary(pl.UTF-8):     Plik nagłówkowy biblioteki debuginfod
+Group:         Development/Libraries
+Requires:      %{name}-debuginfod = %{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description debuginfod-devel
+Header file for debuginfod library.
+
+%description debuginfod-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki debuginfod.
 
 %prep
 %setup -q
@@ -145,31 +182,29 @@ programowalny interfejs asemblera.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p0
 
-rm -f po/stamp-po
+%{__rm} 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 failing tests (depending on arch)
+%ifarch x32
+%{__sed} -i -e 's/run-backtrace-native-biarch.sh//' tests/Makefile.am
+%endif
 
-# temporarily disable test failing on specific archs
-%ifarch alpha sparc sparc64
-%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
+# 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
 #%%{__gettextize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoheader}
 %{__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
@@ -187,22 +222,14 @@ LC_ALL=C \
 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
-
-/sbin/ldconfig -n -N $RPM_BUILD_ROOT%{_libdir}
-/sbin/ldconfig -n -N $RPM_BUILD_ROOT/%{_lib}
+%{__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}
 
@@ -215,33 +242,66 @@ rm -rf $RPM_BUILD_ROOT
 %post  libelf -p /sbin/ldconfig
 %postun        libelf -p /sbin/ldconfig
 
+%post  debuginfod -p /sbin/ldconfig
+%postun        debuginfod -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS EXCEPTION 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
-%ghost %attr(755,root,root) %{_libdir}/libasm.so.*
+%attr(755,root,root) %ghost %{_libdir}/libasm.so.1
 %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*
+%attr(755,root,root) %ghost %{_libdir}/libdw.so.1
+%{_mandir}/man1/eu-*.1*
 
 %files devel
 %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
-%{_includedir}/*
+%{_includedir}/dwarf.h
+%{_includedir}/gelf.h
+%{_includedir}/libelf.h
+%{_includedir}/nlist.h
+%dir %{_includedir}/elfutils
+%{_includedir}/elfutils/elf-knowledge.h
+%{_includedir}/elfutils/known-dwarf.h
+%{_includedir}/elfutils/libasm.h
+%{_includedir}/elfutils/libdw.h
+%{_includedir}/elfutils/libdwelf.h
+%{_includedir}/elfutils/libdwfl.h
+%{_includedir}/elfutils/version.h
+%{_pkgconfigdir}/libdw.pc
+%{_pkgconfigdir}/libelf.pc
+%{_mandir}/man3/elf_begin.3*
+%{_mandir}/man3/elf_clone.3*
+%{_mandir}/man3/elf_getdata.3*
+%{_mandir}/man3/elf_update.3*
 
 %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.*
+%attr(755,root,root) %ghost /%{_lib}/libelf.so.1
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libasm.a
 %{_libdir}/libdw.a
 %{_libdir}/libelf.a
+
+%files debuginfod
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libdebuginfod-*.so
+%attr(755,root,root) %ghost %{_libdir}/libdebuginfod.so.1
+%attr(755,root,root) %{_bindir}/debuginfod
+%attr(755,root,root) %{_bindir}/debuginfod-find
+%{_mandir}/man1/debuginfod-find.1*
+%{_mandir}/man8/debuginfod.8*
+
+%files debuginfod-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libdebuginfod.so
+%{_includedir}/elfutils/debuginfod.h
+%{_pkgconfigdir}/libdebuginfod.pc
+%{_mandir}/man3/debuginfod_*.3*
This page took 0.191434 seconds and 4 git commands to generate.