From c44ef90de5faa9e5974c728a6dce47f0bd49939d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 30 Mar 2021 11:42:57 -0400 Subject: [PATCH] import gcc-toolset-10-elfutils-0.182-3.el8 --- .gcc-toolset-10-elfutils.metadata | 2 +- .gitignore | 2 +- .../elfutils-0.182-debuginfod-test-fix.patch | 43 ++++++ ...180-dts.patch => elfutils-0.182-dts.patch} | 127 ++++-------------- SOURCES/libdw.so | 2 +- SPECS/elfutils.spec | 60 +++++++-- 6 files changed, 123 insertions(+), 113 deletions(-) create mode 100644 SOURCES/elfutils-0.182-debuginfod-test-fix.patch rename SOURCES/{elfutils-0.180-dts.patch => elfutils-0.182-dts.patch} (92%) diff --git a/.gcc-toolset-10-elfutils.metadata b/.gcc-toolset-10-elfutils.metadata index 47e5453..05a788a 100644 --- a/.gcc-toolset-10-elfutils.metadata +++ b/.gcc-toolset-10-elfutils.metadata @@ -1 +1 @@ -c1ed871515b0f7fcdf2d94fea23e4b8ba67e8fe3 SOURCES/elfutils-0.180.tar.bz2 +3efc2253564a2ca8be0a5cf9aba3e4b5f544ee22 SOURCES/elfutils-0.182.tar.bz2 diff --git a/.gitignore b/.gitignore index 7da1245..617df92 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/elfutils-0.180.tar.bz2 +SOURCES/elfutils-0.182.tar.bz2 diff --git a/SOURCES/elfutils-0.182-debuginfod-test-fix.patch b/SOURCES/elfutils-0.182-debuginfod-test-fix.patch new file mode 100644 index 0000000..62efd07 --- /dev/null +++ b/SOURCES/elfutils-0.182-debuginfod-test-fix.patch @@ -0,0 +1,43 @@ +commit f172a31c56405750114924eba0786999bccc501f +Author: Mark Wielaard +Date: Mon Nov 2 15:20:54 2020 +0100 + + tests: Create bogus R/nothing.rpm with cyclic symlink. + + We used to try to trigger an error during debuginfod scanning using + a chmod 000 file. But this doesn't always result in an error. Create + a cyclic symlink instead, which always results in a failure to open/read. + + Signed-off-by: Mark Wielaard + +diff --git a/tests/ChangeLog b/tests/ChangeLog +index 57fc4c8e..2f8b75c3 100644 +--- a/tests/ChangeLog ++++ b/tests/ChangeLog +@@ -1,3 +1,8 @@ ++2020-11-02 Mark Wielaard ++ ++ * run-debuginfod-find.sh: Create bogus R/nothing.rpm with cyclic ++ symlink instead of chmod 000. ++ + 2020-10-31 Mark Wielaard + + * dwfl-proc-attach.c (dlopen): New external function override. +diff --git a/tests/run-debuginfod-find.sh b/tests/run-debuginfod-find.sh +index 48dbc7d4..5af45667 100755 +--- a/tests/run-debuginfod-find.sh ++++ b/tests/run-debuginfod-find.sh +@@ -95,9 +95,10 @@ wait_ready() + fi + } + +-# create a 000 empty .rpm file to evoke a metric-visible error +-touch R/nothing.rpm +-chmod 000 R/nothing.rpm ++# create a bogus .rpm file to evoke a metric-visible error ++# Use a cyclic symlink instead of chmod 000 to make sure even root ++# would see an error (running the testsuite under root is NOT encouraged). ++ln -s R/nothing.rpm R/nothing.rpm + + env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS= ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -F -R -d $DB -p $PORT1 -t0 -g0 --fdcache-fds 1 --fdcache-mbs 2 -Z .tar.xz -Z .tar.bz2=bzcat -v R F Z L > vlog4 2>&1 & + PID1=$! diff --git a/SOURCES/elfutils-0.180-dts.patch b/SOURCES/elfutils-0.182-dts.patch similarity index 92% rename from SOURCES/elfutils-0.180-dts.patch rename to SOURCES/elfutils-0.182-dts.patch index 54dd9be..65673d8 100644 --- a/SOURCES/elfutils-0.180-dts.patch +++ b/SOURCES/elfutils-0.182-dts.patch @@ -1,31 +1,30 @@ diff --git a/backends/Makefile.am b/backends/Makefile.am -index f4052125..92c50f25 100644 +index 62916c9c..d6934de6 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am -@@ -98,11 +98,11 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \ +@@ -95,11 +95,11 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \ csky_regs.c csky_initreg.c csky_corenote.c -libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \ - $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \ - $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \ -- $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \ -- $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) +libebl_backends_a_CFLAGS = -fPIC $(AM_CFLAGS) +libebl_backends_a_SOURCES = $(i386_SRCS) $(x86_64_SRCS) \ + $(ia64_SRCS) $(aarch64_SRCS) $(ppc_SRCS) \ -+ $(ppc64_SRCS) $(s390_SRCS) \ + $(ppc64_SRCS) $(s390_SRCS) \ +- $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) + $(bpf_SRCS) libebl_backends_pic_a_SOURCES = am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os) diff --git a/configure.ac b/configure.ac -index 74cc749d..f38c32c3 100644 +index 515ac704..b7e76504 100644 --- a/configure.ac +++ b/configure.ac @@ -19,6 +19,12 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see . - AC_INIT([elfutils],[0.180],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/]) + AC_INIT([elfutils],[0.182],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/]) +dnl Workaround for older autoconf < 2.64 +m4_ifndef([AC_PACKAGE_URL], @@ -37,17 +36,18 @@ index 74cc749d..f38c32c3 100644 m4_ifndef([AC_PACKAGE_URL], [AC_DEFINE([PACKAGE_URL], ["http://elfutils.org/"], diff --git a/debuginfod/Makefile.am b/debuginfod/Makefile.am -index 51965f65..47b6e431 100644 +index 01985600..8b07ed0b 100644 --- a/debuginfod/Makefile.am +++ b/debuginfod/Makefile.am -@@ -64,9 +64,10 @@ debuginfod_LDADD = $(libdw) $(libelf) $(libeu) $(libdebuginfod) $(libmicrohttpd_ - debuginfod_find_SOURCES = debuginfod-find.c +@@ -77,10 +77,11 @@ debuginfod_find_SOURCES = debuginfod-find.c debuginfod_find_LDADD = $(libdw) $(libelf) $(libeu) $(libdebuginfod) + if LIBDEBUGINFOD -noinst_LIBRARIES = libdebuginfod.a -noinst_LIBRARIES += libdebuginfod_pic.a +lib_LIBRARIES = libdebuginfod.a +noinst_LIBRARIES = libdebuginfod_pic.a + endif +libdebuginfod_a_CFLAGS = -fPIC $(AM_CFLAGS) libdebuginfod_a_SOURCES = debuginfod-client.c @@ -90,7 +90,7 @@ index a35a2873..4932b8dd 100644 dwelf_elf_gnu_build_id.c dwelf_scn_gnu_compressed_size.c \ dwelf_strtab.c dwelf_elf_begin.c \ diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am -index 47bd62a5..af77bb0c 100644 +index a0013e41..51e36dfb 100644 --- a/libdwfl/Makefile.am +++ b/libdwfl/Makefile.am @@ -39,7 +39,7 @@ noinst_LIBRARIES += libdwfl_pic.a @@ -103,7 +103,7 @@ index 47bd62a5..af77bb0c 100644 dwfl_module.c dwfl_report_elf.c relocate.c \ dwfl_module_build_id.c dwfl_module_report_build_id.c \ diff --git a/libebl/Makefile.am b/libebl/Makefile.am -index d0d475b8..e488dd36 100644 +index d84e7ee2..4943353d 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -59,6 +59,8 @@ libebl_a_SOURCES = eblopenbackend.c eblclosebackend.c eblreloctypename.c \ @@ -116,10 +116,10 @@ index d0d475b8..e488dd36 100644 MOSTLYCLEANFILES = $(am_libebl_pic_a_OBJECTS) diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c -index b3b6fc01..6ce6c26f 100644 +index a8af1658..e16de649 100644 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c -@@ -42,21 +42,13 @@ +@@ -42,20 +42,13 @@ #include Ebl *i386_init (Elf *, GElf_Half, Ebl *); @@ -133,7 +133,6 @@ index b3b6fc01..6ce6c26f 100644 Ebl *ppc_init (Elf *, GElf_Half, Ebl *); Ebl *ppc64_init (Elf *, GElf_Half, Ebl *); Ebl *s390_init (Elf *, GElf_Half, Ebl *); --Ebl *tilegx_init (Elf *, GElf_Half, Ebl *); -Ebl *m68k_init (Elf *, GElf_Half, Ebl *); Ebl *bpf_init (Elf *, GElf_Half, Ebl *); -Ebl *riscv_init (Elf *, GElf_Half, Ebl *); @@ -141,7 +140,7 @@ index b3b6fc01..6ce6c26f 100644 /* This table should contain the complete list of architectures as far as the ELF specification is concerned. */ -@@ -75,27 +67,27 @@ static const struct +@@ -74,27 +67,27 @@ static const struct { { i386_init, "elf_i386", "i386", 4, EM_386, ELFCLASS32, ELFDATA2LSB }, { ia64_init, "elf_ia64", "ia64", 4, EM_IA_64, ELFCLASS64, ELFDATA2LSB }, @@ -150,8 +149,6 @@ index b3b6fc01..6ce6c26f 100644 { x86_64_init, "elf_x86_64", "x86_64", 6, EM_X86_64, ELFCLASS64, ELFDATA2LSB }, { ppc_init, "elf_ppc", "ppc", 3, EM_PPC, ELFCLASS32, ELFDATA2MSB }, { ppc64_init, "elf_ppc64", "ppc64", 5, EM_PPC64, ELFCLASS64, ELFDATA2MSB }, -- { tilegx_init, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB }, -+ { NULL, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB }, // XXX class and machine fields need to be filled in for all archs. - { sh_init, "elf_sh", "sh", 2, EM_SH, 0, 0 }, - { arm_init, "ebl_arm", "arm", 3, EM_ARM, 0, 0 }, @@ -165,6 +162,7 @@ index b3b6fc01..6ce6c26f 100644 + { NULL, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 }, + { NULL, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB }, { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 }, - { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, + { NULL, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, @@ -178,7 +176,7 @@ index b3b6fc01..6ce6c26f 100644 { NULL, "elf_i960", "i960", 4, EM_960, 0, 0 }, { NULL, "ebl_v800", "v800", 4, EM_V800, 0, 0 }, { NULL, "ebl_fr20", "fr20", 4, EM_FR20, 0, 0 }, -@@ -108,7 +100,7 @@ static const struct +@@ -107,7 +100,7 @@ static const struct { NULL, "elf_h8s", "h8s", 6, EM_H8S, 0, 0 }, { NULL, "elf_h8_500", "h8_500", 6, EM_H8_500, 0, 0 }, { NULL, "elf_coldfire", "coldfire", 8, EM_COLDFIRE, 0, 0 }, @@ -187,7 +185,7 @@ index b3b6fc01..6ce6c26f 100644 { NULL, "elf_mma", "mma", 3, EM_MMA, 0, 0 }, { NULL, "elf_pcp", "pcp", 3, EM_PCP, 0, 0 }, { NULL, "elf_ncpu", "ncpu", 4, EM_NCPU, 0, 0 }, -@@ -121,10 +113,10 @@ static const struct +@@ -120,10 +113,10 @@ static const struct { NULL, "elf_fx66", "fx66", 4, EM_FX66, 0, 0 }, { NULL, "elf_st9plus", "st9plus", 7, EM_ST9PLUS, 0, 0 }, { NULL, "elf_st7", "st7", 3, EM_ST7, 0, 0 }, @@ -202,7 +200,7 @@ index b3b6fc01..6ce6c26f 100644 { NULL, "elf_svx", "svx", 3, EM_SVX, 0, 0 }, { NULL, "elf_st19", "st19", 4, EM_ST19, 0, 0 }, { NULL, "elf_vax", "vax", 3, EM_VAX, 0, 0 }, -@@ -149,9 +141,9 @@ static const struct +@@ -148,9 +141,9 @@ static const struct { NULL, "elf_xtensa", "xtensa", 6, EM_XTENSA, 0, 0 }, { aarch64_init, "elf_aarch64", "aarch64", 7, EM_AARCH64, ELFCLASS64, 0 }, { bpf_init, "elf_bpf", "bpf", 3, EM_BPF, 0, 0 }, @@ -228,10 +226,10 @@ index d5d63f73..51e86dc8 100644 elf_begin.c elf_next.c elf_rand.c elf_end.c elf_kind.c \ gelf_getclass.c elf_getbase.c elf_getident.c \ diff --git a/tests/Makefile.am b/tests/Makefile.am -index 7db7db16..fa4999df 100644 +index 84f6e88e..0a776692 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -98,9 +98,8 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ +@@ -104,9 +104,8 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ 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 \ @@ -243,15 +241,15 @@ index 7db7db16..fa4999df 100644 run-strip-groups.sh run-strip-reloc.sh run-strip-strmerge.sh \ run-strip-nobitsalign.sh run-strip-remove-keep.sh \ run-unstrip-test.sh run-unstrip-test2.sh run-unstrip-test3.sh \ -@@ -176,7 +175,6 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ +@@ -183,7 +182,6 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ run-readelf-discr.sh \ run-dwelf_elf_e_machine_string.sh \ run-elfclassify.sh run-elfclassify-self.sh \ - run-disasm-riscv64.sh \ run-pt_gnu_prop-tests.sh \ - run-getphdrnum.sh - -@@ -587,6 +585,7 @@ get_files_LDADD = $(libdw) $(libelf) + run-getphdrnum.sh run-test-includes.sh \ + leb128 read_unaligned +@@ -606,6 +604,7 @@ get_files_LDADD = $(libdw) $(libelf) next_files_LDADD = $(libdw) $(libelf) get_aranges_LDADD = $(libdw) $(libelf) allfcts_LDADD = $(libdw) $(libelf) @@ -393,10 +391,10 @@ index 64fa24d7..e9f55644 100755 - integer reg37 (lo): undefined -EOF diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh -index 1422bd67..0d2eb524 100755 +index 87b16c95..0d2eb524 100755 --- a/tests/run-allregs.sh +++ b/tests/run-allregs.sh -@@ -2344,387 +2344,6 @@ control registers: +@@ -2344,318 +2344,6 @@ control registers: 65: %pswa (pswa), address 64 bits EOF @@ -641,75 +639,6 @@ index 1422bd67..0d2eb524 100755 - 63: $fpcr (fpcr), unsigned 64 bits -EOF - --regs_test testfile60 <<\EOF --integer registers: -- 0: r0 (r0), signed 64 bits -- 1: r1 (r1), signed 64 bits -- 2: r2 (r2), signed 64 bits -- 3: r3 (r3), signed 64 bits -- 4: r4 (r4), signed 64 bits -- 5: r5 (r5), signed 64 bits -- 6: r6 (r6), signed 64 bits -- 7: r7 (r7), signed 64 bits -- 8: r8 (r8), signed 64 bits -- 9: r9 (r9), signed 64 bits -- 10: r10 (r10), signed 64 bits -- 11: r11 (r11), signed 64 bits -- 12: r12 (r12), signed 64 bits -- 13: r13 (r13), signed 64 bits -- 14: r14 (r14), signed 64 bits -- 15: r15 (r15), signed 64 bits -- 16: r16 (r16), signed 64 bits -- 17: r17 (r17), signed 64 bits -- 18: r18 (r18), signed 64 bits -- 19: r19 (r19), signed 64 bits -- 20: r20 (r20), signed 64 bits -- 21: r21 (r21), signed 64 bits -- 22: r22 (r22), signed 64 bits -- 23: r23 (r23), signed 64 bits -- 24: r24 (r24), signed 64 bits -- 25: r25 (r25), signed 64 bits -- 26: r26 (r26), signed 64 bits -- 27: r27 (r27), signed 64 bits -- 28: r28 (r28), signed 64 bits -- 29: r29 (r29), signed 64 bits -- 30: r30 (r30), signed 64 bits -- 31: r31 (r31), signed 64 bits -- 32: r32 (r32), signed 64 bits -- 33: r33 (r33), signed 64 bits -- 34: r34 (r34), signed 64 bits -- 35: r35 (r35), signed 64 bits -- 36: r36 (r36), signed 64 bits -- 37: r37 (r37), signed 64 bits -- 38: r38 (r38), signed 64 bits -- 39: r39 (r39), signed 64 bits -- 40: r40 (r40), signed 64 bits -- 41: r41 (r41), signed 64 bits -- 42: r42 (r42), signed 64 bits -- 43: r43 (r43), signed 64 bits -- 44: r44 (r44), signed 64 bits -- 45: r45 (r45), signed 64 bits -- 46: r46 (r46), signed 64 bits -- 47: r47 (r47), signed 64 bits -- 48: r48 (r48), signed 64 bits -- 49: r49 (r49), signed 64 bits -- 50: r50 (r50), signed 64 bits -- 51: r51 (r51), signed 64 bits -- 52: r52 (r52), signed 64 bits -- 53: tp (tp), address 64 bits -- 54: sp (sp), address 64 bits -- 55: lr (lr), address 64 bits -- 56: sn (sn), unsigned 64 bits -- 57: idn0 (idn0), unsigned 64 bits -- 58: idn1 (idn1), unsigned 64 bits -- 59: udn0 (udn0), unsigned 64 bits -- 60: udn1 (udn1), unsigned 64 bits -- 61: udn2 (udn2), unsigned 64 bits -- 62: udn3 (udn3), unsigned 64 bits -- 63: zero (zero), unsigned 64 bits -- 64: pc (pc), address 64 bits --EOF -- -regs_test testfile61 <<\EOF -integer registers: - 0: r0 (r0), signed 32 bits @@ -784,7 +713,7 @@ index 1422bd67..0d2eb524 100755 # See run-readelf-mixed-corenote.sh for instructions to regenerate # this core file. regs_test testfile_aarch64_core <<\EOF -@@ -2871,106 +2490,4 @@ x87 registers: +@@ -2802,106 +2490,4 @@ x87 registers: 40: %st7 (st7), float 80 bits EOF diff --git a/SOURCES/libdw.so b/SOURCES/libdw.so index 7c15bba..7569e94 100644 --- a/SOURCES/libdw.so +++ b/SOURCES/libdw.so @@ -3,5 +3,5 @@ Libraries in Developer Toolset are linked in statically to allow compiled binaries to run even when DTS is not installed. */ GROUP(libdw.ar -lpthread -ldl) -INPUT(-llzma -lbz2 -lz) +INPUT(-lzstd -llzma -lbz2 -lz) INPUT(-lelf) diff --git a/SPECS/elfutils.spec b/SPECS/elfutils.spec index 4d8d3d6..325a63a 100644 --- a/SPECS/elfutils.spec +++ b/SPECS/elfutils.spec @@ -4,8 +4,8 @@ %{?scl:%{?scl_package:%scl_package elfutils}} Name: %{?scl_prefix}elfutils -Version: 0.180 -%global baserelease 1 +Version: 0.182 +%global baserelease 3 Release: %{baserelease}%{?dist} URL: http://elfutils.org/ %global source_url ftp://sourceware.org/pub/elfutils/%{version}/ @@ -49,6 +49,7 @@ BuildRequires: flex BuildRequires: zlib-devel BuildRequires: bzip2-devel BuildRequires: xz-devel +BuildRequires: libzstd-devel # For debuginfod BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 @@ -58,7 +59,8 @@ BuildRequires: pkgconfig(libarchive) >= 3.1.2 # For tests need to bunzip2 test files. BuildRequires: bzip2 -# For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss +BuildRequires: zstd +# For the run-debuginfod-find.sh test case in %%check for /usr/sbin/ss BuildRequires: iproute BuildRequires: bsdtar BuildRequires: curl @@ -76,8 +78,10 @@ BuildRequires: autoconf automake # Patches +Patch1: elfutils-0.182-debuginfod-test-fix.patch + # DTS specific patches. -Patch100: elfutils-0.180-dts.patch +Patch100: elfutils-0.182-dts.patch Patch101: elfutils-dts-libs-version.patch %description @@ -100,9 +104,9 @@ Requires: %{?scl_prefix}elfutils-libelf%{depsuffix} = %{version}-%{release} Requires: default-yama-scope %endif %if 0%{?rhel} >= 8 || 0%{?fedora} >= 20 -Recommends: %{?scl_prefix}elfutils-debuginfod-client%{depsuffix} = %{version}-%{release} -%else Requires: %{?scl_prefix}elfutils-debuginfod-client%{depsuffix} = %{version}-%{release} +%else +Recommends: %{?scl_prefix}elfutils-debuginfod-client%{depsuffix} = %{version}-%{release} %endif %description libs @@ -122,10 +126,15 @@ Provides: %{?scl_prefix}elfutils-devel%{depsuffix} = %{version}-%{release} Requires: %{?scl_prefix}elfutils-libs%{depsuffix} = %{version}-%{release} Requires: %{?scl_prefix}elfutils-libelf-devel%{depsuffix} = %{version}-%{release} %if 0%{?rhel} >= 8 || 0%{?fedora} >= 20 -Recommends: %{?scl_prefix}elfutils-debuginfod-client-devel%{depsuffix} = %{version}-%{release} -%else Requires: %{?scl_prefix}elfutils-debuginfod-client-devel%{depsuffix} = %{version}-%{release} +%else +Recommends: %{?scl_prefix}elfutils-debuginfod-client-devel%{depsuffix} = %{version}-%{release} %endif +# For DTS explicitly require compression -devel packages +Requires: zlib-devel +Requires: bzip2-devel +Requires: xz-devel +Requires: libzstd-devel %description devel The elfutils-devel package contains the libraries to create @@ -155,6 +164,8 @@ License: GPLv2+ or LGPLv3+ Provides: %{?scl_prefix}elfutils-libelf-devel%{depsuffix} = %{version}-%{release} %endif Requires: %{?scl_prefix}elfutils-libelf%{depsuffix} = %{version}-%{release} +# For DTS explicitly require zlib-devel +Requires: zlib-devel %description libelf-devel The elfutils-libelf-devel package contains the libraries to create @@ -197,6 +208,8 @@ License: GPLv2+ or LGPLv3+ Provides: %{?scl_prefix}elfutils-debuginfod-client-devel%{depsuffix} = %{version}-%{release} %endif Requires: %{?scl_prefix}elfutils-debuginfod-client%{depsuffix} = %{version}-%{release} +# For DTS explicitly require curl-devel to get libcurl.so +Requires: pkgconfig(libcurl) >= 7.29.0 %package debuginfod Summary: HTTP ELF/DWARF file server addressed by build-id @@ -229,6 +242,8 @@ such servers to download those files on demand. # Apply patches +%patch1 -p1 -b .debuginfod_test_fix + # DTS specific patches %patch100 -p1 -b .dts %patch101 -p1 -b .versions @@ -252,14 +267,18 @@ RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wformat" trap 'cat config.log' EXIT %configure CFLAGS="$RPM_OPT_FLAGS -fexceptions" trap '' EXIT -make %{?_smp_mflags} V=1 +%make_build V=1 %install rm -rf ${RPM_BUILD_ROOT} -make -s install DESTDIR=${RPM_BUILD_ROOT} +%make_install chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so* +# We don't have standard DEBUGINFOD_URLS yet. +rm ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/debuginfod.sh +rm ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/debuginfod.csh + # Rename static archives to *.ar, so that brp-strip-static-archive # doesn't find them. We still want debuginfo for other files, so we # can't simply %%define __strip /bin/true. We do want -lelf -static @@ -283,7 +302,7 @@ install -Dm0644 config/10-default-yama-scope.conf ${RPM_BUILD_ROOT}%{_sysctldir} # Record some build root versions in build.log uname -r; rpm -q binutils gcc glibc -make -s %{?_smp_mflags} check || (cat tests/test-suite.log; false) +%make_build -s check || (cat tests/test-suite.log; false) # Only the latest Fedora and EPEL have these scriptlets, # older Fedora and plain RHEL don't. @@ -408,6 +427,25 @@ fi %changelog +* Wed Nov 11 2020 Mark Wielaard - 0.182-3 +- Add -lzstd to libdw.so linker script. + +* Mon Nov 2 2020 Mark Wielaard - 0.182-2 +- Add elfutils-0.182-debuginfod-test-fix.patch. + +* Mon Nov 2 2020 Mark Wielaard - 0.182-1 +- Upgrade to upstream 0.182 + - backends: Support for tilegx has been removed. + - config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS. + - debuginfod: More efficient package traversal, tolerate various + errors during scanning, grooming progress is more visible and + interruptible, more prometheus metrics. + - debuginfod-client: Now supports compressed (kernel) ELF images. + - libdwfl: Add ZSTD compression support. + +* Mon Nov 2 2020 Mark Wielaard - 0.180-2 +- Add Requires for -devel packages (#1873413) + * Thu Jun 11 2020 Mark Wielaard - 0.180-1 - New upstream release.