Add find-debuginfo.sh: Add --keep-section and --remove-section

Resolves: #1465997
This commit is contained in:
Mark Wielaard 2017-07-18 15:49:11 +02:00
parent 323283e27f
commit 284dc31743
57 changed files with 162 additions and 245 deletions

View File

@ -1,7 +1,7 @@
From 3936d5a227dfcfd502588c6fd8f52ccb826f11c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Wed, 20 Apr 2016 15:39:36 +0200
Subject: [PATCH 01/54] Use correct source file for rpmsign module
Subject: [PATCH] Use correct source file for rpmsign module
(cherry picked from commit eb632e5158fa4ef993b0e5df2a354f0be7a7a71d)
---
@ -21,6 +21,3 @@ index b2c394136..f94873fe5 100644
include_dirs = pkgconfig('--cflags'),
libraries = pkgconfig('--libs') + ['rpmsign'],
extra_compile_args = cflags,
--
2.13.2

View File

@ -1,8 +1,8 @@
From aa74f749e8eba102069aaafd0b2e18af8f5f0fa0 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Tue, 14 Feb 2017 14:04:35 +0100
Subject: [PATCH 02/54] brp-python-bytecompile: Process python lib dirs even
without standard Python
Subject: [PATCH] brp-python-bytecompile: Process python lib dirs even without
standard Python
There is no need for /usr/bin/python when byte compiling files in
/usr/lib/pythonX.Y (only /usr/bin/pythonX.Y). Moved check so we do not exit
@ -45,6 +45,3 @@ index 838f23d9d..894fa3459 100644
# Generate normal (.pyc) byte-compiled files.
python_bytecompile "" $default_python "/bin/|/sbin/|/usr/lib(64)?/python[0-9]\.[0-9]|/usr/share/doc" "$RPM_BUILD_ROOT" "$depth" "/"
--
2.13.2

View File

@ -1,7 +1,7 @@
From 6e748a4eb167b2ca201d9e90b927cc4523eabeda Mon Sep 17 00:00:00 2001
From: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date: Tue, 21 Feb 2017 11:48:27 +0100
Subject: [PATCH 03/54] Fix number of references on spec_Type (#114)
Subject: [PATCH] Fix number of references on spec_Type (#114)
After creating a specPkg from a spec file we must increase spec file
reference counter. Otherwise spec file may be accidentally deallocated
@ -78,6 +78,3 @@ index 558fbf207..65b8dc3d7 100644
+PyObject * specPkg_Wrap(PyTypeObject *subtype, rpmSpecPkg pkg, specObject *source);
#endif /* RPMPYTHON_SPEC */
--
2.13.2

View File

@ -1,7 +1,7 @@
From 46b763e54de34d0dd28d82e3a87b59c6a94a4c07 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Tue, 14 Jun 2016 17:07:12 +0200
Subject: [PATCH 04/54] Add build-id links to rpm for all ELF files.
Subject: [PATCH] Add build-id links to rpm for all ELF files.
This patch moves the main ELF file build-id symlinks from the
debuginfo package into the main package. And uses different
@ -1561,6 +1561,3 @@ index b51266a2d..5495cced1 100644
m4_include([rpmscript.at])
m4_include([rpmvercmp.at])
m4_include([rpmdeps.at])
--
2.13.2

View File

@ -1,7 +1,7 @@
From 3edae790572203f07a28448fedfda82d0629f4fb Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Tue, 14 Jun 2016 17:07:13 +0200
Subject: [PATCH 05/54] Make it possible to have unique build-ids across build
Subject: [PATCH] Make it possible to have unique build-ids across build
versions/releases.
Introduce a new macro _unique_build_ids that when set will pass the
@ -344,6 +344,3 @@ index cf89312fa..c0147f086 100644
/* Ensure clean paths, users can muck with these */
if (base_dir)
canonicalize_path(base_dir, base_dir);
--
2.13.2

View File

@ -1,7 +1,7 @@
From 68a0323ab1738aee40f9f5a60a7fb3163162bf39 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Tue, 14 Jun 2016 17:07:14 +0200
Subject: [PATCH 06/54] Make adding GDB index sections configurable.
Subject: [PATCH] Make adding GDB index sections configurable.
Introduces _include_gdb_index macro and -i flag to find-debuginfo.sh to
enable or disable adding a .gdb_index section to debug files. Adds tests
@ -210,6 +210,3 @@ index 1531700e1..a3123244c 100644
+[],
+[ignore])
+AT_CLEANUP
--
2.13.2

View File

@ -1,7 +1,7 @@
From 5b29c09c31982a712844cb2bbcd0bfff09c457d1 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Thu, 16 Jun 2016 14:24:22 +0200
Subject: [PATCH 07/54] Add option to have unique debug file names across
Subject: [PATCH] Add option to have unique debug file names across
version/release/arch.
Introduce a new macro _unique_debug_names that when set will pass
@ -802,6 +802,3 @@ index 1da63022d..ede1181e1 100644
id2=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
--
2.13.2

View File

@ -1,7 +1,7 @@
From a040e812b39d1fcc6aa69ca6aa5ff2fe4316a018 Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 3 Oct 2016 12:36:46 +0300
Subject: [PATCH 08/54] Fix behavior when %_build_id_links is undefined
Subject: [PATCH] Fix behavior when %_build_id_links is undefined
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 tries to behave sanely
and use compat setting when %_build_id_links is undefined, but
@ -26,6 +26,3 @@ index eb398562a..6215bf85c 100644
rpmlog(RPMLOG_WARNING,
_("_build_id_links macro not set, assuming 'compat'\n"));
build_id_links = BUILD_IDS_COMPAT;
--
2.13.2

View File

@ -1,8 +1,8 @@
From 932c2170e961d393569992b2f9c3ab8ee415f01b Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Wed, 9 Nov 2016 09:16:48 +0200
Subject: [PATCH 09/54] Fix debuginfo etc when subpackages have different
versions (RhBug:1051407)
Subject: [PATCH] Fix debuginfo etc when subpackages have different versions
(RhBug:1051407)
Rpm has always been a bit dazed and confused when it comes to specs
with sub-packages having different version etc from the main package.
@ -137,6 +137,3 @@ index 68bf39194..4d9028254 100644
# bzr doesn't seem to have its own command to apply patches?
%__scm_apply_bzr(qp:m:)\
--
2.13.2

View File

@ -1,7 +1,7 @@
From 29f756e3fba09f6a66515970978367829862f35c Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Thu, 5 Jan 2017 12:13:54 +0200
Subject: [PATCH 10/54] Only process regular files when generating build-ids
Subject: [PATCH] Only process regular files when generating build-ids
Versioned shared libraries typically have several symlinks pointing
to them directly and indirectly. When %_build_id_links is set to compat or
@ -47,6 +47,3 @@ index 2ede463a1..ca041764f 100644
}
}
--
2.13.2

View File

@ -1,7 +1,7 @@
From 1b34b839b788264ffcd3ab90a0612cad3b843f7f Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date: Wed, 10 Aug 2016 13:58:30 +0200
Subject: [PATCH 11/54] configure.ac: use LIBDW always conditionally
Subject: [PATCH] configure.ac: use LIBDW always conditionally
References: https://bugzilla.redhat.com/show_bug.cgi?id=1365278
Reported-and-tested-by: Neal Gompa <ngompa13@gmail.com>
@ -38,6 +38,3 @@ index 8890c3c32..33c8f344f 100644
#=================
# Process --with/without-external-db
--
2.13.2

View File

@ -1,7 +1,7 @@
From f41a0a8c6839e3962e10a7bd3aad39127a764748 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Wed, 24 Aug 2016 17:06:34 +0200
Subject: [PATCH 12/54] Fix libdw configure check.
Subject: [PATCH] Fix libdw configure check.
commit a82119 "configure.ac: use LIBDW always conditionally" contained
a typo that caused WITH_LIBDW_LIB never to be set when you were using
@ -26,6 +26,3 @@ index 33c8f344f..9596a97b3 100644
AC_CHECK_HEADERS([elfutils/libdwelf.h],[
AC_CHECK_LIB(dw, dwelf_elf_gnu_build_id, [
AC_DEFINE(HAVE_LIBDW, 1,
--
2.13.2

View File

@ -1,7 +1,7 @@
From ddb7c4abddd746d7ec354fb89be16a2411a92cba Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 27 Feb 2017 16:28:18 +0100
Subject: [PATCH 13/54] debugedit: Support String/Line table rewriting for
Subject: [PATCH] debugedit: Support String/Line table rewriting for
larger/smaller paths.
debugedit --base to --dest rewriting of debug source file paths only
@ -2098,6 +2098,3 @@ index c0147f086..4798c6370 100644
poptFreeContext (optCon);
return 0;
--
2.13.2

View File

@ -1,7 +1,7 @@
From 0febf191cc874a822f045c24587d412e4d0ec33c Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 28 Feb 2017 21:34:34 +0100
Subject: [PATCH 14/54] Add option to have unique debug source dirs across
Subject: [PATCH] Add option to have unique debug source dirs across
version/release/arch.
Introduce a new macro _unique_debug_srcs that when set will pass
@ -287,6 +287,3 @@ index ede1181e1..15c06202f 100644
-ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
--
2.13.2

View File

@ -1,7 +1,7 @@
From 590081d625b22b5845015949ecb184989377c928 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 9 Mar 2017 09:34:01 +0100
Subject: [PATCH 15/54] generateBuildIDs: Don't warn or error for object files
Subject: [PATCH] generateBuildIDs: Don't warn or error for object files
without build-id.
Only loadable ELF images (executables, shared libraries, kernel modules)
@ -48,6 +48,3 @@ index ca041764f..274b38c62 100644
} else {
rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING,
(len < 16
--
2.13.2

View File

@ -1,7 +1,7 @@
From 5bc9efa303efe933b02cc8679ef3134668839831 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 9 Mar 2017 15:52:12 +0100
Subject: [PATCH 16/54] build/files.c: Unset __debug_package implies missing
Subject: [PATCH] build/files.c: Unset __debug_package implies missing
build-ids aren't fatal.
Historically we have only checked build_ids when __debug_package was
@ -31,6 +31,3 @@ index 274b38c62..b19abf299 100644
/* Collect and check all build-ids for ELF files in this package. */
int needMain = 0;
--
2.13.2

View File

@ -1,7 +1,7 @@
From fa61c840ba6be18c6579b247605634c1e2a320f8 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 9 Mar 2017 22:13:01 +0100
Subject: [PATCH 17/54] generateBuildIDs: Fix error handling.
Subject: [PATCH] generateBuildIDs: Fix error handling.
commit e6bdf7 made it so that we don't give a warning or error message
for non-kernel ET_REL object files with missing or bad build-ids. But
@ -65,6 +65,3 @@ index b19abf299..fef0c6960 100644
#endif
/* Verify that file attributes scope over hardlinks correctly. */
--
2.13.2

View File

@ -1,8 +1,8 @@
From 651264c51dfb13bf78bb969a429719f301497631 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 15 Mar 2017 20:07:29 +0100
Subject: [PATCH 18/54] Make sure to reset file attributes for generated
build-id directories.
Subject: [PATCH] Make sure to reset file attributes for generated build-id
directories.
[Note this patch is currently being tested in Fedora. See bug below.]
@ -189,6 +189,3 @@ index 15c06202f..1cae26dbf 100644
+],
+[ignore])
+AT_CLEANUP
--
2.13.2

View File

@ -1,7 +1,7 @@
From 20636f4358db0cb85f2251333190626dc2e4ee02 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 19 May 2017 23:11:39 +0200
Subject: [PATCH 19/54] rpmbuild: Reset attrFlags in generateBuildIDs.
Subject: [PATCH] rpmbuild: Reset attrFlags in generateBuildIDs.
Debuginfo directories and files could be marked as configuration files
if the file list ended with a config file.
@ -124,6 +124,3 @@ index 1cae26dbf..a0e39782c 100644
+],
+[ignore])
+AT_CLEANUP
--
2.13.2

View File

@ -1,8 +1,8 @@
From 8e74618100580a1370b9045296c4d2d37340735f Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 16 Mar 2017 22:53:54 +0100
Subject: [PATCH 20/54] debugedit: Fix edit_dwarf2_line replace_dirs ->
replace_files typo.
Subject: [PATCH] debugedit: Fix edit_dwarf2_line replace_dirs -> replace_files
typo.
We wouldn't replace the changed file names if replace_dirs was false,
but replace_files was true. This could overrun the new debug_line data
@ -32,6 +32,3 @@ index 4798c6370..87a423fdb 100644
{
file_path = skip_dir_prefix (file, base_dir);
if (file_path != NULL)
--
2.13.2

View File

@ -1,7 +1,7 @@
From 430f012c5794873a84db81b93c5858ca96ea4559 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 17 Mar 2017 11:14:00 +0100
Subject: [PATCH 21/54] build/files.c (processPackageFiles): Don't call
Subject: [PATCH] build/files.c (processPackageFiles): Don't call
generateBuildIDs for noarch.
We don't want to do build-id processing for noarch packages. It might be
@ -40,6 +40,3 @@ index 6c0ca39ef..9e58ae547 100644
}
#endif
--
2.13.2

View File

@ -1,8 +1,8 @@
From 5598e24ef8aef14727ff72eea71ec460200bc2e3 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 17 Mar 2017 21:03:35 +0100
Subject: [PATCH 22/54] debugedit: Fix cross-endian build-id reading and
updating section data.
Subject: [PATCH] debugedit: Fix cross-endian build-id reading and updating
section data.
debugedit doesn't read raw mmap data any longer. Which made the complex
way to read the build-id unnecessary (and it was broken for cross-endian).
@ -115,6 +115,3 @@ index 87a423fdb..0f373162d 100644
{
Elf *elf = dso->elf;
GElf_Off last_offset;
--
2.13.2

View File

@ -1,7 +1,7 @@
From 8cd45c82a968404929e00dce65644f81e906591b Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 3 Mar 2017 23:51:13 +0100
Subject: [PATCH 23/54] tests/tpmbuild.at: Make file sed regexp more strict to
Subject: [PATCH] tests/tpmbuild.at: Make file sed regexp more strict to
extract BuildID.
In some testcases we extract the BuildID with the file command.
@ -55,6 +55,3 @@ index a46822f52..dcbdd2cad 100644
test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
--
2.13.2

View File

@ -1,8 +1,8 @@
From 58f2b095c0d1507ad09990669f1ae03f6f1d931f Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 20 Mar 2017 09:55:44 +0100
Subject: [PATCH 24/54] tests/rpmbuildid.at: Make file sed regexp more strict
to extract BuildID.
Subject: [PATCH] tests/rpmbuildid.at: Make file sed regexp more strict to
extract BuildID.
Like commit f0a5819 for rpmbuild.at. In the case of rpmbuildid.at the
sed expression looked to work, but only matched by accident. Make the sed
@ -217,6 +217,3 @@ index a0e39782c..158ce122d 100644
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
],
--
2.13.2

View File

@ -1,8 +1,8 @@
From c21bf3aefdcfb22bc3f41888ef090c6d5a45baec Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 20 Mar 2017 11:52:00 +0100
Subject: [PATCH 25/54] build/files.c: Only check build-ids for executable
files in the main package.
Subject: [PATCH] build/files.c: Only check build-ids for executable files in
the main package.
generateBuildIDs should mimic what find-debuginfo.sh does. Only check
build-ids for executable files in non-debuginfo packages. This moves the
@ -57,6 +57,3 @@ index 9e58ae547..9f7def78c 100644
needDbg = 1;
addid = 1;
}
--
2.13.2

View File

@ -1,8 +1,8 @@
From 419ae36f2c0dad195737982b446fcace507d0814 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 21 Mar 2017 16:57:44 +0100
Subject: [PATCH 26/54] debugedit: Fix off-by-one adding DW_FORM_string
replacement slashes.
Subject: [PATCH] debugedit: Fix off-by-one adding DW_FORM_string replacement
slashes.
We would put one too many slashes in between the new dest_dir and file name
part of the replacement of a DW_FORM_string in the .debug_info. If there
@ -46,6 +46,3 @@ index 0f373162d..b618dceb5 100644
}
}
}
--
2.13.2

View File

@ -1,7 +1,7 @@
From 6328e1e0da3ba26885f095ccbd83d223d5830527 Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Thu, 5 Jan 2017 13:47:28 +0200
Subject: [PATCH 27/54] Unbreak short-circuited binary builds
Subject: [PATCH] Unbreak short-circuited binary builds
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 broke short-circuited
binary builds (which can be handy for testing when working on large
@ -172,6 +172,3 @@ index 9f7def78c..2f02587f0 100644
free(targetstr);
}
}
--
2.13.2

View File

@ -1,8 +1,8 @@
From 349489c3219e31efd552d87e255b06a864d1c034 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sun, 16 Apr 2017 18:16:02 +0200
Subject: [PATCH 28/54] find-debuginfo.sh: Only add minisymtab for executables
or shared libraries.
Subject: [PATCH] find-debuginfo.sh: Only add minisymtab for executables or
shared libraries.
It only makes sense to add a minisymtab for executables and shared
libraries. Other executable ELF files (like kernel modules) don't need it.
@ -37,6 +37,3 @@ index 1420ef6cd..f1ffcd7d8 100644
echo "./${f#$RPM_BUILD_ROOT}" >> "$ELFBINSFILE"
--
2.13.2

View File

@ -1,7 +1,7 @@
From 525282b9a8b78c2890c752e45c4dc7dcf25f42cb Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sun, 16 Apr 2017 18:16:46 +0200
Subject: [PATCH 29/54] debugedit: Add -n, --no-recompute-build-id.
Subject: [PATCH] debugedit: Add -n, --no-recompute-build-id.
Some packages depend on the build-ids as generated during the build
and cannot handle rpmbuild recomputing them before generating the
@ -280,6 +280,3 @@ index b618dceb5..8444e030e 100644
goto print;
/* Clear the old bits so they do not affect the new hash. */
--
2.13.2

View File

@ -1,8 +1,7 @@
From ba8f2239de528f02d272aed71599a4a560ddd238 Mon Sep 17 00:00:00 2001
From: Robin Lee <cheeselee@fedoraproject.org>
Date: Sat, 8 Apr 2017 21:21:39 +0800
Subject: [PATCH 30/54] Fix non-standard inherented modes of directories in
debuginfo
Subject: [PATCH] Fix non-standard inherented modes of directories in debuginfo
In case that binary compiled from source generated in /tmp, a
/usr/src/debug/tmp directory will be created with the same mode as
@ -34,6 +33,3 @@ index 1d3dc0623..5087c4050
fi
if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
--
2.13.2

View File

@ -1,7 +1,7 @@
From 387acd5cb74c968b4751a1c2c731964fc1ab6c3f Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 21 Apr 2017 17:33:26 +0200
Subject: [PATCH 31/54] debugedit: Only output comp_dir under build dir (once).
Subject: [PATCH] debugedit: Only output comp_dir under build dir (once).
The fix for rhbz#444310 (commit c1a5eb - Include empty CU current dirs)
was a little greedy. It would also include comp_dirs outside the build
@ -76,6 +76,3 @@ index 8444e030e..bf115136c 100644
}
}
--
2.13.2

View File

@ -1,8 +1,8 @@
From 534fae47e4d05fd27c277c9e04ad238e608289f5 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.com>
Date: Sat, 10 Sep 2016 23:13:24 +0200
Subject: [PATCH 32/54] find-debuginfo.sh: Split directory traversal and
debuginfo extraction
Subject: [PATCH] find-debuginfo.sh: Split directory traversal and debuginfo
extraction
This siplifies the handling of hardlinks a bit and allows a later patch
to parallelize the debuginfo extraction.
@ -109,6 +109,3 @@ index 5087c4050..097b749bb
# Invoke the DWARF Compressor utility.
if $run_dwz \
--
2.13.2

View File

@ -1,8 +1,8 @@
From 3e0419ebc11494d9848decfdfb4909cbce9448b7 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 28 Jun 2017 14:21:32 +0200
Subject: [PATCH 33/54] find-debuginfo.sh: Use 'return', not 'continue', to
break out do_file().
Subject: [PATCH] find-debuginfo.sh: Use 'return', not 'continue', to break out
do_file().
commit 038bfe "Split directory traversal and debuginfo extraction"
put the core of a while loop into its own function 'do_file()'.
@ -32,6 +32,3 @@ index 097b749bb..c435a02e4 100644
esac
mkdir -p "${debugdn}"
--
2.13.2

View File

@ -1,7 +1,7 @@
From aede94115e077e87504b03bf668ef375290200ad Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.com>
Date: Sat, 10 Sep 2016 23:13:25 +0200
Subject: [PATCH 34/54] find-debuginfo.sh: Process files in parallel
Subject: [PATCH] find-debuginfo.sh: Process files in parallel
Add a -j <n> option, which, when used, will spawn <n> processes to do the
debuginfo extraction in parallel. A pipe is used to dispatch the files among
@ -120,6 +120,3 @@ index c435a02e4..d8b718bdf 100644
# Invoke the DWARF Compressor utility.
if $run_dwz \
--
2.13.2

View File

@ -1,7 +1,7 @@
From ac275c650fee13ec0fd204bf2b05fbff01a053cd Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Tue, 28 Mar 2017 14:20:50 +0200
Subject: [PATCH 35/54] Untangle unique build options in find-debuginfo.sh
Subject: [PATCH] Untangle unique build options in find-debuginfo.sh
Rename --ver-rel option to --build-id-seed, so that it reflects what
it does, not how it is used.
@ -170,6 +170,3 @@ index d8b718bdf..cd2931c0d 100644
fi
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
--
2.13.2

View File

@ -1,7 +1,7 @@
From 01145b9b68b89d0d4d6d5a77d9af70dba7dbc9a3 Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Tue, 28 Mar 2017 14:21:40 +0200
Subject: [PATCH 36/54] Support debugsource subpackages
Subject: [PATCH] Support debugsource subpackages
This can be enabled by setting the _debugsource_packages macro.
@ -120,6 +120,3 @@ index cd2931c0d..bede833d7 100644
# Append to $1 only the lines from stdin not already in the file.
append_uniq()
{
--
2.13.2

View File

@ -1,7 +1,7 @@
From bc5c404e7415108f15a8cd5e8514a74b43a7755a Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Fri, 24 Mar 2017 15:35:23 +0100
Subject: [PATCH 37/54] Support debuginfo subpackages
Subject: [PATCH] Support debuginfo subpackages
We do this by filtering the debuginfo files generated by find-debuginfo.sh
with the files from the (sub)packages.
@ -474,6 +474,3 @@ index d104ad5a7..0c055a7fd 100644
#
# Use internal dependency generator rather than external helpers?
%_use_internal_dependency_generator 1
--
2.13.2

View File

@ -1,7 +1,7 @@
From 9f826d903dabbc2ce199560e296224c320bb840f Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Wed, 29 Mar 2017 14:55:10 +0200
Subject: [PATCH 38/54] Also add directories to split debuginfo packages
Subject: [PATCH] Also add directories to split debuginfo packages
This gets rid of the last difference between debuginfo subpackages
and normal debuginfo packages.
@ -65,6 +65,3 @@ index 779a2a102..f27dcc7c1 100644
if (files) {
/* we have collected some files. Now put them in a debuginfo
* package. If this is not the main package, clone the main
--
2.13.2

View File

@ -1,8 +1,7 @@
From faaf3bbfc261f49eda996801b50996fb1066092f Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 28 Jun 2017 20:25:39 +0200
Subject: [PATCH 39/54] debugedit: skip_dir_prefix should check for dir
separator.
Subject: [PATCH] debugedit: skip_dir_prefix should check for dir separator.
To count as a real directory prefix the string matched should either
be equal to the given prefix or start with the prefix plus '/'.
@ -53,6 +52,3 @@ index bf115136c..682189929 100644
}
/* Most strings will be in the existing debug string table. But to
--
2.13.2

View File

@ -1,8 +1,8 @@
From b4d166652011f0d0e8573feb616283698f6cf848 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 28 Jun 2017 13:34:55 +0200
Subject: [PATCH 40/54] find-debuginfo.sh: Filter out all <built-in> like fake
file names.
Subject: [PATCH] find-debuginfo.sh: Filter out all <built-in> like fake file
names.
There is no official way to mark an instruction range as being not
part of some actual source code, but as part of a compiler built-in
@ -38,6 +38,3 @@ index bede833d7..eb62a158a 100644
(cd "${debug_base_name}"; cpio -pd0mL "${RPM_BUILD_ROOT}${debug_dest_name}")
# stupid cpio creates new directories in mode 0700,
# and non-standard modes may be inherented from original directories, fixup
--
2.13.2

View File

@ -1,8 +1,8 @@
From f22cb2890026544499ee4f1a309a44c71e0b8152 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 26 Jun 2017 17:38:30 +0200
Subject: [PATCH 41/54] find-debuginfo.sh: Don't create dwz multi file if there
is only one .debug.
Subject: [PATCH] find-debuginfo.sh: Don't create dwz multi file if there is
only one .debug.
dwz -m multi only works when there are multiple .debug input files.
With just one .debug file it doesn't really make sense to extract
@ -52,6 +52,3 @@ index eb62a158a..3bfc15a79 100644
else
echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed"
exit 2
--
2.13.2

View File

@ -1,8 +1,7 @@
From 201b856c02aeb3c4fc6b3a8b96ce8817278f4fbf Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 26 Jun 2017 13:35:48 +0200
Subject: [PATCH 42/54] Update find-debuginfo.sh options and macros
documentation.
Subject: [PATCH] Update find-debuginfo.sh options and macros documentation.
This adds some missing documentation for rpm macros and find-debuginfo.sh
options that were recently added (or renamed). -j N, --build-id-seed SEED,
@ -109,6 +108,3 @@ index 3bfc15a79..185d25f96 100644
#
# All file names in switches are relative to builddir (. if not given).
#
--
2.13.2

View File

@ -1,7 +1,7 @@
From 709e675cdf0c8f9b07507aad12400398f354cc90 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Mon, 16 Jan 2017 09:19:43 -0500
Subject: [PATCH 43/54] Add OpenSSL support for digest and signatures
Subject: [PATCH] Add OpenSSL support for digest and signatures
Autotools: add --with-crypto=openssl
This enables RPM to locate the appropriate flags for compiling
@ -1168,6 +1168,3 @@ index 000000000..aea460e39
+ }
+ return sa;
+}
--
2.13.2

View File

@ -1,8 +1,8 @@
From 287cda21a5594ad41ffbd29eb01022f314637bdf Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Tue, 28 Feb 2017 10:57:56 +0100
Subject: [PATCH 44/54] Use RPMTAG_*NAME instead of RPMTAG_*FLAGS in
parsePreamble.c and parseRCPOT()
Subject: [PATCH] Use RPMTAG_*NAME instead of RPMTAG_*FLAGS in parsePreamble.c
and parseRCPOT()
Using the FLGS tags is awkward and inconsistent with other part of the code
routinly use the NAME tags to denominate the type of dependencies.
@ -147,6 +147,3 @@ index 73915015a..ce192fa9c 100644
freeStringBuf(sb_stdout);
if (rc) {
--
2.13.2

View File

@ -1,8 +1,7 @@
From 4fb394a677c17a33c7e3f3455a1a6c109200b87e Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Tue, 28 Feb 2017 17:42:21 +0100
Subject: [PATCH 45/54] Fix check for weak deps in external dependency
generator
Subject: [PATCH] Fix check for weak deps in external dependency generator
(cherry picked from commit 43d230884365d90d42184a0000f44bb33e5f1ab8)
---
@ -32,6 +31,3 @@ index ce192fa9c..921814ad1 100644
if (fc->skipReq)
continue;
tagflags = RPMSENSE_FIND_REQUIRES;
--
2.13.2

View File

@ -1,7 +1,7 @@
From 9a316cbeb61549b3004692c9dd8437b9fa805e74 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Thu, 9 Mar 2017 12:12:32 +0100
Subject: [PATCH 46/54] Fix check whether to allow rich deps in a given tag
Subject: [PATCH] Fix check whether to allow rich deps in a given tag
Broken with 9d5bbd9774d00f50749bb045217eaf91c87b6de0
@ -54,6 +54,3 @@ index bd728ed2d..6c2aead4e 100644
rasprintf(&emsg, _("No rich dependencies allowed for this type"));
goto exit;
}
--
2.13.2

View File

@ -1,8 +1,7 @@
From 27c263a877dd4bfac12ae716038dfbb0a305625b Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Thu, 9 Mar 2017 14:02:10 +0100
Subject: [PATCH 47/54] Re-enable rich dependecies for build requires and
conflicts
Subject: [PATCH] Re-enable rich dependecies for build requires and conflicts
(cherry picked from commit cb3dc0b43bd9a119196a527504d03d57d0785092)
---
@ -25,6 +24,3 @@ index 6c2aead4e..4d500c1df 100644
break;
case RPMTAG_FILETRIGGERIN:
nametag = RPMTAG_FILETRIGGERNAME;
--
2.13.2

View File

@ -1,8 +1,7 @@
From c1ed362facbab3d08b5576950d4c6a68cfae9e75 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <ignatenko@redhat.com>
Date: Sat, 25 Feb 2017 12:28:16 +0100
Subject: [PATCH 48/54] add support for rich dependencies from dependency
generators
Subject: [PATCH] add support for rich dependencies from dependency generators
Mostly achieved by replacing custom parser with the parseRCPOT().
@ -274,6 +273,3 @@ index 921814ad1..7fa8227d0 100644
freeStringBuf(sb_stdout);
if (rc) {
--
2.13.2

View File

@ -1,8 +1,7 @@
From d6a1e94f18d2f73e7b03025d891aa7e407cb169a Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Wed, 31 May 2017 10:42:03 +0200
Subject: [PATCH 49/54] Pass proper file index when recording generated
dependencies
Subject: [PATCH] Pass proper file index when recording generated dependencies
Resolves regression introduced with 8f509d6
Fixes #224
@ -25,6 +24,3 @@ index 7fa8227d0..72f29ddf5 100644
rc++;
}
--
2.13.2

View File

@ -1,8 +1,8 @@
From c24003b77926967589546681ef893e4e11f6b77f Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Fri, 19 May 2017 11:01:12 +0300
Subject: [PATCH 50/54] Consolidate %defattr/%attr(-,root,root) generation to
helper function
Subject: [PATCH] Consolidate %defattr/%attr(-,root,root) generation to helper
function
(cherry picked from commit b71d63ef598cb5bf504265a18166d782fb017569)
---
@ -97,6 +97,3 @@ index f27dcc7c1..e93efebd7 100644
argvAdd(&pkg->fileList, path);
path = _free(path);
ret = 1;
--
2.13.2

View File

@ -1,8 +1,7 @@
From bc5990647ad94fcb4acdb68612e16fe514ee59b7 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 29 Jun 2017 13:26:24 +0200
Subject: [PATCH 51/54] Extract package file list processing in separate
functions.
Subject: [PATCH] Extract package file list processing in separate functions.
Extract two functions resetPackageFilesDefaults() and addPackageFileList()
from processPackageFiles(). This will make it possible to add multiple
@ -254,6 +253,3 @@ index e93efebd7..8baf85e9d 100644
FileListFree(&fl);
specialDirFree(specialDoc);
specialDirFree(specialLic);
--
2.13.2

View File

@ -1,7 +1,7 @@
From 97ad525723d0c9af382acadc823b6a744d5426cf Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 29 Jun 2017 13:26:25 +0200
Subject: [PATCH 52/54] Use a file list to add build-id files to pkgList.
Subject: [PATCH] Use a file list to add build-id files to pkgList.
Change the generation of build-id files to a file list using ARGV_t.
First go through the current package list and generate a files list.
@ -188,6 +188,3 @@ index 8baf85e9d..e88a5d24d 100644
/* collect the debug files for package pkg and put them into
* a (possibly new) debuginfo subpackage */
static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
--
2.13.2

View File

@ -1,8 +1,8 @@
From 13369a562f5cba34779e238b2d6ae0b683ff3b1e Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 29 Jun 2017 13:26:26 +0200
Subject: [PATCH 53/54] Change mkattr to always create a %defattr with
explicitly set modes.
Subject: [PATCH] Change mkattr to always create a %defattr with explicitly set
modes.
mkattr used "-" as default mode which would pick up the mode for files
as they were on disk. This could cause files generated by rpmbuild to
@ -80,6 +80,3 @@ index e88a5d24d..29274926c 100644
argvAdd(&pkg->fileList, attr);
free(attr);
}
--
2.13.2

View File

@ -1,7 +1,7 @@
From e7462b81f69933f531ee6905681a24ac61e11bf6 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Fri, 7 Jul 2017 11:30:42 +0200
Subject: [PATCH 54/54] rpmfc: fix ternary operator
Subject: [PATCH] rpmfc: fix ternary operator
Fixes: 9d5bbd9774d00f50749bb045217eaf91c87b6de0
References: https://bugzilla.redhat.com/show_bug.cgi?id=1468476
@ -25,6 +25,3 @@ index 72f29ddf5..271bfbea8 100644
freeStringBuf(sb_stdout);
if (rc) {
--
2.13.2

View File

@ -1,7 +1,7 @@
From 7bac47a54fef8fc01fa29865a9622677dbdfa28d Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <ignatenko@redhat.com>
Date: Wed, 3 Aug 2016 11:14:05 +0200
Subject: [PATCH 55/55] let debuginfo packages provide the build-id
Subject: [PATCH] let debuginfo packages provide the build-id
This patch lets debuginfo packages provide build-id like follows:
@ -98,6 +98,3 @@ index 000000000..a8636c976
+ ;;
+ esac
+done
--
2.13.2

View File

@ -0,0 +1,81 @@
From 85395ae424cf79bc05abe94472bdc11ea9239753 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Mon, 17 Jul 2017 12:58:26 +0200
Subject: [PATCH] find-debuginfo.sh: Add --keep-section and --remove-section
for eu-strip.
Use --keep-section SECTION or --remove-section SECTION to explicitly
keep a (non-allocated) section in the main executable or explicitly
remove it into the .debug file. SECTION is an extended wildcard pattern.
Both options can be given more than once.
https://bugzilla.redhat.com/show_bug.cgi?id=1465997
Signed-off-by: Mark Wielaard <mark@klomp.org>
(cherry picked from commit b388bfe936dd6d68d2f4efd1b4393bf8f8c13fe8)
---
scripts/find-debuginfo.sh | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
index 185d25f96..5ec52d3bc 100644
--- a/scripts/find-debuginfo.sh
+++ b/scripts/find-debuginfo.sh
@@ -3,6 +3,7 @@
#for inclusion in an rpm spec file.
#
# Usage: find-debuginfo.sh [--strict-build-id] [-g] [-r] [-m] [-i] [-n]
+# [--keep-section SECTION] [--remove-section SECTION]
# [-j N]
# [-o debugfiles.list]
# [-S debugsourcefiles.list]
@@ -15,9 +16,14 @@
# [builddir]
#
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
+# The -r flag says to use eu-strip --reloc-debug-sections.
+# Use --keep-section SECTION or --remove-section SECTION to explicitly
+# keep a (non-allocated) section in the main executable or explicitly
+# remove it into the .debug file. SECTION is an extended wildcard pattern.
+# Both options can be given more than once.
+#
# The --strict-build-id flag says to exit with failure status if
# any ELF binary processed fails to contain a build-id note.
-# The -r flag says to use eu-strip --reloc-debug-sections.
# The -m flag says to include a .gnu_debugdata section in the main binary.
# The -i flag says to include a .gdb_index section in the .debug file.
# The -n flag says to not recompute the build-id.
@@ -65,6 +71,9 @@ strip_g=false
# with -r arg, pass --reloc-debug-sections to eu-strip.
strip_r=false
+# keep or remove arguments to eu-strip.
+keep_remove_args=
+
# with -m arg, add minimal debuginfo to binary.
include_minidebug=false
@@ -158,6 +167,14 @@ while [ $# -gt 0 ]; do
-r)
strip_r=true
;;
+ --keep-section)
+ keep_remove_args="${keep_remove_args} --keep-section $2"
+ shift
+ ;;
+ --remove-section)
+ keep_remove_args="${keep_remove_args} --remove-section $2"
+ shift
+ ;;
-j)
n_jobs=$2
shift
@@ -215,7 +232,7 @@ strip_to_debug()
application/x-sharedlib*) g=-g ;;
application/x-executable*) g=-g ;;
esac
- eu-strip --remove-comment $r $g -f "$1" "$2" || exit
+ eu-strip --remove-comment $r $g ${keep_remove_args} -f "$1" "$2" || exit
chmod 444 "$1" || exit
}

View File

@ -33,7 +33,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}31%{?dist}
Release: %{?snapver:0.%{snapver}.}32%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://ftp.rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2
@ -57,6 +57,8 @@ Patch5: rpm-4.12.0-rpm2cpio-hack.patch
# Patches already upstream:
# All patches are tracked on https://pagure.io/rpm-fedora
# Regenerate them using -N and --no-signature to minimize differences:
# git format-patch -N --no-signature rpm-4.13.0.1-release..
Patch100: 0001-Use-correct-source-file-for-rpmsign-module.patch
Patch140: 0002-brp-python-bytecompile-Process-python-lib-dirs-even-.patch
@ -145,6 +147,10 @@ Patch330: 0054-rpmfc-fix-ternary-operator.patch
# debuginfo packages should automatically provide debuginfo(build-id) = ...
Patch331: 0055-let-debuginfo-packages-provide-the-build-id.patch
# find-debuginfo.sh: Add --keep-section and --remove-section for eu-strip.
# https://bugzilla.redhat.com/show_bug.cgi?id=1465997
Patch332: 0056-find-debuginfo.sh-Add-keep-section-and-remove-sectio.patch
# These are not yet upstream
Patch902: rpm-4.7.1-geode-i686.patch
# Probably to be upstreamed in slightly different form
@ -643,6 +649,9 @@ exit 0
%doc doc/librpm/html/*
%changelog
* Tue Jul 18 2017 Mark Wielaard <mjw@fedoraproject.org> - 4.13.0.1-32
- Add find-debuginfo.sh: Add --keep-section and --remove-section (#1465997)
* Wed Jul 12 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.13.0.1-31
- Add automatic provides debuginfo(build-id) = ... into debuginfo subpackages