From 1d8cbb5168973c5a015d60cdbb10a4f90222af53f36ebf2200ffc30ea81e8e54 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 2 Dec 2019 08:21:38 +0000 Subject: [PATCH 01/11] Accepting request 752710 from home:marxin:branches:Base:System-new - Update to version 0.178: debuginfod: New server, client tool and library to index and fetch ELF/DWARF files addressed by build-id through HTTP. doc: There are now some manual pages for functions and tools. backends: The libebl libraries are no longer dynamically loaded through dlopen, but are now compiled into libdw.so directly. readelf: -n, --notes now takes an optional "SECTION" argument. -p and -x now also handle section numbers. New option --dyn-sym to show just the dynamic symbol table. libcpu: Add RISC-V disassembler. libdw: Abbrevs and DIEs can now be read concurrently by multiple threads through the same Dwarf handle. libdwfl: Will try to use debuginfod when installed as fallback to retrieve ELF and DWARF debug data files by build-id. - remove dwelf_elf_e_machine_string.patch. - remove unused libebl-plugins and libebl-devel subpackages - new subpackages debuginfod-client, debuginfod-client-devel and debuginfod added - main package binaries are explicitely listed and man pages for the binaries are included OBS-URL: https://build.opensuse.org/request/show/752710 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=140 --- baselibs.conf | 7 -- dwelf_elf_e_machine_string.patch | 12 --- elfutils-0.177.tar.bz2 | 3 - elfutils-0.177.tar.bz2.sig | Bin 310 -> 0 bytes elfutils-0.178.tar.bz2 | 3 + elfutils-0.178.tar.bz2.sig | Bin 0 -> 310 bytes elfutils.changes | 30 +++++++ elfutils.spec | 145 ++++++++++++++++++++++--------- 8 files changed, 136 insertions(+), 64 deletions(-) delete mode 100644 dwelf_elf_e_machine_string.patch delete mode 100644 elfutils-0.177.tar.bz2 delete mode 100644 elfutils-0.177.tar.bz2.sig create mode 100644 elfutils-0.178.tar.bz2 create mode 100644 elfutils-0.178.tar.bz2.sig diff --git a/baselibs.conf b/baselibs.conf index d1321ac..c943b01 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,11 +1,4 @@ libasm1 -libebl-plugins - obsoletes "libebl- < " - provides "libebl- = " - obsoletes "libebl1- < " - provides "libebl1- = " -libelf1 - requires "libebl-plugins- = " libdw1 libelf-devel requires -libelf- diff --git a/dwelf_elf_e_machine_string.patch b/dwelf_elf_e_machine_string.patch deleted file mode 100644 index ecb43aa..0000000 --- a/dwelf_elf_e_machine_string.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: elfutils-0.177/tests/dwelf_elf_e_machine_string.c -=================================================================== ---- elfutils-0.177.orig/tests/dwelf_elf_e_machine_string.c -+++ elfutils-0.177/tests/dwelf_elf_e_machine_string.c -@@ -40,6 +40,7 @@ main (int argc, char **argv) - int em; - const char *machine; - -+ errno = 0; - if (strncmp ("0x", argv[i], 2) == 0) - val = strtol (&argv[i][2], NULL, 16); - else diff --git a/elfutils-0.177.tar.bz2 b/elfutils-0.177.tar.bz2 deleted file mode 100644 index a5f14c6..0000000 --- a/elfutils-0.177.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e -size 8852413 diff --git a/elfutils-0.177.tar.bz2.sig b/elfutils-0.177.tar.bz2.sig deleted file mode 100644 index eb60628519473ed6b477eb6b4b60d18272e8dd801dbedfd25beaac9f3404cddc..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}0W$;u0SEvc79j)@c8ZpHS&$HV4KLsPSL4jA*_wC-0$o$y#Q+Kk5d2r; z%&gg(c()A)|9UN_tiiEX9peM1fuliFEPh8|AxI>>Hq$y6rQRi1#$;6h66c4={~YwC znopU1M{S>0B}19{!Pss4&FyoRlFr;+2H))&{tQkcth`HmNT4FIuc~KpbjtAT>Pg|^ zIV|ObTiNClAE&C_PifrRG)J+-x{I!SAd11?kGA^J(jNR$mjS34C(|fEj+sR;l#cd? z*-^-PunsOBtN>LyZ}*0@NH7|LPATim8GvOQ9UQ0}s#uX%Bo=jgI=-U_)SKtveqxY_qwC&n8!O5d2r; z%&gg(cs{5H{y%(2hAYY99X_kqFz@9hqDkql2SgkkD_6F7L7_JKdRSo{PLx%6JHvpc z=Amkxkg|T1h2K|?;~>n%y&qEPYP`cQw{L5{nZwttQfrUf;06gMHzlRJ@lkrAawjOX zw+8_Rq%!(NODiH3chdh+gIN%>M8E$=aIw|GxWPtd=jrLmT>u>${5My=giw4P>h)!S z4o$RL>I7k;59Hnqgii){0_xxhXdXCeZx89&u#&E&M3nIBn7gu#ytHjfmouANqC}T) zJf5d{rxF34O~~~I$YABmSe}Me>Hp15`LzuR!@FQBk8S>%3}}Pccr8 + +- Update to version 0.178: + + debuginfod: New server, client tool and library to index and fetch + ELF/DWARF files addressed by build-id through HTTP. + + doc: There are now some manual pages for functions and tools. + + backends: The libebl libraries are no longer dynamically loaded through + dlopen, but are now compiled into libdw.so directly. + + readelf: -n, --notes now takes an optional "SECTION" argument. + -p and -x now also handle section numbers. + New option --dyn-sym to show just the dynamic symbol table. + + libcpu: Add RISC-V disassembler. + + libdw: Abbrevs and DIEs can now be read concurrently by multiple + threads through the same Dwarf handle. + + libdwfl: Will try to use debuginfod when installed as fallback to + retrieve ELF and DWARF debug data files by build-id. +- remove dwelf_elf_e_machine_string.patch. +- remove unused libebl-plugins and libebl-devel subpackages +- new subpackages debuginfod-client, debuginfod-client-devel and + debuginfod added +- main package binaries are explicitely listed and man pages + for the binaries are included + ------------------------------------------------------------------- Thu Nov 14 15:19:43 UTC 2019 - Andreas Schwab diff --git a/elfutils.spec b/elfutils.spec index 696f0c1..bcc0383 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -1,7 +1,7 @@ # # spec file for package elfutils # -# Copyright (c) 2019 SUSE LLC. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: elfutils -Version: 0.177 +Version: 0.178 Release: 0 Summary: Higher-level library to access ELF files License: GPL-3.0-or-later @@ -31,15 +31,23 @@ Source1: README-BEFORE-ADDING-PATCHES Source2: baselibs.conf Source3: %{name}.changes Source5: %{name}.keyring -Patch1: dwelf_elf_e_machine_string.patch Patch2: cfi-fix.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex +BuildRequires: gcc-c++ BuildRequires: libbz2-devel BuildRequires: xz-devel BuildRequires: zlib-devel +# For debuginfod +BuildRequires: pkgconfig(libarchive) >= 3.1.2 +BuildRequires: pkgconfig(libcurl) >= 7.29.0 +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +BuildRequires: pkgconfig(sqlite3) >= 3.7.17 +# For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss +BuildRequires: curl +BuildRequires: iproute %description elfutils is a collection of utilities and libraries to read, create @@ -65,33 +73,9 @@ Requires: libasm1 = %{version} This package contains the headers and libraries needed to build applications that require libasm. -%package -n libebl-plugins -Summary: Architecture backends for libebl -Group: System/Libraries -Provides: libebl = %{version}-%{release} -Obsoletes: libebl < %{version}-%{release} -Provides: libebl1 = %{version}-%{release} -Obsoletes: libebl1 < %{version}-%{release} - -%description -n libebl-plugins -This subpackage contains the plugins to read architecture-specific -debug info. This is part of the elfutils package. - -%package -n libebl-devel -Summary: Development files for libebl and for EBL plugins -Group: Development/Libraries/C and C++ -Requires: glibc-devel -Requires: libdw-devel = %{version} - -%description -n libebl-devel -This package contains the headers and libraries needed to build -applications that require libebl, or to build additional EBL -architecutre backend plugins. - %package -n libelf1 Summary: Library to read and write ELF files Group: System/Libraries -Requires: libebl-plugins = %{version} %description -n libelf1 This package provides a high-level library to read and write ELF files. @@ -127,11 +111,41 @@ Requires: libelf-devel = %{version} This package contains the headers and libraries needed to build applications that require libdw. +%package -n debuginfod-client +Summary: Library and command line client for build-id HTTP ELF/DWARF server +Group: Development/Tools/Building + +%description -n debuginfod-client +The elfutils-debuginfod-client package contains shared libraries +dynamically loaded from -ldw, which use a debuginfod service +to look up debuginfo and associated data. Also includes a +command-line frontend. + +%package -n debuginfod-client-devel +Summary: Libraries and headers to build debuginfod client applications +Group: Development/Libraries/C and C++ + +%description -n debuginfod-client-devel +The elfutils-debuginfod-client-devel package contains the libraries +to create applications to use the debuginfod service. + +%package -n debuginfod +Summary: HTTP ELF/DWARF file server addressed by build-id +Group: Development/Tools/Building +BuildRequires: pkgconfig(systemd) +%{?systemd_requires} + +%description -n debuginfod +The elfutils-debuginfod package contains the debuginfod binary +and control files for a service that can provide ELF/DWARF +files to remote clients, based on build-id identification. +The ELF/DWARF file searching functions in libdwfl can query +such servers to download those files on demand. + %lang_package %prep %setup -q -%patch1 -p1 %patch2 -p1 %build @@ -165,17 +179,19 @@ rm -f %{buildroot}/%{_libdir}/*.la ls -lR %{buildroot}/%{_libdir}/libelf* %find_lang %{name} +install -Dm0644 config/debuginfod.service ${RPM_BUILD_ROOT}%{_unitdir}/debuginfod.service +install -Dm0644 config/debuginfod.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/debuginfod +mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod +touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite + %post -n libasm1 -p /sbin/ldconfig - %post -n libelf1 -p /sbin/ldconfig - %post -n libdw1 -p /sbin/ldconfig - +%post -n debuginfod-client -p /sbin/ldconfig %postun -n libasm1 -p /sbin/ldconfig - %postun -n libelf1 -p /sbin/ldconfig - %postun -n libdw1 -p /sbin/ldconfig +%postun -n debuginfod-client -p /sbin/ldconfig %check %if 0%{?qemu_user_space_build} @@ -187,7 +203,24 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files %license COPYING %doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO -%{_bindir}/* +%{_bindir}/eu-addr2line +%{_bindir}/eu-ar +%{_bindir}/eu-elfclassify +%{_bindir}/eu-elfcmp +%{_bindir}/eu-elfcompress +%{_bindir}/eu-elflint +%{_bindir}/eu-findtextrel +%{_bindir}/eu-make-debug-archive +%{_bindir}/eu-nm +%{_bindir}/eu-objdump +%{_bindir}/eu-ranlib +%{_bindir}/eu-readelf +%{_bindir}/eu-size +%{_bindir}/eu-stack +%{_bindir}/eu-strings +%{_bindir}/eu-strip +%{_bindir}/eu-unstrip +%{_mandir}/man1/eu-*.1* %files -n libasm1 %{_libdir}/libasm.so.* @@ -199,14 +232,6 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %dir %{_includedir}/elfutils %{_includedir}/elfutils/libasm.h -%files -n libebl-plugins -%{_libdir}/elfutils - -%files -n libebl-devel -%{_libdir}/libebl.a -%dir %{_includedir}/elfutils -%{_includedir}/elfutils/libebl.h - %files -n libelf1 %{_libdir}/libelf.so.* %{_libdir}/libelf-%{version}.so @@ -221,6 +246,7 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %{_includedir}/elfutils/elf-knowledge.h %{_includedir}/elfutils/version.h %{_libdir}/pkgconfig/libelf.pc +%{_mandir}/man3/elf_*.3* %files -n libdw1 %{_libdir}/libdw.so.* @@ -239,4 +265,39 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files lang -f %{name}.lang +%files -n debuginfod-client +%{_libdir}/libdebuginfod-%{version}.so +%{_bindir}/debuginfod-find +%{_mandir}/man1/debuginfod-find.1* + +%files -n debuginfod-client-devel +%{_libdir}/pkgconfig/libdebuginfod.pc +%{_mandir}/man3/debuginfod_*.3* +%{_includedir}/elfutils/debuginfod.h +%{_libdir}/libdebuginfod.so* + +%files -n debuginfod +%{_bindir}/debuginfod +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/debuginfod +%{_unitdir}/debuginfod.service +%{_mandir}/man8/debuginfod.8* +%{_sysconfdir}/sysconfig/debuginfod + +%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod +%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite + +%pre -n debuginfod +getent group debuginfod >/dev/null || %{_sbindir}/groupadd -r debuginfod +getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d /var/cache/debuginfod -s /bin/false -c "elfutils debuginfo server" debuginfod +%service_add_pre debuginfod.service + +%post -n debuginfod +%service_add_post debuginfod.service + +%preun -n debuginfod +%service_del_preun debuginfod.service + +%postun -n debuginfod +%service_del_postun debuginfod.service + %changelog From ccf69e69697cf2176e35c4c61e4865b151c5db8f4968e039b7f9b2f1b3f4a94c Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 5 Dec 2019 10:55:42 +0000 Subject: [PATCH 02/11] Accepting request 751253 from home:marxin:branches:Base:System - Add remove-run-large-elf-file.sh.patch in order to remove running run-large-elf-file.sh (it hit OOM). OBS-URL: https://build.opensuse.org/request/show/751253 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=141 --- elfutils.changes | 6 +++ elfutils.spec | 2 + remove-run-large-elf-file.sh.patch | 68 ++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 remove-run-large-elf-file.sh.patch diff --git a/elfutils.changes b/elfutils.changes index ee3dc5c..428aac4 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -28,6 +28,12 @@ Fri Nov 29 16:01:36 UTC 2019 - Martin Liška - main package binaries are explicitely listed and man pages for the binaries are included +------------------------------------------------------------------- +Wed Nov 27 10:07:05 UTC 2019 - Martin Liška + +- Add remove-run-large-elf-file.sh.patch in order to remove + running run-large-elf-file.sh (it hit OOM). + ------------------------------------------------------------------- Thu Nov 14 15:19:43 UTC 2019 - Andreas Schwab diff --git a/elfutils.spec b/elfutils.spec index bcc0383..9a9fdf3 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -32,6 +32,7 @@ Source2: baselibs.conf Source3: %{name}.changes Source5: %{name}.keyring Patch2: cfi-fix.patch +Patch3: remove-run-large-elf-file.sh.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison @@ -147,6 +148,7 @@ such servers to download those files on demand. %prep %setup -q %patch2 -p1 +%patch3 -p1 %build %define _lto_cflags %{nil} diff --git a/remove-run-large-elf-file.sh.patch b/remove-run-large-elf-file.sh.patch new file mode 100644 index 0000000..140928e --- /dev/null +++ b/remove-run-large-elf-file.sh.patch @@ -0,0 +1,68 @@ +From e2b5eedefa1ed6a713a08e683eaaa5ae004492c3 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Wed, 27 Nov 2019 10:30:58 +0100 +Subject: [PATCH] Remove run-large-elf-file.sh test as it fails due to OOM. + +--- + tests/Makefile.am | 2 -- + tests/Makefile.in | 10 +--------- + 2 files changed, 1 insertion(+), 11 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 2ff7dfc..7cdbafc 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -84,7 +84,6 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ + run-next-files.sh run-next-lines.sh \ + run-get-pubnames.sh run-get-aranges.sh run-allfcts.sh \ + run-show-abbrev.sh run-line2addr.sh hash \ +- run-large-elf-file.sh \ + newscn run-strip-test.sh run-strip-test2.sh \ + run-strip-test3.sh run-strip-test4.sh run-strip-test5.sh \ + run-strip-test6.sh run-strip-test7.sh run-strip-test8.sh \ +@@ -427,7 +426,6 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \ + testfile-riscv64-core.bz2 \ + run-reverse-sections.sh run-reverse-sections-self.sh \ + run-copyadd-sections.sh run-copymany-sections.sh \ +- run-large-elf-file.sh \ + run-typeiter-many.sh run-strip-test-many.sh \ + testfile-debug-rel-ppc64-g.o.bz2 \ + testfile-debug-rel-ppc64-z.o.bz2 \ +diff --git a/tests/Makefile.in b/tests/Makefile.in +index 258dd64..fe9641f 100644 +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -141,7 +141,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile$(EXEEXT) \ + run-get-files.sh run-get-lines.sh run-next-files.sh \ + run-next-lines.sh run-get-pubnames.sh run-get-aranges.sh \ + run-allfcts.sh run-show-abbrev.sh run-line2addr.sh \ +- hash$(EXEEXT) run-large-elf-file.sh newscn$(EXEEXT) \ ++ hash$(EXEEXT) newscn$(EXEEXT) \ + run-strip-test.sh run-strip-test2.sh run-strip-test3.sh \ + run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \ + run-strip-test7.sh run-strip-test8.sh run-strip-test9.sh \ +@@ -1423,7 +1423,6 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \ + testfile-riscv64-core.bz2 \ + run-reverse-sections.sh run-reverse-sections-self.sh \ + run-copyadd-sections.sh run-copymany-sections.sh \ +- run-large-elf-file.sh \ + run-typeiter-many.sh run-strip-test-many.sh \ + testfile-debug-rel-ppc64-g.o.bz2 \ + testfile-debug-rel-ppc64-z.o.bz2 \ +@@ -2581,13 +2580,6 @@ hash.log: hash$(EXEEXT) + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +-run-large-elf-file.sh.log: run-large-elf-file.sh +- @p='run-large-elf-file.sh'; \ +- b='run-large-elf-file.sh'; \ +- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ +- --log-file $$b.log --trs-file $$b.trs \ +- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ +- "$$tst" $(AM_TESTS_FD_REDIRECT) + newscn.log: newscn$(EXEEXT) + @p='newscn$(EXEEXT)'; \ + b='newscn'; \ +-- +2.24.0 + From df1ae767318ec6215b72b83a780ae70798894d87cf1f4f2f561eebc94fb4dbce Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 7 Jan 2020 09:54:59 +0000 Subject: [PATCH 03/11] Accepting request 755179 from home:marxin:branches:Base:System - Use %fillupdir macros for proper sysconfig export. OBS-URL: https://build.opensuse.org/request/show/755179 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=142 --- elfutils.changes | 5 +++++ elfutils.spec | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/elfutils.changes b/elfutils.changes index 428aac4..7f0d7e2 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 9 09:33:40 UTC 2019 - Martin Liška + +- Use %fillupdir macros for proper sysconfig export. + Fri Nov 29 16:01:36 UTC 2019 - Martin Liška - Update to version 0.178: diff --git a/elfutils.spec b/elfutils.spec index 9a9fdf3..234a1f6 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -134,6 +134,8 @@ to create applications to use the debuginfod service. Summary: HTTP ELF/DWARF file server addressed by build-id Group: Development/Tools/Building BuildRequires: pkgconfig(systemd) +Requires: sysconfig +Requires(post): %fillup_prereq %{?systemd_requires} %description -n debuginfod @@ -182,7 +184,9 @@ ls -lR %{buildroot}/%{_libdir}/libelf* %find_lang %{name} install -Dm0644 config/debuginfod.service ${RPM_BUILD_ROOT}%{_unitdir}/debuginfod.service -install -Dm0644 config/debuginfod.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/debuginfod +install -d -m 755 %{buildroot}%{_fillupdir} +cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod + mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite @@ -280,10 +284,9 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files -n debuginfod %{_bindir}/debuginfod -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/debuginfod %{_unitdir}/debuginfod.service %{_mandir}/man8/debuginfod.8* -%{_sysconfdir}/sysconfig/debuginfod +%{_fillupdir}/sysconfig.debuginfod %dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod %verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite @@ -295,6 +298,7 @@ getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d / %post -n debuginfod %service_add_post debuginfod.service +%{fillup_only -n debuginfod} %preun -n debuginfod %service_del_preun debuginfod.service From 798c91573b5e95650e17cce1db3099303be89fc4b0aab77a5552f20e2549b7c3 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 8 Jan 2020 08:03:50 +0000 Subject: [PATCH 04/11] Accepting request 761543 from home:namtrac:branches:Base:System Use consistent variables OBS-URL: https://build.opensuse.org/request/show/761543 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=143 --- elfutils.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/elfutils.spec b/elfutils.spec index 234a1f6..ef013b1 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -1,7 +1,7 @@ # # spec file for package elfutils # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -183,12 +183,12 @@ rm -f %{buildroot}/%{_libdir}/*.la ls -lR %{buildroot}/%{_libdir}/libelf* %find_lang %{name} -install -Dm0644 config/debuginfod.service ${RPM_BUILD_ROOT}%{_unitdir}/debuginfod.service +install -Dm0644 config/debuginfod.service ${buildroot}%{_unitdir}/debuginfod.service install -d -m 755 %{buildroot}%{_fillupdir} cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod -touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite +mkdir -p ${buildroot}%{_localstatedir}/cache/debuginfod +touch ${buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite %post -n libasm1 -p /sbin/ldconfig %post -n libelf1 -p /sbin/ldconfig @@ -293,7 +293,7 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %pre -n debuginfod getent group debuginfod >/dev/null || %{_sbindir}/groupadd -r debuginfod -getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d /var/cache/debuginfod -s /bin/false -c "elfutils debuginfo server" debuginfod +getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d %{_localstatedir}/cache/debuginfod -s /bin/false -c "elfutils debuginfo server" debuginfod %service_add_pre debuginfod.service %post -n debuginfod From c91cb867b56e9bc4417a3345cff391f591bb22d795033c34ff2701590fdb6ba4 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 9 Jan 2020 07:52:54 +0000 Subject: [PATCH 05/11] Accepting request 761760 from home:namtrac:branches:Base:System Fixup changes file OBS-URL: https://build.opensuse.org/request/show/761760 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=144 --- elfutils.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/elfutils.changes b/elfutils.changes index 7f0d7e2..15fe0b2 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -3,6 +3,7 @@ Mon Dec 9 09:33:40 UTC 2019 - Martin Liška - Use %fillupdir macros for proper sysconfig export. +------------------------------------------------------------------- Fri Nov 29 16:01:36 UTC 2019 - Martin Liška - Update to version 0.178: From 090f74660730b1c4376f6eeb7e2b2835f0f17e33491151df1717aae4ff094f37 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 9 Jan 2020 07:54:48 +0000 Subject: [PATCH 06/11] Accepting request 761816 from home:Andreas_Schwab:glibc:rebuild - Fix variable references in specfile OBS-URL: https://build.opensuse.org/request/show/761816 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=145 --- elfutils.changes | 5 +++++ elfutils.spec | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/elfutils.changes b/elfutils.changes index 15fe0b2..5bb642c 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jan 8 10:46:15 UTC 2020 - Andreas Schwab + +- Fix variable references in specfile + ------------------------------------------------------------------- Mon Dec 9 09:33:40 UTC 2019 - Martin Liška diff --git a/elfutils.spec b/elfutils.spec index ef013b1..72c3b3f 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -183,12 +183,12 @@ rm -f %{buildroot}/%{_libdir}/*.la ls -lR %{buildroot}/%{_libdir}/libelf* %find_lang %{name} -install -Dm0644 config/debuginfod.service ${buildroot}%{_unitdir}/debuginfod.service +install -Dm0644 config/debuginfod.service %{buildroot}%{_unitdir}/debuginfod.service install -d -m 755 %{buildroot}%{_fillupdir} cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod -mkdir -p ${buildroot}%{_localstatedir}/cache/debuginfod -touch ${buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite +mkdir -p %{buildroot}%{_localstatedir}/cache/debuginfod +touch %{buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite %post -n libasm1 -p /sbin/ldconfig %post -n libelf1 -p /sbin/ldconfig From f205c80107f6eec78e098eb3f83e7f47836293600ec77bd6c899177ab0057c0d Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 22 Jan 2020 12:20:13 +0000 Subject: [PATCH 07/11] Accepting request 766277 from home:marxin:branches:Base:System - Rename debuginfod-client package to libdebuginfod1 in order to fulfil SLPP violation. OBS-URL: https://build.opensuse.org/request/show/766277 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=146 --- elfutils.changes | 6 ++++++ elfutils.spec | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/elfutils.changes b/elfutils.changes index 5bb642c..7c5e688 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jan 20 11:01:42 UTC 2020 - Martin Liška + +- Rename debuginfod-client package to libdebuginfod1 in + order to fulfil SLPP violation. + ------------------------------------------------------------------- Wed Jan 8 10:46:15 UTC 2020 - Andreas Schwab diff --git a/elfutils.spec b/elfutils.spec index 72c3b3f..e771841 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -112,22 +112,22 @@ Requires: libelf-devel = %{version} This package contains the headers and libraries needed to build applications that require libdw. -%package -n debuginfod-client +%package -n libdebuginfod1 Summary: Library and command line client for build-id HTTP ELF/DWARF server Group: Development/Tools/Building -%description -n debuginfod-client -The elfutils-debuginfod-client package contains shared libraries +%description -n libdebuginfod1 +The libdebuginfod1 package contains shared libraries dynamically loaded from -ldw, which use a debuginfod service to look up debuginfo and associated data. Also includes a command-line frontend. -%package -n debuginfod-client-devel +%package -n libdebuginfod-devel Summary: Libraries and headers to build debuginfod client applications Group: Development/Libraries/C and C++ -%description -n debuginfod-client-devel -The elfutils-debuginfod-client-devel package contains the libraries +%description -n libdebuginfod-devel +The libdebuginfod-devel package contains the libraries to create applications to use the debuginfod service. %package -n debuginfod @@ -193,11 +193,11 @@ touch %{buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite %post -n libasm1 -p /sbin/ldconfig %post -n libelf1 -p /sbin/ldconfig %post -n libdw1 -p /sbin/ldconfig -%post -n debuginfod-client -p /sbin/ldconfig +%post -n libdebuginfod1 -p /sbin/ldconfig %postun -n libasm1 -p /sbin/ldconfig %postun -n libelf1 -p /sbin/ldconfig %postun -n libdw1 -p /sbin/ldconfig -%postun -n debuginfod-client -p /sbin/ldconfig +%postun -n libdebuginfod1 -p /sbin/ldconfig %check %if 0%{?qemu_user_space_build} @@ -271,12 +271,12 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files lang -f %{name}.lang -%files -n debuginfod-client +%files -n libdebuginfod1 %{_libdir}/libdebuginfod-%{version}.so %{_bindir}/debuginfod-find %{_mandir}/man1/debuginfod-find.1* -%files -n debuginfod-client-devel +%files -n libdebuginfod-devel %{_libdir}/pkgconfig/libdebuginfod.pc %{_mandir}/man3/debuginfod_*.3* %{_includedir}/elfutils/debuginfod.h From 6469694fbacaf0bf0e863fe49dfdaaa8da75eeb69158b3f6d435f998d0788770 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 23 Jan 2020 07:29:35 +0000 Subject: [PATCH 08/11] Accepting request 766486 from home:marxin:branches:Base:System2 - Split libdebuginfod1 into libdebuginfod1 and debuginfod-client. Add Requires for these packages. OBS-URL: https://build.opensuse.org/request/show/766486 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=147 --- elfutils.changes | 6 ++++++ elfutils.spec | 18 +++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/elfutils.changes b/elfutils.changes index 7c5e688..7d0b3d7 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jan 23 06:17:51 UTC 2020 - Martin Liška + +- Split libdebuginfod1 into libdebuginfod1 and debuginfod-client. + Add Requires for these packages. + ------------------------------------------------------------------- Mon Jan 20 11:01:42 UTC 2020 - Martin Liška diff --git a/elfutils.spec b/elfutils.spec index e771841..d0a4389 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -49,6 +49,7 @@ BuildRequires: pkgconfig(sqlite3) >= 3.7.17 # For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss BuildRequires: curl BuildRequires: iproute +Requires: debuginfod-client = %{version} %description elfutils is a collection of utilities and libraries to read, create @@ -113,7 +114,7 @@ This package contains the headers and libraries needed to build applications that require libdw. %package -n libdebuginfod1 -Summary: Library and command line client for build-id HTTP ELF/DWARF server +Summary: Library for build-id HTTP ELF/DWARF server Group: Development/Tools/Building %description -n libdebuginfod1 @@ -130,6 +131,14 @@ Group: Development/Libraries/C and C++ The libdebuginfod-devel package contains the libraries to create applications to use the debuginfod service. +%package -n debuginfod-client +Summary: Command line client for build-id HTTP ELF/DWARF server +Group: Development/Tools/Building +Requires: libdebuginfod1 = %{version} + +%description -n debuginfod-client +The elfutils-debuginfod-client package contains a command-line frontend. + %package -n debuginfod Summary: HTTP ELF/DWARF file server addressed by build-id Group: Development/Tools/Building @@ -272,9 +281,8 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files lang -f %{name}.lang %files -n libdebuginfod1 +%{_libdir}/libdebuginfod.so.* %{_libdir}/libdebuginfod-%{version}.so -%{_bindir}/debuginfod-find -%{_mandir}/man1/debuginfod-find.1* %files -n libdebuginfod-devel %{_libdir}/pkgconfig/libdebuginfod.pc @@ -282,6 +290,10 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %{_includedir}/elfutils/debuginfod.h %{_libdir}/libdebuginfod.so* +%files -n debuginfod-client +%{_bindir}/debuginfod-find +%{_mandir}/man1/debuginfod-find.1* + %files -n debuginfod %{_bindir}/debuginfod %{_unitdir}/debuginfod.service From 4a31f07300fe917a9c43bba1d47dd023c1aae4bbddc0cdd5f872ee36f921c16f Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 23 Jan 2020 11:15:50 +0000 Subject: [PATCH 09/11] Accepting request 766515 from home:jengelh:branches:Base:System - Avoid double-shipping libdebuginfo.so.1 in two different subpackages. Fixup RPM group. OBS-URL: https://build.opensuse.org/request/show/766515 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=148 --- elfutils.changes | 6 ++++++ elfutils.spec | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/elfutils.changes b/elfutils.changes index 7d0b3d7..733dce7 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jan 23 09:09:10 UTC 2020 - Jan Engelhardt + +- Avoid double-shipping libdebuginfo.so.1 in two different + subpackages. Fixup RPM group. + ------------------------------------------------------------------- Thu Jan 23 06:17:51 UTC 2020 - Martin Liška diff --git a/elfutils.spec b/elfutils.spec index d0a4389..1fd91e8 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -115,7 +115,7 @@ applications that require libdw. %package -n libdebuginfod1 Summary: Library for build-id HTTP ELF/DWARF server -Group: Development/Tools/Building +Group: System/Libraries %description -n libdebuginfod1 The libdebuginfod1 package contains shared libraries @@ -134,7 +134,6 @@ to create applications to use the debuginfod service. %package -n debuginfod-client Summary: Command line client for build-id HTTP ELF/DWARF server Group: Development/Tools/Building -Requires: libdebuginfod1 = %{version} %description -n debuginfod-client The elfutils-debuginfod-client package contains a command-line frontend. @@ -288,7 +287,7 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %{_libdir}/pkgconfig/libdebuginfod.pc %{_mandir}/man3/debuginfod_*.3* %{_includedir}/elfutils/debuginfod.h -%{_libdir}/libdebuginfod.so* +%{_libdir}/libdebuginfod.so %files -n debuginfod-client %{_bindir}/debuginfod-find From e1dfd092554e997fcb1e70fcf5a2ff8ae09e426b7189c4b7e75747977ff3f834 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 4 Feb 2020 13:52:28 +0000 Subject: [PATCH 10/11] Accepting request 769973 from home:marxin:branches:Base:System-split - Exclude debuginfod sub-packages and move them to elfutils-debuginfod. - Package debuginfod of elfutils for version 0.178. OBS-URL: https://build.opensuse.org/request/show/769973 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=149 --- elfutils-debuginfod.changes | 4 + elfutils-debuginfod.spec | 200 ++++++++++++++++++++++++++++++++++++ elfutils.changes | 5 + elfutils.spec | 100 +----------------- 4 files changed, 211 insertions(+), 98 deletions(-) create mode 100644 elfutils-debuginfod.changes create mode 100644 elfutils-debuginfod.spec diff --git a/elfutils-debuginfod.changes b/elfutils-debuginfod.changes new file mode 100644 index 0000000..85cd652 --- /dev/null +++ b/elfutils-debuginfod.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Tue Feb 4 09:06:00 UTC 2020 - Martin Liška + +- Package debuginfod of elfutils for version 0.178. diff --git a/elfutils-debuginfod.spec b/elfutils-debuginfod.spec new file mode 100644 index 0000000..54997e8 --- /dev/null +++ b/elfutils-debuginfod.spec @@ -0,0 +1,200 @@ +# +# spec file for package elfutils-debuginfod +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: elfutils-debuginfod +Version: 0.178 +Release: 0 +Summary: debuginfod part of elfutils +License: GPL-3.0-or-later +Group: Development/Tools/Building +URL: https://sourceware.org/elfutils/ + +#Git-Clone: git://sourceware.org/git/elfutils +Source: https://fedorahosted.org/releases/e/l/elfutils/%{version}/elfutils-%{version}.tar.bz2 +Source1: https://fedorahosted.org/releases/e/l/elfutils/%{version}/elfutils-%{version}.tar.bz2.sig +Source2: elfutils.changes +Source3: elfutils.keyring +Patch0: remove-run-large-elf-file.sh.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bison +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: libbz2-devel +BuildRequires: xz-devel +BuildRequires: zlib-devel +# For debuginfod +BuildRequires: pkgconfig(libarchive) >= 3.1.2 +BuildRequires: pkgconfig(libcurl) >= 7.29.0 +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +BuildRequires: pkgconfig(sqlite3) >= 3.7.17 +# For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss +BuildRequires: curl +BuildRequires: iproute +Requires: debuginfod-client = %{version} +Requires: elfutils = %{version} +BuildRequires: pkgconfig(systemd) +Requires: sysconfig +Requires(post): %fillup_prereq +%{?systemd_requires} + +%description +The elfutils-debuginfod package contains the debuginfod binary +and control files for a service that can provide ELF/DWARF +files to remote clients, based on build-id identification. +The ELF/DWARF file searching functions in libdwfl can query +such servers to download those files on demand. + +%package -n libdebuginfod1 +Summary: Library for build-id HTTP ELF/DWARF server +Group: System/Libraries + +%description -n libdebuginfod1 +The libdebuginfod1 package contains shared libraries +dynamically loaded from -ldw, which use a debuginfod service +to look up debuginfo and associated data. Also includes a +command-line frontend. + +%package -n libdebuginfod-devel +Summary: Libraries and headers to build debuginfod client applications +Group: Development/Libraries/C and C++ + +%description -n libdebuginfod-devel +The libdebuginfod-devel package contains the libraries +to create applications to use the debuginfod service. + +%package -n debuginfod-client +Summary: Command line client for build-id HTTP ELF/DWARF server +Group: Development/Tools/Building + +%description -n debuginfod-client +The elfutils-debuginfod-client package contains a command-line frontend. + +%lang_package + +%prep +%setup -q -n elfutils-%version +%patch0 -p1 + +%build +%define _lto_cflags %{nil} +# Change DATE/TIME macros to use last change time of elfutils.changes +# See http://lists.opensuse.org/opensuse-factory/2011-05/msg00304.html +modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" +DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" +TIME="\"$(date -d "${modified}" "+%%R")\"" +find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + +# Set modversion used to verify dynamically loaded ebl backend matches to +# similarly predictable value [upstream default is hostname + date] +MODVERSION="suse-build `eval echo ${DATE} ${TIME}`" +sed --in-place "s/^MODVERSION=.*\$/MODVERSION=\"${MODVERSION}\"/" configure.ac +export CFLAGS="%optflags" +CFLAGS+=" -g" # make tests pass when user does not want debuginfo (boo#1031556) +%ifarch %sparc +# Small PIC model not sufficient +CFLAGS+=" -fPIC" +%endif +autoreconf -fi +# some patches create new test scripts, which are created 644 by default +chmod a+x tests/run*.sh +%configure --program-prefix=eu- +%make_build + +%install +%make_install +# remove unneeded files +rm -f %{buildroot}/%{_libdir}/*.la +ls -lR %{buildroot}/%{_libdir}/libelf* + +rm -f %{buildroot}/%{_bindir}/eu* +rm -f %{buildroot}/%{_libdir}/libasm* +rm -f %{buildroot}/%{_includedir}/elfutils/lib*.h +rm -f %{buildroot}/%{_includedir}/elfutils/elf-knowledge.h +rm -f %{buildroot}/%{_includedir}/elfutils/known-dwarf.h +rm -f %{buildroot}/%{_includedir}/elfutils/version.h +rm -f %{buildroot}/%{_libdir}/libelf* +rm -f %{buildroot}/%{_includedir}/libelf.h +rm -f %{buildroot}/%{_includedir}/gelf.h +rm -f %{buildroot}/%{_includedir}/nlist.h +rm -f %{buildroot}/%{_includedir}/dwarf.h +rm -f %{buildroot}/%{_libdir}/libdw* +rm -f %{buildroot}/%{_mandir}/man3/elf_*.3* +rm -f %{buildroot}/%{_mandir}/man1/eu-*.1* +rm -rf %{buildroot}/usr/share/locale/ +rm -f %{buildroot}/%{_libdir}/pkgconfig/libdw.pc +rm -f %{buildroot}/%{_libdir}/pkgconfig/libelf.pc + +install -Dm0644 config/debuginfod.service %{buildroot}%{_unitdir}/debuginfod.service +install -d -m 755 %{buildroot}%{_fillupdir} +cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod + +mkdir -p %{buildroot}%{_localstatedir}/cache/debuginfod +touch %{buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite + +%post -n libdebuginfod1 -p /sbin/ldconfig +%postun -n libdebuginfod1 -p /sbin/ldconfig + +%check +%if 0%{?qemu_user_space_build} +# qemu-linux-user does not support ptrace and a few other process details +export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native.sh run-deleted.sh" +%endif +%make_build check + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO +%{_bindir}/debuginfod +%{_unitdir}/debuginfod.service +%{_mandir}/man8/debuginfod.8* +%{_fillupdir}/sysconfig.debuginfod + +%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod +%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite + +%files -n libdebuginfod1 +%{_libdir}/libdebuginfod.so.* +%{_libdir}/libdebuginfod-%{version}.so + +%files -n libdebuginfod-devel +%{_libdir}/pkgconfig/libdebuginfod.pc +%{_mandir}/man3/debuginfod_*.3* +%dir %{_includedir}/elfutils +%{_includedir}/elfutils/debuginfod.h +%{_libdir}/libdebuginfod.so + +%files -n debuginfod-client +%{_bindir}/debuginfod-find +%{_mandir}/man1/debuginfod-find.1* + +%pre +getent group debuginfod >/dev/null || %{_sbindir}/groupadd -r debuginfod +getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d %{_localstatedir}/cache/debuginfod -s /bin/false -c "elfutils debuginfo server" debuginfod +%service_add_pre debuginfod.service + +%post +%service_add_post debuginfod.service +%{fillup_only -n debuginfod} + +%preun +%service_del_preun debuginfod.service + +%postun +%service_del_postun debuginfod.service + +%changelog diff --git a/elfutils.changes b/elfutils.changes index 733dce7..af101ae 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Feb 4 09:34:24 UTC 2020 - Martin Liška + +- Exclude debuginfod sub-packages and move them to elfutils-debuginfod. + ------------------------------------------------------------------- Thu Jan 23 09:09:10 UTC 2020 - Jan Engelhardt diff --git a/elfutils.spec b/elfutils.spec index 1fd91e8..2adfc2f 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -37,19 +37,9 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex -BuildRequires: gcc-c++ BuildRequires: libbz2-devel BuildRequires: xz-devel BuildRequires: zlib-devel -# For debuginfod -BuildRequires: pkgconfig(libarchive) >= 3.1.2 -BuildRequires: pkgconfig(libcurl) >= 7.29.0 -BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 -BuildRequires: pkgconfig(sqlite3) >= 3.7.17 -# For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss -BuildRequires: curl -BuildRequires: iproute -Requires: debuginfod-client = %{version} %description elfutils is a collection of utilities and libraries to read, create @@ -113,46 +103,6 @@ Requires: libelf-devel = %{version} This package contains the headers and libraries needed to build applications that require libdw. -%package -n libdebuginfod1 -Summary: Library for build-id HTTP ELF/DWARF server -Group: System/Libraries - -%description -n libdebuginfod1 -The libdebuginfod1 package contains shared libraries -dynamically loaded from -ldw, which use a debuginfod service -to look up debuginfo and associated data. Also includes a -command-line frontend. - -%package -n libdebuginfod-devel -Summary: Libraries and headers to build debuginfod client applications -Group: Development/Libraries/C and C++ - -%description -n libdebuginfod-devel -The libdebuginfod-devel package contains the libraries -to create applications to use the debuginfod service. - -%package -n debuginfod-client -Summary: Command line client for build-id HTTP ELF/DWARF server -Group: Development/Tools/Building - -%description -n debuginfod-client -The elfutils-debuginfod-client package contains a command-line frontend. - -%package -n debuginfod -Summary: HTTP ELF/DWARF file server addressed by build-id -Group: Development/Tools/Building -BuildRequires: pkgconfig(systemd) -Requires: sysconfig -Requires(post): %fillup_prereq -%{?systemd_requires} - -%description -n debuginfod -The elfutils-debuginfod package contains the debuginfod binary -and control files for a service that can provide ELF/DWARF -files to remote clients, based on build-id identification. -The ELF/DWARF file searching functions in libdwfl can query -such servers to download those files on demand. - %lang_package %prep @@ -181,7 +131,7 @@ CFLAGS+=" -fPIC" autoreconf -fi # some patches create new test scripts, which are created 644 by default chmod a+x tests/run*.sh -%configure --program-prefix=eu- +%configure --program-prefix=eu- --disable-debuginfod %make_build %install @@ -189,23 +139,15 @@ chmod a+x tests/run*.sh # remove unneeded files rm -f %{buildroot}/%{_libdir}/*.la ls -lR %{buildroot}/%{_libdir}/libelf* +rm %{buildroot}/%{_libdir}/pkgconfig/libdebuginfod.pc %find_lang %{name} -install -Dm0644 config/debuginfod.service %{buildroot}%{_unitdir}/debuginfod.service -install -d -m 755 %{buildroot}%{_fillupdir} -cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod - -mkdir -p %{buildroot}%{_localstatedir}/cache/debuginfod -touch %{buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite - %post -n libasm1 -p /sbin/ldconfig %post -n libelf1 -p /sbin/ldconfig %post -n libdw1 -p /sbin/ldconfig -%post -n libdebuginfod1 -p /sbin/ldconfig %postun -n libasm1 -p /sbin/ldconfig %postun -n libelf1 -p /sbin/ldconfig %postun -n libdw1 -p /sbin/ldconfig -%postun -n libdebuginfod1 -p /sbin/ldconfig %check %if 0%{?qemu_user_space_build} @@ -279,42 +221,4 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files lang -f %{name}.lang -%files -n libdebuginfod1 -%{_libdir}/libdebuginfod.so.* -%{_libdir}/libdebuginfod-%{version}.so - -%files -n libdebuginfod-devel -%{_libdir}/pkgconfig/libdebuginfod.pc -%{_mandir}/man3/debuginfod_*.3* -%{_includedir}/elfutils/debuginfod.h -%{_libdir}/libdebuginfod.so - -%files -n debuginfod-client -%{_bindir}/debuginfod-find -%{_mandir}/man1/debuginfod-find.1* - -%files -n debuginfod -%{_bindir}/debuginfod -%{_unitdir}/debuginfod.service -%{_mandir}/man8/debuginfod.8* -%{_fillupdir}/sysconfig.debuginfod - -%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod -%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite - -%pre -n debuginfod -getent group debuginfod >/dev/null || %{_sbindir}/groupadd -r debuginfod -getent passwd debuginfod >/dev/null || %{_sbindir}/useradd -r -g debuginfod -d %{_localstatedir}/cache/debuginfod -s /bin/false -c "elfutils debuginfo server" debuginfod -%service_add_pre debuginfod.service - -%post -n debuginfod -%service_add_post debuginfod.service -%{fillup_only -n debuginfod} - -%preun -n debuginfod -%service_del_preun debuginfod.service - -%postun -n debuginfod -%service_del_postun debuginfod.service - %changelog From 38db927b2ea93f6433d7bfc6464379374d8ab78758efb2675a361d49dfbe91d5 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 10 Feb 2020 14:15:51 +0000 Subject: [PATCH 11/11] Accepting request 772628 from home:dimstar:Factory - Re-add libelf1 to baselibs.conf: we still generate a libelf-devel-32bit, which is only installable if libelf1-21bit also exists. OBS-URL: https://build.opensuse.org/request/show/772628 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=150 --- baselibs.conf | 1 + elfutils.changes | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/baselibs.conf b/baselibs.conf index c943b01..7edb5ad 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,5 +1,6 @@ libasm1 libdw1 +libelf1 libelf-devel requires -libelf- requires "libelf1- = " diff --git a/elfutils.changes b/elfutils.changes index af101ae..440c216 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Feb 10 08:39:45 UTC 2020 - Dominique Leuenberger + +- Re-add libelf1 to baselibs.conf: we still generate a + libelf-devel-32bit, which is only installable if libelf1-21bit + also exists. + ------------------------------------------------------------------- Tue Feb 4 09:34:24 UTC 2020 - Martin Liška