Track all patches on pagure and git format-patch them since they are cherry-picked
This will give us more correct patches which is easier to rebase and they are taken from real upstream. Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
This commit is contained in:
parent
97b56ab27d
commit
082d5d0331
@ -1,8 +1,9 @@
|
|||||||
From eb632e5158fa4ef993b0e5df2a354f0be7a7a71d Mon Sep 17 00:00:00 2001
|
From 3936d5a227dfcfd502588c6fd8f52ccb826f11c4 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
|
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
|
||||||
Date: Wed, 20 Apr 2016 15:39:36 +0200
|
Date: Wed, 20 Apr 2016 15:39:36 +0200
|
||||||
Subject: [PATCH] Use correct source file for rpmsign module
|
Subject: [PATCH 01/49] Use correct source file for rpmsign module
|
||||||
|
|
||||||
|
(cherry picked from commit eb632e5158fa4ef993b0e5df2a354f0be7a7a71d)
|
||||||
---
|
---
|
||||||
python/setup.py.in | 2 +-
|
python/setup.py.in | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
@ -20,3 +21,6 @@ index b2c394136..f94873fe5 100644
|
|||||||
include_dirs = pkgconfig('--cflags'),
|
include_dirs = pkgconfig('--cflags'),
|
||||||
libraries = pkgconfig('--libs') + ['rpmsign'],
|
libraries = pkgconfig('--libs') + ['rpmsign'],
|
||||||
extra_compile_args = cflags,
|
extra_compile_args = cflags,
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,20 +1,21 @@
|
|||||||
From a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be Mon Sep 17 00:00:00 2001
|
From aa74f749e8eba102069aaafd0b2e18af8f5f0fa0 Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Tue, 14 Feb 2017 14:04:35 +0100
|
Date: Tue, 14 Feb 2017 14:04:35 +0100
|
||||||
Subject: [PATCH] brp-python-bytecompile: Process python lib dirs even without
|
Subject: [PATCH 02/49] brp-python-bytecompile: Process python lib dirs even
|
||||||
standard Python
|
without standard Python
|
||||||
|
|
||||||
There is no need for /usr/bin/python when byte compiling files in
|
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
|
/usr/lib/pythonX.Y (only /usr/bin/pythonX.Y). Moved check so we do not exit
|
||||||
prematurely.
|
prematurely.
|
||||||
|
|
||||||
Fixes: rhbz#1411588
|
Fixes: rhbz#1411588
|
||||||
|
(cherry picked from commit a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be)
|
||||||
---
|
---
|
||||||
scripts/brp-python-bytecompile | 13 ++++++-------
|
scripts/brp-python-bytecompile | 13 ++++++-------
|
||||||
1 file changed, 6 insertions(+), 7 deletions(-)
|
1 file changed, 6 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/scripts/brp-python-bytecompile b/scripts/brp-python-bytecompile
|
diff --git a/scripts/brp-python-bytecompile b/scripts/brp-python-bytecompile
|
||||||
index 838f23d..894fa34 100644
|
index 838f23d9d..894fa3459 100644
|
||||||
--- a/scripts/brp-python-bytecompile
|
--- a/scripts/brp-python-bytecompile
|
||||||
+++ b/scripts/brp-python-bytecompile
|
+++ b/scripts/brp-python-bytecompile
|
||||||
@@ -6,12 +6,6 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
|
@@ -6,12 +6,6 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
|
||||||
@ -45,5 +46,5 @@ index 838f23d..894fa34 100644
|
|||||||
# Generate normal (.pyc) byte-compiled files.
|
# 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" "/"
|
python_bytecompile "" $default_python "/bin/|/sbin/|/usr/lib(64)?/python[0-9]\.[0-9]|/usr/share/doc" "$RPM_BUILD_ROOT" "$depth" "/"
|
||||||
--
|
--
|
||||||
2.5.5
|
2.13.2
|
||||||
|
|
@ -1,16 +1,20 @@
|
|||||||
From aaf691dbc85295aeb09e1ea4081089a24dc28759 Mon Sep 17 00:00:00 2001
|
From 6e748a4eb167b2ca201d9e90b927cc4523eabeda Mon Sep 17 00:00:00 2001
|
||||||
From: Pavlina Moravcova Varekova <pmoravco@redhat.com>
|
From: Pavlina Moravcova Varekova <pmoravco@redhat.com>
|
||||||
Date: Tue, 21 Feb 2017 11:37:20 +0100
|
Date: Tue, 21 Feb 2017 11:48:27 +0100
|
||||||
Subject: [PATCH] Fix number of references on spec_Type (#114)
|
Subject: [PATCH 03/49] 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 and usage of SpecPkg can cause an error.
|
After creating a specPkg from a spec file we must increase spec file
|
||||||
|
reference counter. Otherwise spec file may be accidentally deallocated
|
||||||
|
and usage of SpecPkg can cause an error.
|
||||||
|
|
||||||
|
(cherry picked from commit 34b61a1f82f6f9b675ab4ca820b6255af63680f1)
|
||||||
---
|
---
|
||||||
python/spec-py.c | 14 +++++++++++---
|
python/spec-py.c | 14 +++++++++++---
|
||||||
python/spec-py.h | 2 +-
|
python/spec-py.h | 2 +-
|
||||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
2 files changed, 12 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/python/spec-py.c b/python/spec-py.c
|
diff --git a/python/spec-py.c b/python/spec-py.c
|
||||||
index f710f5c..753afba 100644
|
index f710f5c87..753afbad4 100644
|
||||||
--- a/python/spec-py.c
|
--- a/python/spec-py.c
|
||||||
+++ b/python/spec-py.c
|
+++ b/python/spec-py.c
|
||||||
@@ -45,8 +45,14 @@ struct specPkgObject_s {
|
@@ -45,8 +45,14 @@ struct specPkgObject_s {
|
||||||
@ -63,7 +67,7 @@ index f710f5c..753afba 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/python/spec-py.h b/python/spec-py.h
|
diff --git a/python/spec-py.h b/python/spec-py.h
|
||||||
index 558fbf2..65b8dc3 100644
|
index 558fbf207..65b8dc3d7 100644
|
||||||
--- a/python/spec-py.h
|
--- a/python/spec-py.h
|
||||||
+++ b/python/spec-py.h
|
+++ b/python/spec-py.h
|
||||||
@@ -13,6 +13,6 @@ extern PyTypeObject specPkg_Type;
|
@@ -13,6 +13,6 @@ extern PyTypeObject specPkg_Type;
|
||||||
@ -75,5 +79,5 @@ index 558fbf2..65b8dc3 100644
|
|||||||
|
|
||||||
#endif /* RPMPYTHON_SPEC */
|
#endif /* RPMPYTHON_SPEC */
|
||||||
--
|
--
|
||||||
2.7.4
|
2.13.2
|
||||||
|
|
@ -1,8 +1,7 @@
|
|||||||
From 189b4f88c8e100155ec23a1e0b214bdc8473532a Mon Sep 17 00:00:00 2001
|
From 46b763e54de34d0dd28d82e3a87b59c6a94a4c07 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mjw@redhat.com>
|
From: Mark Wielaard <mjw@redhat.com>
|
||||||
Date: Tue, 14 Jun 2016 17:07:12 +0200
|
Date: Tue, 14 Jun 2016 17:07:12 +0200
|
||||||
Subject: [PATCH 01/11] Add build-id links to rpm for all ELF files.
|
Subject: [PATCH 04/49] Add build-id links to rpm for all ELF files.
|
||||||
|
|
||||||
This patch moves the main ELF file build-id symlinks from the
|
This patch moves the main ELF file build-id symlinks from the
|
||||||
debuginfo package into the main package. And uses different
|
debuginfo package into the main package. And uses different
|
||||||
@ -31,6 +30,7 @@ There are several new testcases added to test the various settings
|
|||||||
using the new keyword "buildid".
|
using the new keyword "buildid".
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
(cherry picked from commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2)
|
||||||
---
|
---
|
||||||
build/Makefile.am | 4 +
|
build/Makefile.am | 4 +
|
||||||
build/files.c | 375 ++++++++++++++++++++
|
build/files.c | 375 ++++++++++++++++++++
|
||||||
@ -48,7 +48,7 @@ Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|||||||
create mode 100644 tests/rpmbuildid.at
|
create mode 100644 tests/rpmbuildid.at
|
||||||
|
|
||||||
diff --git a/build/Makefile.am b/build/Makefile.am
|
diff --git a/build/Makefile.am b/build/Makefile.am
|
||||||
index dbda716..71edbd1 100644
|
index dbda716ac..71edbd1c4 100644
|
||||||
--- a/build/Makefile.am
|
--- a/build/Makefile.am
|
||||||
+++ b/build/Makefile.am
|
+++ b/build/Makefile.am
|
||||||
@@ -26,3 +26,7 @@ librpmbuild_la_LIBADD = \
|
@@ -26,3 +26,7 @@ librpmbuild_la_LIBADD = \
|
||||||
@ -60,7 +60,7 @@ index dbda716..71edbd1 100644
|
|||||||
+librpmbuild_la_LIBADD += @WITH_LIBELF_LIB@ @WITH_LIBDW_LIB@
|
+librpmbuild_la_LIBADD += @WITH_LIBELF_LIB@ @WITH_LIBDW_LIB@
|
||||||
+endif
|
+endif
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index b76ce04..b010483 100644
|
index b76ce048f..b010483e4 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -14,6 +14,11 @@
|
@@ -14,6 +14,11 @@
|
||||||
@ -467,10 +467,10 @@ index b76ce04..b010483 100644
|
|||||||
genSourceRpmName(spec);
|
genSourceRpmName(spec);
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index b2ec501..08eceeb 100644
|
index 91fadbade..8890c3c32 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -367,6 +367,21 @@ AC_SUBST(WITH_ARCHIVE_LIB)
|
@@ -360,6 +360,21 @@ AC_SUBST(WITH_ARCHIVE_LIB)
|
||||||
AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
||||||
|
|
||||||
#=================
|
#=================
|
||||||
@ -493,7 +493,7 @@ index b2ec501..08eceeb 100644
|
|||||||
AC_ARG_WITH(external_db, [AS_HELP_STRING([--with-external-db],[build against an external Berkeley db])],
|
AC_ARG_WITH(external_db, [AS_HELP_STRING([--with-external-db],[build against an external Berkeley db])],
|
||||||
[case "$with_external_db" in
|
[case "$with_external_db" in
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index fd57f2e..e43d62b0 100644
|
index fd57f2eba..e43d62b0a 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -449,6 +449,34 @@ package or when debugging this package.\
|
@@ -449,6 +449,34 @@ package or when debugging this package.\
|
||||||
@ -532,7 +532,7 @@ index fd57f2e..e43d62b0 100644
|
|||||||
%_use_internal_dependency_generator 1
|
%_use_internal_dependency_generator 1
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 4293261..c9e2293 100644
|
index 4293261c9..c9e2293de 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -207,57 +207,6 @@ debug_link()
|
@@ -207,57 +207,6 @@ debug_link()
|
||||||
@ -631,7 +631,7 @@ index 4293261..c9e2293 100644
|
|||||||
|
|
||||||
# dwz invalidates .gnu_debuglink CRC32 in the main files.
|
# dwz invalidates .gnu_debuglink CRC32 in the main files.
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
index 7a5cc65..10555ce 100644
|
index 7a5cc6544..10555ce9a 100644
|
||||||
--- a/tests/Makefile.am
|
--- a/tests/Makefile.am
|
||||||
+++ b/tests/Makefile.am
|
+++ b/tests/Makefile.am
|
||||||
@@ -19,6 +19,7 @@ TESTSUITE_AT += rpmquery.at
|
@@ -19,6 +19,7 @@ TESTSUITE_AT += rpmquery.at
|
||||||
@ -644,7 +644,7 @@ index 7a5cc65..10555ce 100644
|
|||||||
TESTSUITE_AT += rpmdeps.at
|
TESTSUITE_AT += rpmdeps.at
|
||||||
diff --git a/tests/data/SPECS/hello2cp.spec b/tests/data/SPECS/hello2cp.spec
|
diff --git a/tests/data/SPECS/hello2cp.spec b/tests/data/SPECS/hello2cp.spec
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..33d8dc2
|
index 000000000..33d8dc260
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/tests/data/SPECS/hello2cp.spec
|
+++ b/tests/data/SPECS/hello2cp.spec
|
||||||
@@ -0,0 +1,64 @@
|
@@ -0,0 +1,64 @@
|
||||||
@ -714,7 +714,7 @@ index 0000000..33d8dc2
|
|||||||
+- create.
|
+- create.
|
||||||
diff --git a/tests/data/SPECS/hello2ln.spec b/tests/data/SPECS/hello2ln.spec
|
diff --git a/tests/data/SPECS/hello2ln.spec b/tests/data/SPECS/hello2ln.spec
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..2c40dcc
|
index 000000000..2c40dcc32
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/tests/data/SPECS/hello2ln.spec
|
+++ b/tests/data/SPECS/hello2ln.spec
|
||||||
@@ -0,0 +1,63 @@
|
@@ -0,0 +1,63 @@
|
||||||
@ -783,7 +783,7 @@ index 0000000..2c40dcc
|
|||||||
+- create.
|
+- create.
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..eddca96
|
index 000000000..eddca969b
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -0,0 +1,761 @@
|
@@ -0,0 +1,761 @@
|
||||||
@ -1550,7 +1550,7 @@ index 0000000..eddca96
|
|||||||
+AT_CLEANUP
|
+AT_CLEANUP
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/tests/rpmtests.at b/tests/rpmtests.at
|
diff --git a/tests/rpmtests.at b/tests/rpmtests.at
|
||||||
index b51266a..5495cce 100644
|
index b51266a2d..5495cced1 100644
|
||||||
--- a/tests/rpmtests.at
|
--- a/tests/rpmtests.at
|
||||||
+++ b/tests/rpmtests.at
|
+++ b/tests/rpmtests.at
|
||||||
@@ -4,6 +4,7 @@ m4_include([rpmverify.at])
|
@@ -4,6 +4,7 @@ m4_include([rpmverify.at])
|
||||||
@ -1562,5 +1562,5 @@ index b51266a..5495cce 100644
|
|||||||
m4_include([rpmvercmp.at])
|
m4_include([rpmvercmp.at])
|
||||||
m4_include([rpmdeps.at])
|
m4_include([rpmdeps.at])
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From 2a97fb48279af17049f96c661db040173185a650 Mon Sep 17 00:00:00 2001
|
From 3edae790572203f07a28448fedfda82d0629f4fb Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <2a97fb48279af17049f96c661db040173185a650.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mjw@redhat.com>
|
From: Mark Wielaard <mjw@redhat.com>
|
||||||
Date: Tue, 14 Jun 2016 17:07:13 +0200
|
Date: Tue, 14 Jun 2016 17:07:13 +0200
|
||||||
Subject: [PATCH 02/11] Make it possible to have unique build-ids across build
|
Subject: [PATCH 05/49] Make it possible to have unique build-ids across build
|
||||||
versions/releases.
|
versions/releases.
|
||||||
|
|
||||||
Introduce a new macro _unique_build_ids that when set will pass the
|
Introduce a new macro _unique_build_ids that when set will pass the
|
||||||
@ -15,6 +12,7 @@ Includes two new testcases to make sure the new setting works as expected
|
|||||||
both when set and unset.
|
both when set and unset.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
(cherry picked from commit 5ef1166ad96e3545784fa5420a49e1b2cd481e8e)
|
||||||
---
|
---
|
||||||
macros.in | 8 +++-
|
macros.in | 8 +++-
|
||||||
scripts/find-debuginfo.sh | 20 ++++++++-
|
scripts/find-debuginfo.sh | 20 ++++++++-
|
||||||
@ -25,7 +23,7 @@ Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|||||||
create mode 100644 tests/data/SPECS/hello-r2.spec
|
create mode 100644 tests/data/SPECS/hello-r2.spec
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index e43d62b0..dcd0961 100644
|
index e43d62b0a..dcd09612c 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -51,7 +49,7 @@ index e43d62b0..dcd0961 100644
|
|||||||
# Use internal dependency generator rather than external helpers?
|
# Use internal dependency generator rather than external helpers?
|
||||||
%_use_internal_dependency_generator 1
|
%_use_internal_dependency_generator 1
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index c9e2293..2cb9570 100644
|
index c9e2293de..2cb9570ba 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -6,6 +6,7 @@
|
@@ -6,6 +6,7 @@
|
||||||
@ -112,7 +110,7 @@ index c9e2293..2cb9570 100644
|
|||||||
fi
|
fi
|
||||||
diff --git a/tests/data/SPECS/hello-r2.spec b/tests/data/SPECS/hello-r2.spec
|
diff --git a/tests/data/SPECS/hello-r2.spec b/tests/data/SPECS/hello-r2.spec
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..ca5091d
|
index 000000000..ca5091d10
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/tests/data/SPECS/hello-r2.spec
|
+++ b/tests/data/SPECS/hello-r2.spec
|
||||||
@@ -0,0 +1,58 @@
|
@@ -0,0 +1,58 @@
|
||||||
@ -175,7 +173,7 @@ index 0000000..ca5091d
|
|||||||
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
|
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
|
||||||
+- create.
|
+- create.
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
index eddca96..1da6302 100644
|
index eddca969b..1da63022d 100644
|
||||||
--- a/tests/rpmbuildid.at
|
--- a/tests/rpmbuildid.at
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -758,4 +758,98 @@ debug id in debug package
|
@@ -758,4 +758,98 @@ debug id in debug package
|
||||||
@ -280,7 +278,7 @@ index eddca96..1da6302 100644
|
|||||||
+[ignore])
|
+[ignore])
|
||||||
+AT_CLEANUP
|
+AT_CLEANUP
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index cf89312..c0147f0 100644
|
index cf89312fa..c0147f086 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
@ -347,5 +345,5 @@ index cf89312..c0147f0 100644
|
|||||||
if (base_dir)
|
if (base_dir)
|
||||||
canonicalize_path(base_dir, base_dir);
|
canonicalize_path(base_dir, base_dir);
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From 270b8627b03bc39fb008a7da1a4fd6b259ff92b8 Mon Sep 17 00:00:00 2001
|
From 68a0323ab1738aee40f9f5a60a7fb3163162bf39 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <270b8627b03bc39fb008a7da1a4fd6b259ff92b8.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mjw@redhat.com>
|
From: Mark Wielaard <mjw@redhat.com>
|
||||||
Date: Tue, 14 Jun 2016 17:07:14 +0200
|
Date: Tue, 14 Jun 2016 17:07:14 +0200
|
||||||
Subject: [PATCH 03/11] Make adding GDB index sections configurable.
|
Subject: [PATCH 06/49] Make adding GDB index sections configurable.
|
||||||
|
|
||||||
Introduces _include_gdb_index macro and -i flag to find-debuginfo.sh to
|
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
|
enable or disable adding a .gdb_index section to debug files. Adds tests
|
||||||
@ -13,6 +10,10 @@ Checks that gdb-add-index is actually installed instead of silently
|
|||||||
failing if not. Similar for dwz.
|
failing if not. Similar for dwz.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
(cherry picked from commit 67d3df338875ad5d9601e360bfdbd4289f271bc1)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
scripts/find-debuginfo.sh
|
||||||
---
|
---
|
||||||
macros.debug | 1 +
|
macros.debug | 1 +
|
||||||
macros.in | 8 ++++++-
|
macros.in | 8 ++++++-
|
||||||
@ -21,7 +22,7 @@ Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|||||||
4 files changed, 94 insertions(+), 5 deletions(-)
|
4 files changed, 94 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.debug b/macros.debug
|
diff --git a/macros.debug b/macros.debug
|
||||||
index 6a8432e..d273c08 100644
|
index 6a8432eb7..d273c0876 100644
|
||||||
--- a/macros.debug
|
--- a/macros.debug
|
||||||
+++ b/macros.debug
|
+++ b/macros.debug
|
||||||
@@ -2,6 +2,7 @@
|
@@ -2,6 +2,7 @@
|
||||||
@ -33,7 +34,7 @@ index 6a8432e..d273c08 100644
|
|||||||
# Expanded at end of %install scriptlet
|
# Expanded at end of %install scriptlet
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index dcd0961..c845f58 100644
|
index dcd09612c..c845f5841 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -59,7 +60,7 @@ index dcd0961..c845f58 100644
|
|||||||
# The following settings are supported:
|
# The following settings are supported:
|
||||||
#
|
#
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 2cb9570..8e60813 100644
|
index 2cb9570ba..8e608134f 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@ -141,7 +142,7 @@ index 2cb9570..8e60813 100644
|
|||||||
rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null
|
rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null
|
||||||
if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then
|
if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then
|
||||||
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
||||||
index 1531700..a312324 100644
|
index 1531700e1..a3123244c 100644
|
||||||
--- a/tests/rpmbuild.at
|
--- a/tests/rpmbuild.at
|
||||||
+++ b/tests/rpmbuild.at
|
+++ b/tests/rpmbuild.at
|
||||||
@@ -532,3 +532,64 @@ usr/local/bin/hello2
|
@@ -532,3 +532,64 @@ usr/local/bin/hello2
|
||||||
@ -210,5 +211,5 @@ index 1531700..a312324 100644
|
|||||||
+[ignore])
|
+[ignore])
|
||||||
+AT_CLEANUP
|
+AT_CLEANUP
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From 76e637c715e13fe7f746feb29af4a6fd0de3cbc7 Mon Sep 17 00:00:00 2001
|
From 5b29c09c31982a712844cb2bbcd0bfff09c457d1 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <76e637c715e13fe7f746feb29af4a6fd0de3cbc7.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mjw@redhat.com>
|
From: Mark Wielaard <mjw@redhat.com>
|
||||||
Date: Thu, 16 Jun 2016 14:24:22 +0200
|
Date: Thu, 16 Jun 2016 14:24:22 +0200
|
||||||
Subject: [PATCH 04/11] Add option to have unique debug file names across
|
Subject: [PATCH 07/49] Add option to have unique debug file names across
|
||||||
version/release/arch.
|
version/release/arch.
|
||||||
|
|
||||||
Introduce a new macro _unique_debug_names that when set will pass
|
Introduce a new macro _unique_debug_names that when set will pass
|
||||||
@ -14,6 +11,8 @@ files which end in "-<ver>-<rel>.<arch>.debug" instead of simply ".debug".
|
|||||||
Adds testcases for dwz and buildid with and without unique debug file names.
|
Adds testcases for dwz and buildid with and without unique debug file names.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
|
||||||
|
(cherry picked from commit 45bfecbf7dd4249abc197a5fc908e4efcc3108ad)
|
||||||
---
|
---
|
||||||
build/files.c | 19 ++-
|
build/files.c | 19 ++-
|
||||||
macros.debug | 3 +
|
macros.debug | 3 +
|
||||||
@ -24,7 +23,7 @@ Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|||||||
6 files changed, 494 insertions(+), 39 deletions(-)
|
6 files changed, 494 insertions(+), 39 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index b010483..eb39856 100644
|
index b010483e4..eb398562a 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1790,6 +1790,16 @@ static int generateBuildIDs(FileList fl)
|
@@ -1790,6 +1790,16 @@ static int generateBuildIDs(FileList fl)
|
||||||
@ -74,7 +73,7 @@ index b010483..eb39856 100644
|
|||||||
free(ids);
|
free(ids);
|
||||||
}
|
}
|
||||||
diff --git a/macros.debug b/macros.debug
|
diff --git a/macros.debug b/macros.debug
|
||||||
index d273c08..ee0cc9e 100644
|
index d273c0876..ee0cc9ebe 100644
|
||||||
--- a/macros.debug
|
--- a/macros.debug
|
||||||
+++ b/macros.debug
|
+++ b/macros.debug
|
||||||
@@ -1,4 +1,7 @@
|
@@ -1,4 +1,7 @@
|
||||||
@ -86,7 +85,7 @@ index d273c08..ee0cc9e 100644
|
|||||||
%_enable_debug_packages 1
|
%_enable_debug_packages 1
|
||||||
%_include_minidebuginfo 1
|
%_include_minidebuginfo 1
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index c845f58..68bf391 100644
|
index c845f5841..68bf39194 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -113,7 +112,7 @@ index c845f58..68bf391 100644
|
|||||||
# Use internal dependency generator rather than external helpers?
|
# Use internal dependency generator rather than external helpers?
|
||||||
%_use_internal_dependency_generator 1
|
%_use_internal_dependency_generator 1
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 8e60813..3653c48 100644
|
index 8e608134f..3653c4848 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -64,6 +64,9 @@ dwz_max_die_limit=
|
@@ -64,6 +64,9 @@ dwz_max_die_limit=
|
||||||
@ -163,7 +162,7 @@ index 8e60813..3653c48 100644
|
|||||||
debugdn=${debugdir}${dn}
|
debugdn=${debugdir}${dn}
|
||||||
debugfn=${debugdn}/${bn}
|
debugfn=${debugdn}/${bn}
|
||||||
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
||||||
index a312324..0a2c01e 100644
|
index a3123244c..0a2c01efe 100644
|
||||||
--- a/tests/rpmbuild.at
|
--- a/tests/rpmbuild.at
|
||||||
+++ b/tests/rpmbuild.at
|
+++ b/tests/rpmbuild.at
|
||||||
@@ -386,8 +386,9 @@ AT_CLEANUP
|
@@ -386,8 +386,9 @@ AT_CLEANUP
|
||||||
@ -378,7 +377,7 @@ index a312324..0a2c01e 100644
|
|||||||
[0],
|
[0],
|
||||||
[],
|
[],
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
index 1da6302..ede1181 100644
|
index 1da63022d..ede1181e1 100644
|
||||||
--- a/tests/rpmbuildid.at
|
--- a/tests/rpmbuildid.at
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -54,7 +54,8 @@ hello debuginfo build-id files: 0
|
@@ -54,7 +54,8 @@ hello debuginfo build-id files: 0
|
||||||
@ -804,5 +803,5 @@ index 1da6302..ede1181 100644
|
|||||||
|
|
||||||
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,21 +1,20 @@
|
|||||||
From 1a8a0364fd049f3b4432633160fba12aa137f88d Mon Sep 17 00:00:00 2001
|
From a040e812b39d1fcc6aa69ca6aa5ff2fe4316a018 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <1a8a0364fd049f3b4432633160fba12aa137f88d.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Panu Matilainen <pmatilai@redhat.com>
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
Date: Mon, 3 Oct 2016 12:36:46 +0300
|
Date: Mon, 3 Oct 2016 12:36:46 +0300
|
||||||
Subject: [PATCH 05/11] Fix behavior when %_build_id_links is undefined
|
Subject: [PATCH 08/49] Fix behavior when %_build_id_links is undefined
|
||||||
|
|
||||||
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 tries to behave sanely
|
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 tries to behave sanely
|
||||||
and use compat setting when %_build_id_links is undefined, but
|
and use compat setting when %_build_id_links is undefined, but
|
||||||
rpmExpand() never returns NULL so the original check is incorrect.
|
rpmExpand() never returns NULL so the original check is incorrect.
|
||||||
Check for empty string instead.
|
Check for empty string instead.
|
||||||
|
|
||||||
|
(cherry picked from commit 2ea72daabe3f0c4bef628d5a16768f293ffab3df)
|
||||||
---
|
---
|
||||||
build/files.c | 2 +-
|
build/files.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index eb39856..6215bf8 100644
|
index eb398562a..6215bf85c 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1648,7 +1648,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1648,7 +1648,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
@ -28,5 +27,5 @@ index eb39856..6215bf8 100644
|
|||||||
_("_build_id_links macro not set, assuming 'compat'\n"));
|
_("_build_id_links macro not set, assuming 'compat'\n"));
|
||||||
build_id_links = BUILD_IDS_COMPAT;
|
build_id_links = BUILD_IDS_COMPAT;
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From 53c9e8d00983b0d99caefc0ef94a18184c0ba85c Mon Sep 17 00:00:00 2001
|
From 932c2170e961d393569992b2f9c3ab8ee415f01b Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <53c9e8d00983b0d99caefc0ef94a18184c0ba85c.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Panu Matilainen <pmatilai@redhat.com>
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
Date: Wed, 9 Nov 2016 09:16:48 +0200
|
Date: Wed, 9 Nov 2016 09:16:48 +0200
|
||||||
Subject: [PATCH 06/11] Fix debuginfo etc when subpackages have different
|
Subject: [PATCH 09/49] Fix debuginfo etc when subpackages have different
|
||||||
versions (RhBug:1051407)
|
versions (RhBug:1051407)
|
||||||
|
|
||||||
Rpm has always been a bit dazed and confused when it comes to specs
|
Rpm has always been a bit dazed and confused when it comes to specs
|
||||||
@ -21,6 +18,12 @@ create separate set of macros when on the main package, this lets users
|
|||||||
in and out of rpm pick which one (latest or main) they want. To hopefully
|
in and out of rpm pick which one (latest or main) they want. To hopefully
|
||||||
avoid stomping on anybodys toes, use uppercasing for the macro name (other
|
avoid stomping on anybodys toes, use uppercasing for the macro name (other
|
||||||
variants like %pkg_release are awfully commonly used). Pile 'em on, yay!
|
variants like %pkg_release are awfully commonly used). Pile 'em on, yay!
|
||||||
|
|
||||||
|
(cherry picked from commit ccdb1aa5c675d917b1ba8d026c44fd95bab79e6c)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
build/parsePreamble.c
|
||||||
|
macros.in
|
||||||
---
|
---
|
||||||
build/files.c | 2 +-
|
build/files.c | 2 +-
|
||||||
build/parsePreamble.c | 11 ++++++++++-
|
build/parsePreamble.c | 11 ++++++++++-
|
||||||
@ -28,7 +31,7 @@ variants like %pkg_release are awfully commonly used). Pile 'em on, yay!
|
|||||||
3 files changed, 20 insertions(+), 11 deletions(-)
|
3 files changed, 20 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index 6215bf8..2ede463 100644
|
index 6215bf85c..2ede463a1 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1797,7 +1797,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1797,7 +1797,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
@ -41,7 +44,7 @@ index 6215bf8..2ede463 100644
|
|||||||
|
|
||||||
/* Now add a subdir and symlink for each buildid found. */
|
/* Now add a subdir and symlink for each buildid found. */
|
||||||
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
||||||
index 933f734..6be4403 100644
|
index 933f7340f..6be440369 100644
|
||||||
--- a/build/parsePreamble.c
|
--- a/build/parsePreamble.c
|
||||||
+++ b/build/parsePreamble.c
|
+++ b/build/parsePreamble.c
|
||||||
@@ -909,8 +909,17 @@ static rpmRC handlePreambleTag(rpmSpec spec, Package pkg, rpmTagVal tag,
|
@@ -909,8 +909,17 @@ static rpmRC handlePreambleTag(rpmSpec spec, Package pkg, rpmTagVal tag,
|
||||||
@ -64,7 +67,7 @@ index 933f734..6be4403 100644
|
|||||||
exit:
|
exit:
|
||||||
return rc;
|
return rc;
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index 68bf391..4d90282 100644
|
index 68bf39194..4d9028254 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -135,5 +138,5 @@ index 68bf391..4d90282 100644
|
|||||||
# bzr doesn't seem to have its own command to apply patches?
|
# bzr doesn't seem to have its own command to apply patches?
|
||||||
%__scm_apply_bzr(qp:m:)\
|
%__scm_apply_bzr(qp:m:)\
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From eb21562bcec67746e756679a60995f68d7d45577 Mon Sep 17 00:00:00 2001
|
From 29f756e3fba09f6a66515970978367829862f35c Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <eb21562bcec67746e756679a60995f68d7d45577.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Panu Matilainen <pmatilai@redhat.com>
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
Date: Thu, 5 Jan 2017 12:13:54 +0200
|
Date: Thu, 5 Jan 2017 12:13:54 +0200
|
||||||
Subject: [PATCH 07/11] Only process regular files when generating build-ids
|
Subject: [PATCH 10/49] Only process regular files when generating build-ids
|
||||||
|
|
||||||
Versioned shared libraries typically have several symlinks pointing
|
Versioned shared libraries typically have several symlinks pointing
|
||||||
to them directly and indirectly. When %_build_id_links is set to compat or
|
to them directly and indirectly. When %_build_id_links is set to compat or
|
||||||
@ -14,12 +11,14 @@ It looks commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 intends to skip
|
|||||||
symlinks since it filters on S_ISREG(), but since uses fstat()
|
symlinks since it filters on S_ISREG(), but since uses fstat()
|
||||||
on already open()'ed file it ends up stat()'ing the symlink target.
|
on already open()'ed file it ends up stat()'ing the symlink target.
|
||||||
Flip stat() + open() around and use lstat() instead to fix it.
|
Flip stat() + open() around and use lstat() instead to fix it.
|
||||||
|
|
||||||
|
(cherry picked from commit 1ce844ab263bf49ee6d5145ed09e73f2c17924cc)
|
||||||
---
|
---
|
||||||
build/files.c | 11 +++++------
|
build/files.c | 11 +++++------
|
||||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index 2ede463..ca04176 100644
|
index 2ede463a1..ca041764f 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1678,11 +1678,10 @@ static int generateBuildIDs(FileList fl)
|
@@ -1678,11 +1678,10 @@ static int generateBuildIDs(FileList fl)
|
||||||
@ -49,5 +48,5 @@ index 2ede463..ca04176 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,23 +1,22 @@
|
|||||||
From 1e38abe3e6697efcf55663060533e286e1e77ae4 Mon Sep 17 00:00:00 2001
|
From 1b34b839b788264ffcd3ab90a0612cad3b843f7f Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <1e38abe3e6697efcf55663060533e286e1e77ae4.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
Date: Wed, 10 Aug 2016 13:58:30 +0200
|
Date: Wed, 10 Aug 2016 13:58:30 +0200
|
||||||
Subject: [PATCH 08/11] configure.ac: use LIBDW always conditionally
|
Subject: [PATCH 11/49] configure.ac: use LIBDW always conditionally
|
||||||
|
|
||||||
References: https://bugzilla.redhat.com/show_bug.cgi?id=1365278
|
References: https://bugzilla.redhat.com/show_bug.cgi?id=1365278
|
||||||
Reported-and-tested-by: Neal Gompa <ngompa13@gmail.com>
|
Reported-and-tested-by: Neal Gompa <ngompa13@gmail.com>
|
||||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
|
|
||||||
|
(cherry picked from commit a82119bf352400ee891105820b804bf946d5c6ee)
|
||||||
---
|
---
|
||||||
configure.ac | 7 ++++---
|
configure.ac | 7 ++++---
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 08eceeb..5dd2bb6 100644
|
index 8890c3c32..33c8f344f 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -368,7 +368,8 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
@@ -361,7 +361,8 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
||||||
|
|
||||||
#=================
|
#=================
|
||||||
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
||||||
@ -27,7 +26,7 @@ index 08eceeb..5dd2bb6 100644
|
|||||||
AC_CHECK_HEADERS([elfutils/libdwelf.h],[
|
AC_CHECK_HEADERS([elfutils/libdwelf.h],[
|
||||||
AC_CHECK_LIB(dw, dwelf_elf_gnu_build_id, [
|
AC_CHECK_LIB(dw, dwelf_elf_gnu_build_id, [
|
||||||
AC_DEFINE(HAVE_LIBDW, 1,
|
AC_DEFINE(HAVE_LIBDW, 1,
|
||||||
@@ -377,9 +378,9 @@ AS_IF([test "$WITH_LIBELF" = yes],[
|
@@ -370,9 +371,9 @@ AS_IF([test "$WITH_LIBELF" = yes],[
|
||||||
WITH_LIBDW=yes
|
WITH_LIBDW=yes
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
@ -40,5 +39,5 @@ index 08eceeb..5dd2bb6 100644
|
|||||||
#=================
|
#=================
|
||||||
# Process --with/without-external-db
|
# Process --with/without-external-db
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,25 +1,23 @@
|
|||||||
From 15617bfa3d12ebe3927b130a88df6dd12ee8d0f9 Mon Sep 17 00:00:00 2001
|
From f41a0a8c6839e3962e10a7bd3aad39127a764748 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <15617bfa3d12ebe3927b130a88df6dd12ee8d0f9.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mjw@redhat.com>
|
From: Mark Wielaard <mjw@redhat.com>
|
||||||
Date: Wed, 24 Aug 2016 17:06:34 +0200
|
Date: Wed, 24 Aug 2016 17:06:34 +0200
|
||||||
Subject: [PATCH 09/11] Fix libdw configure check.
|
Subject: [PATCH 12/49] Fix libdw configure check.
|
||||||
|
|
||||||
commit a82119 "configure.ac: use LIBDW always conditionally" contained
|
commit a82119 "configure.ac: use LIBDW always conditionally" contained
|
||||||
a typo that caused WITH_LIBDW_LIB never to be set when you were using
|
a typo that caused WITH_LIBDW_LIB never to be set when you were using
|
||||||
libelf. Fixed by reverting the "!=" to "=" again.
|
libelf. Fixed by reverting the "!=" to "=" again.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
(cherry picked from commit 10633641ec17081cca6332c3fb4abeea3df4059f)
|
||||||
---
|
---
|
||||||
configure.ac | 2 +-
|
configure.ac | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 5dd2bb6..4baa3f1 100644
|
index 33c8f344f..9596a97b3 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -369,7 +369,7 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
@@ -362,7 +362,7 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
||||||
#=================
|
#=================
|
||||||
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
||||||
WITH_LIBDW_LIB=
|
WITH_LIBDW_LIB=
|
||||||
@ -29,5 +27,5 @@ index 5dd2bb6..4baa3f1 100644
|
|||||||
AC_CHECK_LIB(dw, dwelf_elf_gnu_build_id, [
|
AC_CHECK_LIB(dw, dwelf_elf_gnu_build_id, [
|
||||||
AC_DEFINE(HAVE_LIBDW, 1,
|
AC_DEFINE(HAVE_LIBDW, 1,
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
From 481a17c207809d10efcc87c1f831c5eef83c069f Mon Sep 17 00:00:00 2001
|
From ddb7c4abddd746d7ec354fb89be16a2411a92cba Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <481a17c207809d10efcc87c1f831c5eef83c069f.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Fri, 17 Feb 2017 14:13:57 +0100
|
Date: Mon, 27 Feb 2017 16:28:18 +0100
|
||||||
Subject: [PATCH 10/11] debugedit: Support String/Line table rewriting for
|
Subject: [PATCH 13/49] debugedit: Support String/Line table rewriting for
|
||||||
larger/smaller paths.
|
larger/smaller paths.
|
||||||
|
|
||||||
debugedit --base to --dest rewriting of debug source file paths only
|
debugedit --base to --dest rewriting of debug source file paths only
|
||||||
@ -49,6 +46,7 @@ need to add support for the new debug_line format and scan the new
|
|||||||
debug_macro section that can have references to the debug_str table.
|
debug_macro section that can have references to the debug_str table.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 88989572fff1f31e0c4f972a6895585e4742ef4b)
|
||||||
---
|
---
|
||||||
Makefile.am | 8 +-
|
Makefile.am | 8 +-
|
||||||
configure.ac | 6 +
|
configure.ac | 6 +
|
||||||
@ -56,7 +54,7 @@ Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|||||||
3 files changed, 1330 insertions(+), 253 deletions(-)
|
3 files changed, 1330 insertions(+), 253 deletions(-)
|
||||||
|
|
||||||
diff --git a/Makefile.am b/Makefile.am
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
index 6b37b58..1b77730 100644
|
index 6b37b5898..1b77730aa 100644
|
||||||
--- a/Makefile.am
|
--- a/Makefile.am
|
||||||
+++ b/Makefile.am
|
+++ b/Makefile.am
|
||||||
@@ -156,13 +156,18 @@ rpm2archive_LDADD += @WITH_NSS_LIB@ @WITH_POPT_LIB@ @WITH_ZLIB_LIB@ @WITH_ARCHIV
|
@@ -156,13 +156,18 @@ rpm2archive_LDADD += @WITH_NSS_LIB@ @WITH_POPT_LIB@ @WITH_ZLIB_LIB@ @WITH_ARCHIV
|
||||||
@ -88,10 +86,10 @@ index 6b37b58..1b77730 100644
|
|||||||
rpmlibexec_PROGRAMS += rpmdeps
|
rpmlibexec_PROGRAMS += rpmdeps
|
||||||
rpmdeps_SOURCES = tools/rpmdeps.c
|
rpmdeps_SOURCES = tools/rpmdeps.c
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 4baa3f1..743fe08 100644
|
index 9596a97b3..e6362535b 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -369,18 +369,24 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
@@ -362,18 +362,24 @@ AM_CONDITIONAL(WITH_ARCHIVE,[test "$with_archive" = yes])
|
||||||
#=================
|
#=================
|
||||||
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
# Check for elfutils libdw library with dwelf_elf_gnu_build_id.
|
||||||
WITH_LIBDW_LIB=
|
WITH_LIBDW_LIB=
|
||||||
@ -117,7 +115,7 @@ index 4baa3f1..743fe08 100644
|
|||||||
#=================
|
#=================
|
||||||
# Process --with/without-external-db
|
# Process --with/without-external-db
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index c0147f0..4798c63 100644
|
index c0147f086..4798c6370 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -1,6 +1,7 @@
|
@@ -1,6 +1,7 @@
|
||||||
@ -2101,5 +2099,5 @@ index c0147f0..4798c63 100644
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
diff --git a/build/files.c b/build/files.c
|
|
||||||
index 26f53bd..8b516c6 100644
|
|
||||||
--- a/build/files.c
|
|
||||||
+++ b/build/files.c
|
|
||||||
@@ -1699,7 +1699,11 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
if (build_id_links == BUILD_IDS_NONE || rc != 0)
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
- int terminate = rpmExpandNumeric("%{?_missing_build_ids_terminate_build}");
|
|
||||||
+ /* Historically we have only checked build_ids when __debug_package
|
|
||||||
+ was defined. So don't terminate the build if __debug_package is
|
|
||||||
+ unset, even when _missing_build_ids_terminate_build is. */
|
|
||||||
+ int terminate = (rpmExpandNumeric("%{?_missing_build_ids_terminate_build}")
|
|
||||||
+ && rpmExpandNumeric("%{?__debug_package}"));
|
|
||||||
|
|
||||||
/* Collect and check all build-ids for ELF files in this package. */
|
|
||||||
int needMain = 0;
|
|
@ -1,10 +1,7 @@
|
|||||||
From cf12c3f2c985fcaf94bb5e2b24178290f5ef09ed Mon Sep 17 00:00:00 2001
|
From 0febf191cc874a822f045c24587d412e4d0ec33c Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <cf12c3f2c985fcaf94bb5e2b24178290f5ef09ed.1488964568.git.pmatilai@redhat.com>
|
|
||||||
In-Reply-To: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
References: <189b4f88c8e100155ec23a1e0b214bdc8473532a.1488964568.git.pmatilai@redhat.com>
|
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Tue, 28 Feb 2017 20:45:24 +0100
|
Date: Tue, 28 Feb 2017 21:34:34 +0100
|
||||||
Subject: [PATCH 11/11] Add option to have unique debug source dirs across
|
Subject: [PATCH 14/49] Add option to have unique debug source dirs across
|
||||||
version/release/arch.
|
version/release/arch.
|
||||||
|
|
||||||
Introduce a new macro _unique_debug_srcs that when set will pass
|
Introduce a new macro _unique_debug_srcs that when set will pass
|
||||||
@ -37,6 +34,11 @@ under the traditional or new unique directory names depending on whether
|
|||||||
the new _unique_debug_srcs macro is defined.
|
the new _unique_debug_srcs macro is defined.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit b32e980611c45a46e95fa8864b6faf0c0d732ddb)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
macros.in
|
||||||
|
scripts/find-debuginfo.sh
|
||||||
---
|
---
|
||||||
macros.in | 8 ++++-
|
macros.in | 8 ++++-
|
||||||
scripts/find-debuginfo.sh | 35 ++++++++++++++++++---
|
scripts/find-debuginfo.sh | 35 ++++++++++++++++++---
|
||||||
@ -45,7 +47,7 @@ Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|||||||
4 files changed, 123 insertions(+), 5 deletions(-)
|
4 files changed, 123 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index 4d90282..e48ef60 100644
|
index 4d9028254..e48ef60c8 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -71,7 +73,7 @@ index 4d90282..e48ef60 100644
|
|||||||
# Use internal dependency generator rather than external helpers?
|
# Use internal dependency generator rather than external helpers?
|
||||||
%_use_internal_dependency_generator 1
|
%_use_internal_dependency_generator 1
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 3653c48..1420ef6 100644
|
index 3653c4848..1420ef6cd 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -67,6 +67,9 @@ ver_rel=
|
@@ -67,6 +67,9 @@ ver_rel=
|
||||||
@ -147,7 +149,7 @@ index 3653c48..1420ef6 100644
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
||||||
index 0a2c01e..a46822f 100644
|
index 0a2c01efe..a46822f52 100644
|
||||||
--- a/tests/rpmbuild.at
|
--- a/tests/rpmbuild.at
|
||||||
+++ b/tests/rpmbuild.at
|
+++ b/tests/rpmbuild.at
|
||||||
@@ -399,6 +399,7 @@ run rpmbuild --quiet \
|
@@ -399,6 +399,7 @@ run rpmbuild --quiet \
|
||||||
@ -242,7 +244,7 @@ index 0a2c01e..a46822f 100644
|
|||||||
+[ignore])
|
+[ignore])
|
||||||
+AT_CLEANUP
|
+AT_CLEANUP
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
index ede1181..15c0620 100644
|
index ede1181e1..15c06202f 100644
|
||||||
--- a/tests/rpmbuildid.at
|
--- a/tests/rpmbuildid.at
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -71,6 +71,7 @@ run rpmbuild \
|
@@ -71,6 +71,7 @@ run rpmbuild \
|
||||||
@ -286,5 +288,5 @@ index ede1181..15c0620 100644
|
|||||||
|
|
||||||
rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
|
rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
|
||||||
--
|
--
|
||||||
2.9.3
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From bbeaacd32e74b11264082407e520438373527740 Mon Sep 17 00:00:00 2001
|
From 590081d625b22b5845015949ecb184989377c928 Mon Sep 17 00:00:00 2001
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Thu, 9 Mar 2017 09:30:17 +0100
|
Date: Thu, 9 Mar 2017 09:34:01 +0100
|
||||||
Subject: [PATCH] generateBuildIDs: Don't warn or error for object files
|
Subject: [PATCH 15/49] generateBuildIDs: Don't warn or error for object files
|
||||||
without build-id.
|
without build-id.
|
||||||
|
|
||||||
Only loadable ELF images (executables, shared libraries, kernel modules)
|
Only loadable ELF images (executables, shared libraries, kernel modules)
|
||||||
@ -9,15 +9,16 @@ should have build-ids. So don't warn or error out when an object file is
|
|||||||
found without one.
|
found without one.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit e6bdf7a807ea5ca30bc467345dd1e07198945603)
|
||||||
---
|
---
|
||||||
build/files.c | 15 +++++++++++----
|
build/files.c | 15 +++++++++++----
|
||||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index cbcc0a9..26f53bd 100644
|
index ca041764f..274b38c62 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1709,8 +1709,10 @@ static int generateBuildIDs(FileList fl)
|
@@ -1682,8 +1682,10 @@ static int generateBuildIDs(FileList fl)
|
||||||
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
||||||
int fd = open (flp->diskPath, O_RDONLY);
|
int fd = open (flp->diskPath, O_RDONLY);
|
||||||
if (fd >= 0) {
|
if (fd >= 0) {
|
||||||
@ -29,7 +30,7 @@ index cbcc0a9..26f53bd 100644
|
|||||||
const void *build_id;
|
const void *build_id;
|
||||||
ssize_t len = dwelf_elf_gnu_build_id (elf, &build_id);
|
ssize_t len = dwelf_elf_gnu_build_id (elf, &build_id);
|
||||||
/* len == -1 means error. Zero means no
|
/* len == -1 means error. Zero means no
|
||||||
@@ -1759,9 +1761,14 @@ static int generateBuildIDs(FileList fl)
|
@@ -1732,9 +1734,14 @@ static int generateBuildIDs(FileList fl)
|
||||||
_("error reading build-id in %s: %s\n"),
|
_("error reading build-id in %s: %s\n"),
|
||||||
flp->diskPath, elf_errmsg (-1));
|
flp->diskPath, elf_errmsg (-1));
|
||||||
} else if (len == 0) {
|
} else if (len == 0) {
|
||||||
@ -48,5 +49,5 @@ index cbcc0a9..26f53bd 100644
|
|||||||
rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING,
|
rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING,
|
||||||
(len < 16
|
(len < 16
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.13.2
|
||||||
|
|
@ -1,57 +0,0 @@
|
|||||||
diff --git a/build/files.c b/build/files.c
|
|
||||||
index 6021643..9479e6e 100644
|
|
||||||
--- a/build/files.c
|
|
||||||
+++ b/build/files.c
|
|
||||||
@@ -1797,6 +1797,7 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
char *mainiddir = NULL;
|
|
||||||
char *debugiddir = NULL;
|
|
||||||
if (rc == 0) {
|
|
||||||
+ char *attrstr;
|
|
||||||
/* Add .build-id directories to hold the subdirs/symlinks. */
|
|
||||||
#define BUILD_ID_DIR "/usr/lib/.build-id"
|
|
||||||
#define DEBUG_ID_DIR "/usr/lib/debug/.build-id"
|
|
||||||
@@ -1804,6 +1805,18 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
mainiddir = rpmGetPath(fl->buildRoot, BUILD_ID_DIR, NULL);
|
|
||||||
debugiddir = rpmGetPath(fl->buildRoot, DEBUG_ID_DIR, NULL);
|
|
||||||
|
|
||||||
+ /* Make sure to reset all file flags to defaults.
|
|
||||||
+ Uses parseForAttr to reset ar, arFlags, and specdFlags.
|
|
||||||
+ Note that parseForAttr pokes at the attrstr, so we cannot
|
|
||||||
+ just pass a static string. */
|
|
||||||
+ fl->def.verifyFlags = RPMVERIFY_ALL;
|
|
||||||
+ fl->cur.verifyFlags = RPMVERIFY_ALL;
|
|
||||||
+ fl->def.specdFlags |= SPECD_VERIFY;
|
|
||||||
+ fl->cur.specdFlags |= SPECD_VERIFY;
|
|
||||||
+ attrstr = xstrdup ("%defattr(-,root,root)");
|
|
||||||
+ parseForAttr(fl->pool, attrstr, 1, &fl->def);
|
|
||||||
+ free (attrstr);
|
|
||||||
+
|
|
||||||
/* Supported, but questionable. */
|
|
||||||
if (needMain && needDbg)
|
|
||||||
rpmlog(RPMLOG_WARNING,
|
|
||||||
@@ -1813,8 +1826,12 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
if ((rc = rpmioMkpath(mainiddir, 0755, -1, -1)) != 0) {
|
|
||||||
rpmlog(RPMLOG_ERR, "%s %s: %m\n", errdir, mainiddir);
|
|
||||||
} else {
|
|
||||||
+ rasprintf (&attrstr, "%s %s", "%attr(-,root,root) ",
|
|
||||||
+ mainiddir);
|
|
||||||
+ parseForAttr(fl->pool, attrstr, 0, &fl->cur);
|
|
||||||
fl->cur.isDir = 1;
|
|
||||||
rc = addFile(fl, mainiddir, NULL);
|
|
||||||
+ free (attrstr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1822,8 +1839,12 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
if ((rc = rpmioMkpath(debugiddir, 0755, -1, -1)) != 0) {
|
|
||||||
rpmlog(RPMLOG_ERR, "%s %s: %m\n", errdir, debugiddir);
|
|
||||||
} else {
|
|
||||||
+ rasprintf (&attrstr, "%s %s", "%attr(-,root,root) ",
|
|
||||||
+ debugiddir);
|
|
||||||
+ parseForAttr(fl->pool, attrstr, 0, &fl->cur);
|
|
||||||
fl->cur.isDir = 1;
|
|
||||||
rc = addFile(fl, debugiddir, NULL);
|
|
||||||
+ free (attrstr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,36 @@
|
|||||||
|
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/49] build/files.c: Unset __debug_package implies missing
|
||||||
|
build-ids aren't fatal.
|
||||||
|
|
||||||
|
Historically we have only checked build_ids when __debug_package was
|
||||||
|
defined. So don't terminate the build if __debug_package is unset, even
|
||||||
|
when _missing_build_ids_terminate_build is. Only warn.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 22260d3580fcdafa5579128401adf1a05d36f316)
|
||||||
|
---
|
||||||
|
build/files.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build/files.c b/build/files.c
|
||||||
|
index 274b38c62..b19abf299 100644
|
||||||
|
--- a/build/files.c
|
||||||
|
+++ b/build/files.c
|
||||||
|
@@ -1672,7 +1672,11 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
if (build_id_links == BUILD_IDS_NONE || rc != 0)
|
||||||
|
return rc;
|
||||||
|
|
||||||
|
- int terminate = rpmExpandNumeric("%{?_missing_build_ids_terminate_build}");
|
||||||
|
+ /* Historically we have only checked build_ids when __debug_package
|
||||||
|
+ was defined. So don't terminate the build if __debug_package is
|
||||||
|
+ unset, even when _missing_build_ids_terminate_build is. */
|
||||||
|
+ int terminate = (rpmExpandNumeric("%{?_missing_build_ids_terminate_build}")
|
||||||
|
+ && rpmExpandNumeric("%{?__debug_package}"));
|
||||||
|
|
||||||
|
/* Collect and check all build-ids for ELF files in this package. */
|
||||||
|
int needMain = 0;
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
|
||||||
index 4798c63..87a423f 100644
|
|
||||||
--- a/tools/debugedit.c
|
|
||||||
+++ b/tools/debugedit.c
|
|
||||||
@@ -1185,7 +1185,7 @@ edit_dwarf2_line (DSO *dso)
|
|
||||||
{
|
|
||||||
const char *file = (const char *) optr;
|
|
||||||
const char *file_path = NULL;
|
|
||||||
- if (t->replace_dirs)
|
|
||||||
+ if (t->replace_files)
|
|
||||||
{
|
|
||||||
file_path = skip_dir_prefix (file, base_dir);
|
|
||||||
if (file_path != NULL)
|
|
@ -1,7 +1,7 @@
|
|||||||
From 7e053a6d843b141fc6b5a89d050082233ed034d6 Mon Sep 17 00:00:00 2001
|
From fa61c840ba6be18c6579b247605634c1e2a320f8 Mon Sep 17 00:00:00 2001
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Thu, 9 Mar 2017 22:13:01 +0100
|
Date: Thu, 9 Mar 2017 22:13:01 +0100
|
||||||
Subject: [PATCH] generateBuildIDs: Fix error handling.
|
Subject: [PATCH 17/49] generateBuildIDs: Fix error handling.
|
||||||
|
|
||||||
commit e6bdf7 made it so that we don't give a warning or error message
|
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
|
for non-kernel ET_REL object files with missing or bad build-ids. But
|
||||||
@ -13,12 +13,13 @@ all. And if there is any real error from generateBuildIDs give a clear
|
|||||||
error message and explicitly set processingFailed.
|
error message and explicitly set processingFailed.
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 5bd77379eee167fbdb8d139dc9ab2da74f2a544f)
|
||||||
---
|
---
|
||||||
build/files.c | 18 +++++++++++-------
|
build/files.c | 18 +++++++++++-------
|
||||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
1 file changed, 11 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index b19abf2..fef0c69 100644
|
index b19abf299..fef0c6960 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1686,10 +1686,16 @@ static int generateBuildIDs(FileList fl)
|
@@ -1686,10 +1686,16 @@ static int generateBuildIDs(FileList fl)
|
||||||
@ -65,5 +66,5 @@ index b19abf2..fef0c69 100644
|
|||||||
|
|
||||||
/* Verify that file attributes scope over hardlinks correctly. */
|
/* Verify that file attributes scope over hardlinks correctly. */
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.13.2
|
||||||
|
|
194
0018-Make-sure-to-reset-file-attributes-for-generated-bui.patch
Normal file
194
0018-Make-sure-to-reset-file-attributes-for-generated-bui.patch
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
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/49] Make sure to reset file attributes for generated
|
||||||
|
build-id directories.
|
||||||
|
|
||||||
|
[Note this patch is currently being tested in Fedora. See bug below.]
|
||||||
|
|
||||||
|
When creating the build-id directories we should reset the file attributes
|
||||||
|
to the defaults. Otherwise if the file list contained an %attr or %defattr
|
||||||
|
the directories would come out with the wrong mode.
|
||||||
|
|
||||||
|
Includes a testcase based on a spec by Igor Gnatenko that fails before
|
||||||
|
and Check that build-id directories are created with the right permissions
|
||||||
|
even if the spec file sets attrs explicitly.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1432372
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit b91dc6106e360f13ff365dfac247191942039152)
|
||||||
|
---
|
||||||
|
build/files.c | 21 +++++++++++++++++++
|
||||||
|
tests/Makefile.am | 2 ++
|
||||||
|
tests/data/SOURCES/hello.c | 8 +++++++
|
||||||
|
tests/data/SPECS/hello-attr-buildid.spec | 27 ++++++++++++++++++++++++
|
||||||
|
tests/rpmbuildid.at | 36 ++++++++++++++++++++++++++++++++
|
||||||
|
5 files changed, 94 insertions(+)
|
||||||
|
create mode 100644 tests/data/SOURCES/hello.c
|
||||||
|
create mode 100644 tests/data/SPECS/hello-attr-buildid.spec
|
||||||
|
|
||||||
|
diff --git a/build/files.c b/build/files.c
|
||||||
|
index fef0c6960..728a44ba2 100644
|
||||||
|
--- a/build/files.c
|
||||||
|
+++ b/build/files.c
|
||||||
|
@@ -1770,6 +1770,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
char *mainiddir = NULL;
|
||||||
|
char *debugiddir = NULL;
|
||||||
|
if (rc == 0) {
|
||||||
|
+ char *attrstr;
|
||||||
|
/* Add .build-id directories to hold the subdirs/symlinks. */
|
||||||
|
#define BUILD_ID_DIR "/usr/lib/.build-id"
|
||||||
|
#define DEBUG_ID_DIR "/usr/lib/debug/.build-id"
|
||||||
|
@@ -1777,6 +1778,18 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
mainiddir = rpmGetPath(fl->buildRoot, BUILD_ID_DIR, NULL);
|
||||||
|
debugiddir = rpmGetPath(fl->buildRoot, DEBUG_ID_DIR, NULL);
|
||||||
|
|
||||||
|
+ /* Make sure to reset all file flags to defaults.
|
||||||
|
+ Uses parseForAttr to reset ar, arFlags, and specdFlags.
|
||||||
|
+ Note that parseForAttr pokes at the attrstr, so we cannot
|
||||||
|
+ just pass a static string. */
|
||||||
|
+ fl->def.verifyFlags = RPMVERIFY_ALL;
|
||||||
|
+ fl->cur.verifyFlags = RPMVERIFY_ALL;
|
||||||
|
+ fl->def.specdFlags |= SPECD_VERIFY;
|
||||||
|
+ fl->cur.specdFlags |= SPECD_VERIFY;
|
||||||
|
+ attrstr = xstrdup ("%defattr(-,root,root)");
|
||||||
|
+ parseForAttr(fl->pool, attrstr, 1, &fl->def);
|
||||||
|
+ free (attrstr);
|
||||||
|
+
|
||||||
|
/* Supported, but questionable. */
|
||||||
|
if (needMain && needDbg)
|
||||||
|
rpmlog(RPMLOG_WARNING,
|
||||||
|
@@ -1786,8 +1799,12 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
if ((rc = rpmioMkpath(mainiddir, 0755, -1, -1)) != 0) {
|
||||||
|
rpmlog(RPMLOG_ERR, "%s %s: %m\n", errdir, mainiddir);
|
||||||
|
} else {
|
||||||
|
+ rasprintf (&attrstr, "%s %s", "%attr(-,root,root) ",
|
||||||
|
+ mainiddir);
|
||||||
|
+ parseForAttr(fl->pool, attrstr, 0, &fl->cur);
|
||||||
|
fl->cur.isDir = 1;
|
||||||
|
rc = addFile(fl, mainiddir, NULL);
|
||||||
|
+ free (attrstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1795,8 +1812,12 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
if ((rc = rpmioMkpath(debugiddir, 0755, -1, -1)) != 0) {
|
||||||
|
rpmlog(RPMLOG_ERR, "%s %s: %m\n", errdir, debugiddir);
|
||||||
|
} else {
|
||||||
|
+ rasprintf (&attrstr, "%s %s", "%attr(-,root,root) ",
|
||||||
|
+ debugiddir);
|
||||||
|
+ parseForAttr(fl->pool, attrstr, 0, &fl->cur);
|
||||||
|
fl->cur.isDir = 1;
|
||||||
|
rc = addFile(fl, debugiddir, NULL);
|
||||||
|
+ free (attrstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index 10555ce9a..d9586da1d 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -68,6 +68,8 @@ EXTRA_DIST += data/RPMS/hello-2.0-1.i686.rpm
|
||||||
|
EXTRA_DIST += data/RPMS/hello-2.0-1.x86_64.rpm
|
||||||
|
EXTRA_DIST += data/SRPMS/foo-1.0-1.src.rpm
|
||||||
|
EXTRA_DIST += data/SRPMS/hello-1.0-1.src.rpm
|
||||||
|
+EXTRA_DIST += data/SOURCES/hello.c
|
||||||
|
+EXTRA_DIST += data/SPECS/hello-attr-buildid.spec
|
||||||
|
|
||||||
|
# testsuite voodoo
|
||||||
|
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||||
|
diff --git a/tests/data/SOURCES/hello.c b/tests/data/SOURCES/hello.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..020484eed
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/data/SOURCES/hello.c
|
||||||
|
@@ -0,0 +1,8 @@
|
||||||
|
+#include <stdio.h>
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main (void)
|
||||||
|
+{
|
||||||
|
+ printf ("Hello, world!\n");
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/tests/data/SPECS/hello-attr-buildid.spec b/tests/data/SPECS/hello-attr-buildid.spec
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..cdab95fff
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/data/SPECS/hello-attr-buildid.spec
|
||||||
|
@@ -0,0 +1,27 @@
|
||||||
|
+Name: test
|
||||||
|
+Version: 1.0
|
||||||
|
+Release: 1
|
||||||
|
+Summary: Test
|
||||||
|
+
|
||||||
|
+License: Public Domain
|
||||||
|
+URL: https://fedoraproject.org
|
||||||
|
+Source: hello.c
|
||||||
|
+
|
||||||
|
+%description
|
||||||
|
+%{summary}.
|
||||||
|
+
|
||||||
|
+%prep
|
||||||
|
+%autosetup -c -D -T
|
||||||
|
+cp -a %{S:0} .
|
||||||
|
+
|
||||||
|
+%build
|
||||||
|
+gcc -g hello.c -o hello
|
||||||
|
+
|
||||||
|
+%install
|
||||||
|
+mkdir -p %{buildroot}%{_bindir}
|
||||||
|
+install -D -p -m 0755 -t %{buildroot}%{_bindir} hello
|
||||||
|
+
|
||||||
|
+%files
|
||||||
|
+%attr(644,root,root) %{_bindir}/hello
|
||||||
|
+
|
||||||
|
+%changelog
|
||||||
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
|
index 15c06202f..1cae26dbf 100644
|
||||||
|
--- a/tests/rpmbuildid.at
|
||||||
|
+++ b/tests/rpmbuildid.at
|
||||||
|
@@ -1166,3 +1166,39 @@ if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
||||||
|
],
|
||||||
|
[ignore])
|
||||||
|
AT_CLEANUP
|
||||||
|
+
|
||||||
|
+# ------------------------------
|
||||||
|
+# Check that build-id directories are created with the right permissions
|
||||||
|
+# even if the spec file sets attrs explicitly.
|
||||||
|
+AT_SETUP([rpmbuild buildid attrs])
|
||||||
|
+AT_KEYWORDS([build] [debuginfo] [buildid])
|
||||||
|
+AT_CHECK([
|
||||||
|
+rm -rf ${TOPDIR}
|
||||||
|
+AS_MKDIR_P(${TOPDIR}/SOURCES)
|
||||||
|
+
|
||||||
|
+# Setup sources
|
||||||
|
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
|
||||||
|
+
|
||||||
|
+# Build, contains one ELF which should have a buildid.
|
||||||
|
+run rpmbuild \
|
||||||
|
+ --macros=${abs_top_builddir}/macros:${abs_top_builddir}/tests/testing/usr/local/lib/rpm/platform/%{_target_cpu}-%{_target_os}/macros:${top_srcdir}/macros.debug \
|
||||||
|
+ --rcfile=${abs_top_builddir}/rpmrc \
|
||||||
|
+ --define="_build_id_links compat" \
|
||||||
|
+ --define "_unique_debug_names 1" \
|
||||||
|
+ --define "_unique_debug_srcs 1" \
|
||||||
|
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-attr-buildid.spec
|
||||||
|
+
|
||||||
|
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
||||||
|
+ ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm \
|
||||||
|
+ | grep "build-id d"
|
||||||
|
+
|
||||||
|
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
||||||
|
+ ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm \
|
||||||
|
+ | grep "build-id d"
|
||||||
|
+],
|
||||||
|
+[0],
|
||||||
|
+[/usr/lib/.build-id drwxr-xr-x
|
||||||
|
+/usr/lib/debug/.build-id drwxr-xr-x
|
||||||
|
+],
|
||||||
|
+[ignore])
|
||||||
|
+AT_CLEANUP
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
129
0019-rpmbuild-Reset-attrFlags-in-generateBuildIDs.patch
Normal file
129
0019-rpmbuild-Reset-attrFlags-in-generateBuildIDs.patch
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
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/49] rpmbuild: Reset attrFlags in generateBuildIDs.
|
||||||
|
|
||||||
|
Debuginfo directories and files could be marked as configuration files
|
||||||
|
if the file list ended with a config file.
|
||||||
|
|
||||||
|
Patch by Panu Matilainen. Testcase by me.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1449732
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 9d942049cf929d5a053c239cdd64f5b97d182c14)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
tests/Makefile.am
|
||||||
|
---
|
||||||
|
build/files.c | 2 ++
|
||||||
|
tests/Makefile.am | 1 +
|
||||||
|
tests/data/SPECS/hello-config-buildid.spec | 30 ++++++++++++++++++++++++++++
|
||||||
|
tests/rpmbuildid.at | 32 ++++++++++++++++++++++++++++++
|
||||||
|
4 files changed, 65 insertions(+)
|
||||||
|
create mode 100644 tests/data/SPECS/hello-config-buildid.spec
|
||||||
|
|
||||||
|
diff --git a/build/files.c b/build/files.c
|
||||||
|
index 728a44ba2..6c0ca39ef 100644
|
||||||
|
--- a/build/files.c
|
||||||
|
+++ b/build/files.c
|
||||||
|
@@ -1782,6 +1782,8 @@ static int generateBuildIDs(FileList fl)
|
||||||
|
Uses parseForAttr to reset ar, arFlags, and specdFlags.
|
||||||
|
Note that parseForAttr pokes at the attrstr, so we cannot
|
||||||
|
just pass a static string. */
|
||||||
|
+ fl->cur.attrFlags = 0;
|
||||||
|
+ fl->def.attrFlags = 0;
|
||||||
|
fl->def.verifyFlags = RPMVERIFY_ALL;
|
||||||
|
fl->cur.verifyFlags = RPMVERIFY_ALL;
|
||||||
|
fl->def.specdFlags |= SPECD_VERIFY;
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index d9586da1d..83586ec67 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -70,6 +70,7 @@ EXTRA_DIST += data/SRPMS/foo-1.0-1.src.rpm
|
||||||
|
EXTRA_DIST += data/SRPMS/hello-1.0-1.src.rpm
|
||||||
|
EXTRA_DIST += data/SOURCES/hello.c
|
||||||
|
EXTRA_DIST += data/SPECS/hello-attr-buildid.spec
|
||||||
|
+EXTRA_DIST += data/SPECS/hello-config-buildid.spec
|
||||||
|
|
||||||
|
# testsuite voodoo
|
||||||
|
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||||
|
diff --git a/tests/data/SPECS/hello-config-buildid.spec b/tests/data/SPECS/hello-config-buildid.spec
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..ca2d30db3
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/data/SPECS/hello-config-buildid.spec
|
||||||
|
@@ -0,0 +1,30 @@
|
||||||
|
+Name: test
|
||||||
|
+Version: 1.0
|
||||||
|
+Release: 1
|
||||||
|
+Summary: Test
|
||||||
|
+
|
||||||
|
+License: Public Domain
|
||||||
|
+URL: https://fedoraproject.org
|
||||||
|
+Source: hello.c
|
||||||
|
+
|
||||||
|
+%description
|
||||||
|
+%{summary}.
|
||||||
|
+
|
||||||
|
+%prep
|
||||||
|
+%autosetup -c -D -T
|
||||||
|
+cp -a %{S:0} .
|
||||||
|
+
|
||||||
|
+%build
|
||||||
|
+gcc -g hello.c -o hello
|
||||||
|
+
|
||||||
|
+%install
|
||||||
|
+mkdir -p %{buildroot}/bin
|
||||||
|
+install -D -p -m 0755 -t %{buildroot}/bin hello
|
||||||
|
+mkdir -p %{buildroot}/etc
|
||||||
|
+echo "settings" > %{buildroot}/etc/config.file
|
||||||
|
+
|
||||||
|
+%files
|
||||||
|
+%attr(644,root,root) /bin/hello
|
||||||
|
+%config(noreplace) /etc/config.file
|
||||||
|
+
|
||||||
|
+%changelog
|
||||||
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
|
index 1cae26dbf..a0e39782c 100644
|
||||||
|
--- a/tests/rpmbuildid.at
|
||||||
|
+++ b/tests/rpmbuildid.at
|
||||||
|
@@ -1202,3 +1202,35 @@ run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
||||||
|
],
|
||||||
|
[ignore])
|
||||||
|
AT_CLEANUP
|
||||||
|
+
|
||||||
|
+# ------------------------------
|
||||||
|
+# Check that build-id directories are created with the right attributes
|
||||||
|
+# even if the spec file sets config explicitly.
|
||||||
|
+AT_SETUP([rpmbuild buildid config attrs])
|
||||||
|
+AT_KEYWORDS([build] [debuginfo] [buildid])
|
||||||
|
+AT_CHECK([
|
||||||
|
+rm -rf ${TOPDIR}
|
||||||
|
+AS_MKDIR_P(${TOPDIR}/SOURCES)
|
||||||
|
+
|
||||||
|
+# Setup sources
|
||||||
|
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
|
||||||
|
+
|
||||||
|
+# Build, contains one ELF which should have a buildid.
|
||||||
|
+run rpmbuild \
|
||||||
|
+ --macros=${abs_top_builddir}/macros:${abs_top_builddir}/tests/testing/usr/local/lib/rpm/platform/%{_target_cpu}-%{_target_os}/macros:${top_srcdir}/macros.debug \
|
||||||
|
+ --rcfile=${abs_top_builddir}/rpmrc \
|
||||||
|
+ --define="_build_id_links compat" \
|
||||||
|
+ --define "_unique_debug_names 1" \
|
||||||
|
+ --define "_unique_debug_srcs 1" \
|
||||||
|
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-config-buildid.spec
|
||||||
|
+
|
||||||
|
+# Should contain one config file.
|
||||||
|
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm
|
||||||
|
+# Should not contain config files.
|
||||||
|
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm
|
||||||
|
+],
|
||||||
|
+[0],
|
||||||
|
+[/etc/config.file
|
||||||
|
+],
|
||||||
|
+[ignore])
|
||||||
|
+AT_CLEANUP
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
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/49] 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
|
||||||
|
buffer if the original file name was larger than the replacement. It
|
||||||
|
wasn't found before because often when we need to replace files we
|
||||||
|
also would have to replace dirs.
|
||||||
|
|
||||||
|
This fixes the kubernetes build in fedora.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
|
||||||
|
(cherry picked from commit dc759bc655ff1c18a08d77dd31dedfe3ae1025b0)
|
||||||
|
---
|
||||||
|
tools/debugedit.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
|
index 4798c6370..87a423fdb 100644
|
||||||
|
--- a/tools/debugedit.c
|
||||||
|
+++ b/tools/debugedit.c
|
||||||
|
@@ -1185,7 +1185,7 @@ edit_dwarf2_line (DSO *dso)
|
||||||
|
{
|
||||||
|
const char *file = (const char *) optr;
|
||||||
|
const char *file_path = NULL;
|
||||||
|
- if (t->replace_dirs)
|
||||||
|
+ if (t->replace_files)
|
||||||
|
{
|
||||||
|
file_path = skip_dir_prefix (file, base_dir);
|
||||||
|
if (file_path != NULL)
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,23 +1,27 @@
|
|||||||
From d406bde3e914cae2d794bbaab66aad6b7038b30e Mon Sep 17 00:00:00 2001
|
From 430f012c5794873a84db81b93c5858ca96ea4559 Mon Sep 17 00:00:00 2001
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Fri, 17 Mar 2017 10:51:36 +0100
|
Date: Fri, 17 Mar 2017 11:14:00 +0100
|
||||||
Subject: [PATCH] build/files.c (processPackageFiles): Don't call
|
Subject: [PATCH 21/49] build/files.c (processPackageFiles): Don't call
|
||||||
generateBuildIDs for noarch.
|
generateBuildIDs for noarch.
|
||||||
|
|
||||||
We don't want to do build-id processing for noarch packages. It might be
|
We don't want to do build-id processing for noarch packages. It might be
|
||||||
that noarch packages do contain architecture depended files, but those are
|
that noarch packages do contain architecture depended files, but those are
|
||||||
already handled by processBinaryFiles.
|
already handled by processBinaryFiles.
|
||||||
|
|
||||||
|
This fixes the building of openbios in fedora.
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1433129
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 5e82c7e8a8fc05195cdf622d0a120b9e70a9371b)
|
||||||
---
|
---
|
||||||
build/files.c | 12 ++++++++----
|
build/files.c | 12 ++++++++----
|
||||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index 6021643..35b2dd0 100644
|
index 6c0ca39ef..9e58ae547 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -2384,10 +2384,14 @@ static rpmRC processPackageFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
@@ -2378,10 +2378,14 @@ static rpmRC processPackageFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
#if HAVE_LIBDW
|
#if HAVE_LIBDW
|
||||||
@ -37,5 +41,5 @@ index 6021643..35b2dd0 100644
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.13.2
|
||||||
|
|
@ -1,5 +1,31 @@
|
|||||||
|
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/49] 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).
|
||||||
|
Just use gelf_getnote to read the notes.
|
||||||
|
|
||||||
|
Also in some special cases when only the debug_info or build_id data
|
||||||
|
was updated, but no section changed size and we had to preserve the
|
||||||
|
allocated section headers we could hit a bug in elfutils that could
|
||||||
|
trash some section data in case there were gaps between non-dirty and
|
||||||
|
dirty sections. See https://sourceware.org/bugzilla/show_bug.cgi?id=21199
|
||||||
|
Add a workaround for that issue.
|
||||||
|
|
||||||
|
This fixes the kompose package build on fedora ppc64.
|
||||||
|
And makes it possible to replicate that issue on x86_64.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit a6e767600309bdb1f8af33b44563a1187fb0dbc4)
|
||||||
|
---
|
||||||
|
tools/debugedit.c | 63 +++++++++++++++++++++++++++----------------------------
|
||||||
|
1 file changed, 31 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index 4798c63..47e5bbf 100644
|
index 87a423fdb..0f373162d 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -2581,40 +2581,25 @@ main (int argc, char *argv[])
|
@@ -2581,40 +2581,25 @@ main (int argc, char *argv[])
|
||||||
@ -89,3 +115,6 @@ index 4798c63..47e5bbf 100644
|
|||||||
{
|
{
|
||||||
Elf *elf = dso->elf;
|
Elf *elf = dso->elf;
|
||||||
GElf_Off last_offset;
|
GElf_Off last_offset;
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
commit 95822abd90b9b3991b15ba82193abb5b9998dc99
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Sat Apr 15 13:34:18 2017 +0200
|
|
||||||
|
|
||||||
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.
|
|
||||||
Since those don't have a dynsym section trying to add it will fail and
|
|
||||||
produce confusing errors from nm.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
|
||||||
index 6f38e19..39bb0b7 100755
|
|
||||||
--- a/scripts/find-debuginfo.sh
|
|
||||||
+++ b/scripts/find-debuginfo.sh
|
|
||||||
@@ -358,7 +358,16 @@ do_file()
|
|
||||||
fi
|
|
||||||
|
|
||||||
# strip -g implies we have full symtab, don't add mini symtab in that case.
|
|
||||||
- $strip_g || ($include_minidebug && add_minidebug "${debugfn}" "$f")
|
|
||||||
+ # It only makes sense to add a minisymtab for executables and shared
|
|
||||||
+ # libraries. Other executable ELF files (like kernel modules) don't need it.
|
|
||||||
+ if [ "$include_minidebug" = "true" -a "$strip_g" = "false" ]; then
|
|
||||||
+ skip_mini=true
|
|
||||||
+ case "$(file -bi "$f")" in
|
|
||||||
+ application/x-sharedlib*) skip_mini=false ;;
|
|
||||||
+ application/x-executable*) skip_mini=false ;;
|
|
||||||
+ esac
|
|
||||||
+ $skip_mini || add_minidebug "${debugfn}" "$f"
|
|
||||||
+ fi
|
|
||||||
|
|
||||||
echo "./${f#$RPM_BUILD_ROOT}" >> "$ELFBINSFILE"
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
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/49] tests/tpmbuild.at: Make file sed regexp more strict to
|
||||||
|
extract BuildID.
|
||||||
|
|
||||||
|
In some testcases we extract the BuildID with the file command.
|
||||||
|
Unfortunately the file command output changed slightly between versions.
|
||||||
|
Make the sed regexp more strict by only matching a hex-string.
|
||||||
|
Also properly "escape" [ and ] which inside an AT_CHECK should be [[ and ]].
|
||||||
|
|
||||||
|
Tested against file versions 5.11, 5.29 and 5.30.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit f0a581925ad4c948dc58cc8f9a55399ad8de351e)
|
||||||
|
---
|
||||||
|
tests/rpmbuild.at | 20 ++++++++++----------
|
||||||
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
||||||
|
index a46822f52..dcbdd2cad 100644
|
||||||
|
--- a/tests/rpmbuild.at
|
||||||
|
+++ b/tests/rpmbuild.at
|
||||||
|
@@ -423,11 +423,11 @@ hello2_file=./usr/local/bin/hello2
|
||||||
|
test -f $hello_file || echo "no hello file: $hello_file"
|
||||||
|
test -f $hello2_file || echo "no hello2 file: $hello2_file"
|
||||||
|
|
||||||
|
-id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
|
||||||
|
test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
|
||||||
|
test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
|
||||||
|
@@ -516,11 +516,11 @@ hello2_file=./usr/local/bin/hello2
|
||||||
|
test -f $hello_file || echo "no hello file: $hello_file"
|
||||||
|
test -f $hello2_file || echo "no hello2 file: $hello2_file"
|
||||||
|
|
||||||
|
-id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
-idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
||||||
|
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
||||||
|
|
||||||
|
test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
|
||||||
|
test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,71 +1,22 @@
|
|||||||
commit f0a581925ad4c948dc58cc8f9a55399ad8de351e
|
From 58f2b095c0d1507ad09990669f1ae03f6f1d931f Mon Sep 17 00:00:00 2001
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Fri Mar 3 23:51:13 2017 +0100
|
Date: Mon, 20 Mar 2017 09:55:44 +0100
|
||||||
|
Subject: [PATCH 24/49] tests/rpmbuildid.at: Make file sed regexp more strict
|
||||||
|
to extract BuildID.
|
||||||
|
|
||||||
tests/tpmbuild.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
|
||||||
|
regexp more strict by only matching a hex-string. And properly "escape"
|
||||||
|
[ and ] which inside an AT_CHECK should be [[ and ]].
|
||||||
|
|
||||||
In some testcases we extract the BuildID with the file command.
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
Unfortunately the file command output changed slightly between versions.
|
(cherry picked from commit 60f958ab41f854f8839fe04f1a67d1752ad7eda0)
|
||||||
Make the sed regexp more strict by only matching a hex-string.
|
---
|
||||||
Also properly "escape" [ and ] which inside an AT_CHECK should be [[ and ]].
|
tests/rpmbuildid.at | 44 ++++++++++++++++++++++----------------------
|
||||||
|
1 file changed, 22 insertions(+), 22 deletions(-)
|
||||||
Tested against file versions 5.11, 5.29 and 5.30.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
|
|
||||||
index a46822f..dcbdd2c 100644
|
|
||||||
--- a/tests/rpmbuild.at
|
|
||||||
+++ b/tests/rpmbuild.at
|
|
||||||
@@ -423,11 +423,11 @@ hello2_file=./usr/local/bin/hello2
|
|
||||||
test -f $hello_file || echo "no hello file: $hello_file"
|
|
||||||
test -f $hello2_file || echo "no hello2 file: $hello2_file"
|
|
||||||
|
|
||||||
-id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
|
|
||||||
test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
|
|
||||||
test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
|
|
||||||
@@ -516,11 +516,11 @@ hello2_file=./usr/local/bin/hello2
|
|
||||||
test -f $hello_file || echo "no hello file: $hello_file"
|
|
||||||
test -f $hello2_file || echo "no hello2 file: $hello2_file"
|
|
||||||
|
|
||||||
-id1=$(file $hello_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id2=$(file $hello2_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id1debug=$(file $hello_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
-idmulti=$(file $hello_multi_file | sed 's/.*, BuildID[.*]=\(.*\),.*/\1/')
|
|
||||||
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
|
|
||||||
|
|
||||||
test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
|
|
||||||
test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
|
|
||||||
commit 09b5082f1073451423c6d5ebffed781e25472fd6
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Mon Mar 20 09:27:05 2017 +0100
|
|
||||||
|
|
||||||
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
|
|
||||||
regexp more strict by only matching a hex-string. And properly "escape"
|
|
||||||
[ and ] which inside an AT_CHECK should be [[ and ]].
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
index 15c0620..1c06ca1 100644
|
index a0e39782c..158ce122d 100644
|
||||||
--- a/tests/rpmbuildid.at
|
--- a/tests/rpmbuildid.at
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -97,7 +97,7 @@ main_file=./usr/local/bin/hello
|
@@ -97,7 +97,7 @@ main_file=./usr/local/bin/hello
|
||||||
@ -266,3 +217,6 @@ index 15c0620..1c06ca1 100644
|
|||||||
|
|
||||||
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
||||||
],
|
],
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,8 +1,29 @@
|
|||||||
|
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/49] 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
|
||||||
|
isDbg check up so the is executeble check can be done when the file is
|
||||||
|
part of the main package.
|
||||||
|
|
||||||
|
This fixes the build of qemu and uboot-tools in fedora. Both ship
|
||||||
|
non-executable ELF bios files in architecture specific packages.
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1433837
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit c9035d464a6ac3853b5dc705e0df1734ce915cd4)
|
||||||
|
---
|
||||||
|
build/files.c | 19 ++++++++++++++-----
|
||||||
|
1 file changed, 14 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index 6021643..afa01cd 100644
|
index 9e58ae547..9f7def78c 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1711,6 +1711,19 @@ static int generateBuildIDs(FileList fl)
|
@@ -1684,6 +1684,19 @@ static int generateBuildIDs(FileList fl)
|
||||||
for (i = 0, flp = fl->files.recs; i < fl->files.used; i++, flp++) {
|
for (i = 0, flp = fl->files.recs; i < fl->files.used; i++, flp++) {
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
||||||
@ -22,7 +43,7 @@ index 6021643..afa01cd 100644
|
|||||||
int fd = open (flp->diskPath, O_RDONLY);
|
int fd = open (flp->diskPath, O_RDONLY);
|
||||||
if (fd >= 0) {
|
if (fd >= 0) {
|
||||||
/* Only real ELF files, that are ET_EXEC, ET_DYN or
|
/* Only real ELF files, that are ET_EXEC, ET_DYN or
|
||||||
@@ -1732,12 +1745,8 @@ static int generateBuildIDs(FileList fl)
|
@@ -1705,12 +1718,8 @@ static int generateBuildIDs(FileList fl)
|
||||||
is 128 bits) and 64 bytes (largest sha3 is 512
|
is 128 bits) and 64 bytes (largest sha3 is 512
|
||||||
bits), common is 20 bytes (sha1 is 160 bits). */
|
bits), common is 20 bytes (sha1 is 160 bits). */
|
||||||
if (len >= 16 && len <= 64) {
|
if (len >= 16 && len <= 64) {
|
||||||
@ -36,3 +57,6 @@ index 6021643..afa01cd 100644
|
|||||||
needDbg = 1;
|
needDbg = 1;
|
||||||
addid = 1;
|
addid = 1;
|
||||||
}
|
}
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,233 +0,0 @@
|
|||||||
commit b91dc6106e360f13ff365dfac247191942039152
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Wed Mar 15 20:07:29 2017 +0100
|
|
||||||
|
|
||||||
Make sure to reset file attributes for generated build-id directories.
|
|
||||||
|
|
||||||
[Note this patch is currently being tested in Fedora. See bug below.]
|
|
||||||
|
|
||||||
When creating the build-id directories we should reset the file attributes
|
|
||||||
to the defaults. Otherwise if the file list contained an %attr or %defattr
|
|
||||||
the directories would come out with the wrong mode.
|
|
||||||
|
|
||||||
Includes a testcase based on a spec by Igor Gnatenko that fails before
|
|
||||||
and Check that build-id directories are created with the right permissions
|
|
||||||
even if the spec file sets attrs explicitly.
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1432372
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
[Just the testcase]
|
|
||||||
|
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
|
||||||
index 815a390..ad41957 100644
|
|
||||||
--- a/tests/Makefile.am
|
|
||||||
+++ b/tests/Makefile.am
|
|
||||||
@@ -69,6 +69,8 @@ EXTRA_DIST += data/RPMS/hello-2.0-1.i686.rpm
|
|
||||||
EXTRA_DIST += data/RPMS/hello-2.0-1.x86_64.rpm
|
|
||||||
EXTRA_DIST += data/SRPMS/foo-1.0-1.src.rpm
|
|
||||||
EXTRA_DIST += data/SRPMS/hello-1.0-1.src.rpm
|
|
||||||
+EXTRA_DIST += data/SOURCES/hello.c
|
|
||||||
+EXTRA_DIST += data/SPECS/hello-attr-buildid.spec
|
|
||||||
|
|
||||||
# testsuite voodoo
|
|
||||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
|
||||||
diff --git a/tests/data/SOURCES/hello.c b/tests/data/SOURCES/hello.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..020484e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/data/SOURCES/hello.c
|
|
||||||
@@ -0,0 +1,8 @@
|
|
||||||
+#include <stdio.h>
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ printf ("Hello, world!\n");
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
diff --git a/tests/data/SPECS/hello-attr-buildid.spec b/tests/data/SPECS/hello-attr-buildid.spec
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..cdab95f
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/data/SPECS/hello-attr-buildid.spec
|
|
||||||
@@ -0,0 +1,27 @@
|
|
||||||
+Name: test
|
|
||||||
+Version: 1.0
|
|
||||||
+Release: 1
|
|
||||||
+Summary: Test
|
|
||||||
+
|
|
||||||
+License: Public Domain
|
|
||||||
+URL: https://fedoraproject.org
|
|
||||||
+Source: hello.c
|
|
||||||
+
|
|
||||||
+%description
|
|
||||||
+%{summary}.
|
|
||||||
+
|
|
||||||
+%prep
|
|
||||||
+%autosetup -c -D -T
|
|
||||||
+cp -a %{S:0} .
|
|
||||||
+
|
|
||||||
+%build
|
|
||||||
+gcc -g hello.c -o hello
|
|
||||||
+
|
|
||||||
+%install
|
|
||||||
+mkdir -p %{buildroot}%{_bindir}
|
|
||||||
+install -D -p -m 0755 -t %{buildroot}%{_bindir} hello
|
|
||||||
+
|
|
||||||
+%files
|
|
||||||
+%attr(644,root,root) %{_bindir}/hello
|
|
||||||
+
|
|
||||||
+%changelog
|
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
|
||||||
index 15c0620..1cae26d 100644
|
|
||||||
--- a/tests/rpmbuildid.at
|
|
||||||
+++ b/tests/rpmbuildid.at
|
|
||||||
@@ -1166,3 +1166,39 @@ if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
|
|
||||||
],
|
|
||||||
[ignore])
|
|
||||||
AT_CLEANUP
|
|
||||||
+
|
|
||||||
+# ------------------------------
|
|
||||||
+# Check that build-id directories are created with the right permissions
|
|
||||||
+# even if the spec file sets attrs explicitly.
|
|
||||||
+AT_SETUP([rpmbuild buildid attrs])
|
|
||||||
+AT_KEYWORDS([build] [debuginfo] [buildid])
|
|
||||||
+AT_CHECK([
|
|
||||||
+rm -rf ${TOPDIR}
|
|
||||||
+AS_MKDIR_P(${TOPDIR}/SOURCES)
|
|
||||||
+
|
|
||||||
+# Setup sources
|
|
||||||
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
|
|
||||||
+
|
|
||||||
+# Build, contains one ELF which should have a buildid.
|
|
||||||
+run rpmbuild \
|
|
||||||
+ --macros=${abs_top_builddir}/macros:${abs_top_builddir}/tests/testing/usr/local/lib/rpm/platform/%{_target_cpu}-%{_target_os}/macros:${top_srcdir}/macros.debug \
|
|
||||||
+ --rcfile=${abs_top_builddir}/rpmrc \
|
|
||||||
+ --define="_build_id_links compat" \
|
|
||||||
+ --define "_unique_debug_names 1" \
|
|
||||||
+ --define "_unique_debug_srcs 1" \
|
|
||||||
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-attr-buildid.spec
|
|
||||||
+
|
|
||||||
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
|
||||||
+ ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm \
|
|
||||||
+ | grep "build-id d"
|
|
||||||
+
|
|
||||||
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
|
||||||
+ ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm \
|
|
||||||
+ | grep "build-id d"
|
|
||||||
+],
|
|
||||||
+[0],
|
|
||||||
+[/usr/lib/.build-id drwxr-xr-x
|
|
||||||
+/usr/lib/debug/.build-id drwxr-xr-x
|
|
||||||
+],
|
|
||||||
+[ignore])
|
|
||||||
+AT_CLEANUP
|
|
||||||
|
|
||||||
commit 9d942049cf929d5a053c239cdd64f5b97d182c14
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Fri May 19 23:11:39 2017 +0200
|
|
||||||
|
|
||||||
rpmbuild: Reset attrFlags in generateBuildIDs.
|
|
||||||
|
|
||||||
Debuginfo directories and files could be marked as configuration files
|
|
||||||
if the file list ended with a config file.
|
|
||||||
|
|
||||||
Patch by Panu Matilainen. Testcase by me.
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1449732
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
|
||||||
index 791bbe2..86c601b 100644
|
|
||||||
--- a/build/files.c
|
|
||||||
+++ b/build/files.c
|
|
||||||
@@ -1860,6 +1860,8 @@ static int generateBuildIDs(FileList fl)
|
|
||||||
Uses parseForAttr to reset ar, arFlags, and specdFlags.
|
|
||||||
Note that parseForAttr pokes at the attrstr, so we cannot
|
|
||||||
just pass a static string. */
|
|
||||||
+ fl->cur.attrFlags = 0;
|
|
||||||
+ fl->def.attrFlags = 0;
|
|
||||||
fl->def.verifyFlags = RPMVERIFY_ALL;
|
|
||||||
fl->cur.verifyFlags = RPMVERIFY_ALL;
|
|
||||||
fl->def.specdFlags |= SPECD_VERIFY;
|
|
||||||
|
|
||||||
diff --git a/tests/data/SPECS/hello-config-buildid.spec b/tests/data/SPECS/hello-config-buildid.spec
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..ca2d30d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/data/SPECS/hello-config-buildid.spec
|
|
||||||
@@ -0,0 +1,30 @@
|
|
||||||
+Name: test
|
|
||||||
+Version: 1.0
|
|
||||||
+Release: 1
|
|
||||||
+Summary: Test
|
|
||||||
+
|
|
||||||
+License: Public Domain
|
|
||||||
+URL: https://fedoraproject.org
|
|
||||||
+Source: hello.c
|
|
||||||
+
|
|
||||||
+%description
|
|
||||||
+%{summary}.
|
|
||||||
+
|
|
||||||
+%prep
|
|
||||||
+%autosetup -c -D -T
|
|
||||||
+cp -a %{S:0} .
|
|
||||||
+
|
|
||||||
+%build
|
|
||||||
+gcc -g hello.c -o hello
|
|
||||||
+
|
|
||||||
+%install
|
|
||||||
+mkdir -p %{buildroot}/bin
|
|
||||||
+install -D -p -m 0755 -t %{buildroot}/bin hello
|
|
||||||
+mkdir -p %{buildroot}/etc
|
|
||||||
+echo "settings" > %{buildroot}/etc/config.file
|
|
||||||
+
|
|
||||||
+%files
|
|
||||||
+%attr(644,root,root) /bin/hello
|
|
||||||
+%config(noreplace) /etc/config.file
|
|
||||||
+
|
|
||||||
+%changelog
|
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
|
||||||
index 88ce226..4fab3d5 100644
|
|
||||||
--- a/tests/rpmbuildid.at
|
|
||||||
+++ b/tests/rpmbuildid.at
|
|
||||||
@@ -1324,3 +1324,35 @@ run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
|
|
||||||
],
|
|
||||||
[ignore])
|
|
||||||
AT_CLEANUP
|
|
||||||
+
|
|
||||||
+# ------------------------------
|
|
||||||
+# Check that build-id directories are created with the right attributes
|
|
||||||
+# even if the spec file sets config explicitly.
|
|
||||||
+AT_SETUP([rpmbuild buildid config attrs])
|
|
||||||
+AT_KEYWORDS([build] [debuginfo] [buildid])
|
|
||||||
+AT_CHECK([
|
|
||||||
+rm -rf ${TOPDIR}
|
|
||||||
+AS_MKDIR_P(${TOPDIR}/SOURCES)
|
|
||||||
+
|
|
||||||
+# Setup sources
|
|
||||||
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
|
|
||||||
+
|
|
||||||
+# Build, contains one ELF which should have a buildid.
|
|
||||||
+run rpmbuild \
|
|
||||||
+ --macros=${abs_top_builddir}/macros:${abs_top_builddir}/tests/testing/usr/local/lib/rpm/platform/%{_target_cpu}-%{_target_os}/macros:${top_srcdir}/macros.debug \
|
|
||||||
+ --rcfile=${abs_top_builddir}/rpmrc \
|
|
||||||
+ --define="_build_id_links compat" \
|
|
||||||
+ --define "_unique_debug_names 1" \
|
|
||||||
+ --define "_unique_debug_srcs 1" \
|
|
||||||
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-config-buildid.spec
|
|
||||||
+
|
|
||||||
+# Should contain one config file.
|
|
||||||
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm
|
|
||||||
+# Should not contain config files.
|
|
||||||
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm
|
|
||||||
+],
|
|
||||||
+[0],
|
|
||||||
+[/etc/config.file
|
|
||||||
+],
|
|
||||||
+[ignore])
|
|
||||||
+AT_CLEANUP
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
From e6cbf971242e424264711f9ffad57eee7f6d6f67 Mon Sep 17 00:00:00 2001
|
From 419ae36f2c0dad195737982b446fcace507d0814 Mon Sep 17 00:00:00 2001
|
||||||
From: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Tue, 21 Mar 2017 16:46:37 +0100
|
Date: Tue, 21 Mar 2017 16:57:44 +0100
|
||||||
Subject: [PATCH] debugedit: Fix off-by-one adding DW_FORM_string replacement
|
Subject: [PATCH 26/49] debugedit: Fix off-by-one adding DW_FORM_string
|
||||||
slashes.
|
replacement slashes.
|
||||||
|
|
||||||
We would put one too many slashes in between the new dest_dir and file name
|
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
|
part of the replacement of a DW_FORM_string in the .debug_info. If there
|
||||||
@ -22,7 +22,7 @@ Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|||||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index 0f37316..b618dce 100644
|
index 0f373162d..b618dceb5 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -1507,12 +1507,16 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
|
@@ -1507,12 +1507,16 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
|
||||||
@ -47,5 +47,5 @@ index 0f37316..b618dce 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.13.2
|
||||||
|
|
@ -1,34 +1,37 @@
|
|||||||
commit eea78b023539875309b7d38e4c8924f647644924
|
From 6328e1e0da3ba26885f095ccbd83d223d5830527 Mon Sep 17 00:00:00 2001
|
||||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
Date: Thu Jan 5 13:47:28 2017 +0200
|
Date: Thu, 5 Jan 2017 13:47:28 +0200
|
||||||
|
Subject: [PATCH 27/49] Unbreak short-circuited binary builds
|
||||||
|
|
||||||
Unbreak short-circuited binary builds
|
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 broke short-circuited
|
||||||
|
binary builds (which can be handy for testing when working on large
|
||||||
|
packages), eg:
|
||||||
|
rpmbuild -bi foo.spec; rpmbuild -bb --short-circuit foo.spec
|
||||||
|
|
||||||
Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 broke short-circuited
|
The problem is that in a short-circuited build all the links already
|
||||||
binary builds (which can be handy for testing when working on large
|
exist and point to the right place, but the code doesn't realize this
|
||||||
packages), eg:
|
and creates new links instead, which leaves the old links unowned
|
||||||
rpmbuild -bi foo.spec; rpmbuild -bb --short-circuit foo.spec
|
in the buildroot which ultimately causes the build to fail with
|
||||||
|
"Installed (but unpackaged) file(s) found" for the previously created
|
||||||
|
build-id links.
|
||||||
|
|
||||||
The problem is that in a short-circuited build all the links already
|
When checking for pre-existing links see if they already point to
|
||||||
exist and point to the right place, but the code doesn't realize this
|
the right file and in that case just reuse it instead of creating new ones.
|
||||||
and creates new links instead, which leaves the old links unowned
|
Keep track of duplicate build-ids found by noticing existing links that
|
||||||
in the buildroot which ultimately causes the build to fail with
|
point to different targets. But don't do this for compat links, they should
|
||||||
"Installed (but unpackaged) file(s) found" for the previously created
|
just point to the last (duplicate) main build-id symlink found.
|
||||||
build-id links.
|
|
||||||
|
|
||||||
When checking for pre-existing links see if they already point to
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
the right file and in that case just reuse it instead of creating new ones.
|
(cherry picked from commit eea78b023539875309b7d38e4c8924f647644924)
|
||||||
Keep track of duplicate build-ids found by noticing existing links that
|
---
|
||||||
point to different targets. But don't do this for compat links, they should
|
build/files.c | 71 ++++++++++++++++++++++++++++++++++++++++++-----------------
|
||||||
just point to the last (duplicate) main build-id symlink found.
|
1 file changed, 51 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index cca14b9..93021d1 100644
|
index 9f7def78c..2f02587f0 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -1592,11 +1592,12 @@ exit:
|
@@ -1565,11 +1565,12 @@ exit:
|
||||||
|
|
||||||
static int addNewIDSymlink(FileList fl,
|
static int addNewIDSymlink(FileList fl,
|
||||||
char *targetpath, char *idlinkpath,
|
char *targetpath, char *idlinkpath,
|
||||||
@ -42,7 +45,7 @@ index cca14b9..93021d1 100644
|
|||||||
char *origpath, *linkpath;
|
char *origpath, *linkpath;
|
||||||
|
|
||||||
if (isDbg)
|
if (isDbg)
|
||||||
@@ -1606,6 +1607,26 @@ static int addNewIDSymlink(FileList fl,
|
@@ -1579,6 +1580,26 @@ static int addNewIDSymlink(FileList fl,
|
||||||
origpath = linkpath;
|
origpath = linkpath;
|
||||||
|
|
||||||
while (faccessat(AT_FDCWD, linkpath, F_OK, AT_SYMLINK_NOFOLLOW) == 0) {
|
while (faccessat(AT_FDCWD, linkpath, F_OK, AT_SYMLINK_NOFOLLOW) == 0) {
|
||||||
@ -69,7 +72,7 @@ index cca14b9..93021d1 100644
|
|||||||
if (nr > 0)
|
if (nr > 0)
|
||||||
free(linkpath);
|
free(linkpath);
|
||||||
nr++;
|
nr++;
|
||||||
@@ -1613,21 +1634,16 @@ static int addNewIDSymlink(FileList fl,
|
@@ -1586,21 +1607,16 @@ static int addNewIDSymlink(FileList fl,
|
||||||
isDbg ? ".debug" : "");
|
isDbg ? ".debug" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,7 +97,7 @@ index cca14b9..93021d1 100644
|
|||||||
/* Lets see why there are multiple build-ids. If the original
|
/* Lets see why there are multiple build-ids. If the original
|
||||||
targets are hard linked, then it is OK, otherwise warn
|
targets are hard linked, then it is OK, otherwise warn
|
||||||
something fishy is going on. Would be nice to call
|
something fishy is going on. Would be nice to call
|
||||||
@@ -1656,8 +1672,8 @@ static int addNewIDSymlink(FileList fl,
|
@@ -1629,8 +1645,8 @@ static int addNewIDSymlink(FileList fl,
|
||||||
free(origpath);
|
free(origpath);
|
||||||
if (nr > 0)
|
if (nr > 0)
|
||||||
free(linkpath);
|
free(linkpath);
|
||||||
@ -105,7 +108,7 @@ index cca14b9..93021d1 100644
|
|||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@@ -1897,6 +1913,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1872,6 +1888,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
|| (rc = addFile(fl, buildidsubdir, NULL)) == 0) {
|
|| (rc = addFile(fl, buildidsubdir, NULL)) == 0) {
|
||||||
char *linkpattern, *targetpattern;
|
char *linkpattern, *targetpattern;
|
||||||
char *linkpath, *targetpath;
|
char *linkpath, *targetpath;
|
||||||
@ -113,7 +116,7 @@ index cca14b9..93021d1 100644
|
|||||||
if (isDbg) {
|
if (isDbg) {
|
||||||
linkpattern = "%s/%s";
|
linkpattern = "%s/%s";
|
||||||
targetpattern = "../../../../..%s";
|
targetpattern = "../../../../..%s";
|
||||||
@@ -1908,7 +1925,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1883,7 +1900,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
buildidsubdir, &ids[i][2]);
|
buildidsubdir, &ids[i][2]);
|
||||||
rasprintf(&targetpath, targetpattern, paths[i]);
|
rasprintf(&targetpath, targetpattern, paths[i]);
|
||||||
rc = addNewIDSymlink(fl, targetpath, linkpath,
|
rc = addNewIDSymlink(fl, targetpath, linkpath,
|
||||||
@ -122,7 +125,7 @@ index cca14b9..93021d1 100644
|
|||||||
|
|
||||||
/* We might want to have a link from the debug
|
/* We might want to have a link from the debug
|
||||||
build_ids dir to the main one. We create it
|
build_ids dir to the main one. We create it
|
||||||
@@ -1931,16 +1948,30 @@ static int generateBuildIDs(FileList fl)
|
@@ -1906,16 +1923,30 @@ static int generateBuildIDs(FileList fl)
|
||||||
&& build_id_links == BUILD_IDS_COMPAT) {
|
&& build_id_links == BUILD_IDS_COMPAT) {
|
||||||
/* buildidsubdir already points to the
|
/* buildidsubdir already points to the
|
||||||
debug buildid. We just need to setup
|
debug buildid. We just need to setup
|
||||||
@ -160,7 +163,7 @@ index cca14b9..93021d1 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (rc == 0 && isDbg
|
if (rc == 0 && isDbg
|
||||||
@@ -1978,7 +2009,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1953,7 +1984,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
rasprintf(&targetpath, "../../../../..%s",
|
rasprintf(&targetpath, "../../../../..%s",
|
||||||
targetstr);
|
targetstr);
|
||||||
rc = addNewIDSymlink(fl, targetpath,
|
rc = addNewIDSymlink(fl, targetpath,
|
||||||
@ -169,3 +172,6 @@ index cca14b9..93021d1 100644
|
|||||||
free(targetstr);
|
free(targetstr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,42 @@
|
|||||||
|
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/49] 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.
|
||||||
|
Since those don't have a dynsym section trying to add it will fail and
|
||||||
|
produce confusing errors from nm.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 3790a6872749a9601be6044be7d8fb0951131376)
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 11 ++++++++++-
|
||||||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
index 1420ef6cd..f1ffcd7d8 100644
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -347,7 +347,16 @@ while read nlinks inum f; do
|
||||||
|
fi
|
||||||
|
|
||||||
|
# strip -g implies we have full symtab, don't add mini symtab in that case.
|
||||||
|
- $strip_g || ($include_minidebug && add_minidebug "${debugfn}" "$f")
|
||||||
|
+ # It only makes sense to add a minisymtab for executables and shared
|
||||||
|
+ # libraries. Other executable ELF files (like kernel modules) don't need it.
|
||||||
|
+ if [ "$include_minidebug" = "true" -a "$strip_g" = "false" ]; then
|
||||||
|
+ skip_mini=true
|
||||||
|
+ case "$(file -bi "$f")" in
|
||||||
|
+ application/x-sharedlib*) skip_mini=false ;;
|
||||||
|
+ application/x-executable*) skip_mini=false ;;
|
||||||
|
+ esac
|
||||||
|
+ $skip_mini || add_minidebug "${debugfn}" "$f"
|
||||||
|
+ fi
|
||||||
|
|
||||||
|
echo "./${f#$RPM_BUILD_ROOT}" >> "$ELFBINSFILE"
|
||||||
|
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,23 +1,34 @@
|
|||||||
commit 8edddd82f855d547bd68ba4d693db497bbbed7ab
|
From 525282b9a8b78c2890c752e45c4dc7dcf25f42cb Mon Sep 17 00:00:00 2001
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Sat Apr 15 20:31:14 2017 +0200
|
Date: Sun, 16 Apr 2017 18:16:46 +0200
|
||||||
|
Subject: [PATCH 29/49] debugedit: Add -n, --no-recompute-build-id.
|
||||||
|
|
||||||
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
|
||||||
|
package file list. Add -n, --no-recompute-build-id to debugedit and
|
||||||
|
add -n to find-debuginfo.sh set by defining the %_no_recompute_build_ids
|
||||||
|
macro for such packages. %_no_recompute_build_ids can not be used together
|
||||||
|
with %_unique_build_ids.
|
||||||
|
|
||||||
Some packages depend on the build-ids as generated during the build
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
and cannot handle rpmbuild recomputing them before generating the
|
|
||||||
package file list. Add -n, --no-recompute-build-id to debugedit and
|
|
||||||
add -n to find-debuginfo.sh set by defining the %_no_recompute_build_ids
|
|
||||||
macro for such packages. %_no_recompute_build_ids can not be used together
|
|
||||||
with %_unique_build_ids.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
(cherry picked from commit 6e9fd97f6dba9e04cfd33225b610272b964cc5fc)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
macros.in
|
||||||
|
scripts/find-debuginfo.sh
|
||||||
|
---
|
||||||
|
macros.in | 7 ++-
|
||||||
|
scripts/find-debuginfo.sh | 20 +++++++-
|
||||||
|
tests/rpmbuildid.at | 122 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
tools/debugedit.c | 6 ++-
|
||||||
|
4 files changed, 151 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index f7d16de..cf22628 100644
|
index e48ef60c8..c5b1a0b26 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -172,7 +172,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
# the script. See the script for details.
|
# the script. See the script for details.
|
||||||
#
|
#
|
||||||
%__debug_install_post \
|
%__debug_install_post \
|
||||||
@ -26,7 +37,7 @@ index f7d16de..cf22628 100644
|
|||||||
%{nil}
|
%{nil}
|
||||||
|
|
||||||
# Template for debug information sub-package.
|
# Template for debug information sub-package.
|
||||||
@@ -498,6 +498,11 @@ package or when debugging this package.\
|
@@ -488,6 +488,11 @@ package or when debugging this package.\
|
||||||
# onto debugedit --build-id-seed to be used to prime the build-id note hash.
|
# onto debugedit --build-id-seed to be used to prime the build-id note hash.
|
||||||
%_unique_build_ids 1
|
%_unique_build_ids 1
|
||||||
|
|
||||||
@ -39,7 +50,7 @@ index f7d16de..cf22628 100644
|
|||||||
# release and architecture. If set to 1 this will pass
|
# release and architecture. If set to 1 this will pass
|
||||||
# --unique-debug-arch "%{_arch}" to find-debuginfo.sh to create
|
# --unique-debug-arch "%{_arch}" to find-debuginfo.sh to create
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index b52822e..86a248d 100755
|
index f1ffcd7d8..1d3dc0623 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@ -69,7 +80,7 @@ index b52822e..86a248d 100755
|
|||||||
# DWZ parameters.
|
# DWZ parameters.
|
||||||
run_dwz=false
|
run_dwz=false
|
||||||
dwz_low_mem_die_limit=
|
dwz_low_mem_die_limit=
|
||||||
@@ -110,6 +114,9 @@ while [ $# -gt 0 ]; do
|
@@ -107,6 +111,9 @@ while [ $# -gt 0 ]; do
|
||||||
-m)
|
-m)
|
||||||
include_minidebug=true
|
include_minidebug=true
|
||||||
;;
|
;;
|
||||||
@ -79,7 +90,7 @@ index b52822e..86a248d 100755
|
|||||||
-i)
|
-i)
|
||||||
include_gdb_index=true
|
include_gdb_index=true
|
||||||
;;
|
;;
|
||||||
@@ -159,6 +166,11 @@ if test -z "$unique_debug_arch" -a -n "$unique_debug_src_base"; then
|
@@ -149,6 +156,11 @@ if test -z "$unique_debug_arch" -a -n "$unique_debug_src_base"; then
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -91,7 +102,7 @@ index b52822e..86a248d 100755
|
|||||||
i=0
|
i=0
|
||||||
while ((i < nout)); do
|
while ((i < nout)); do
|
||||||
outs[$i]="$BUILDDIR/${outs[$i]}"
|
outs[$i]="$BUILDDIR/${outs[$i]}"
|
||||||
@@ -310,8 +322,12 @@
|
@@ -310,8 +322,12 @@ while read nlinks inum f; do
|
||||||
debug_base_name="$BUILDDIR"
|
debug_base_name="$BUILDDIR"
|
||||||
debug_dest_name="/usr/src/debug/${unique_debug_src_base}-${ver_rel}.${unique_debug_arch}"
|
debug_dest_name="/usr/src/debug/${unique_debug_src_base}-${ver_rel}.${unique_debug_arch}"
|
||||||
fi
|
fi
|
||||||
@ -101,12 +112,12 @@ index b52822e..86a248d 100755
|
|||||||
+ fi
|
+ fi
|
||||||
id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
||||||
- -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
- -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
||||||
+ $no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
+ $no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
||||||
if [ $nlinks -gt 1 ]; then
|
if [ $nlinks -gt 1 ]; then
|
||||||
eval linkedid_$inum=\$id
|
eval linkedid_$inum=\$id
|
||||||
fi
|
fi
|
||||||
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
|
||||||
index dc47b90..88ce226 100644
|
index 158ce122d..4fab3d5dc 100644
|
||||||
--- a/tests/rpmbuildid.at
|
--- a/tests/rpmbuildid.at
|
||||||
+++ b/tests/rpmbuildid.at
|
+++ b/tests/rpmbuildid.at
|
||||||
@@ -1060,6 +1060,128 @@ debug dup id in debug package
|
@@ -1060,6 +1060,128 @@ debug dup id in debug package
|
||||||
@ -239,7 +250,7 @@ index dc47b90..88ce226 100644
|
|||||||
# with _unique_build_ids defined.
|
# with _unique_build_ids defined.
|
||||||
AT_SETUP([rpmbuild buildid unique r1 r2])
|
AT_SETUP([rpmbuild buildid unique r1 r2])
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index b618dce..8444e03 100644
|
index b618dceb5..8444e030e 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -85,6 +85,7 @@ char *dest_dir = NULL;
|
@@ -85,6 +85,7 @@ char *dest_dir = NULL;
|
||||||
@ -269,3 +280,6 @@ index b618dce..8444e03 100644
|
|||||||
goto print;
|
goto print;
|
||||||
|
|
||||||
/* Clear the old bits so they do not affect the new hash. */
|
/* Clear the old bits so they do not affect the new hash. */
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,39 @@
|
|||||||
|
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/49] 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
|
||||||
|
/tmp, a.k.a 777, which should be avoided.
|
||||||
|
|
||||||
|
Fixes: rhbz#641022
|
||||||
|
(cherry picked from commit c707ab26362e795d3f9dba4eb87dc7ed99a28bcb)
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
mode change 100644 => 100755 scripts/find-debuginfo.sh
|
||||||
|
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
old mode 100644
|
||||||
|
new mode 100755
|
||||||
|
index 1d3dc0623..5087c4050
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -443,9 +443,10 @@ if [ -s "$SOURCEFILE" ]; then
|
||||||
|
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
||||||
|
LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(<internal>|<built-in>)$' |
|
||||||
|
(cd "${debug_base_name}"; cpio -pd0mL "${RPM_BUILD_ROOT}${debug_dest_name}")
|
||||||
|
- # stupid cpio creates new directories in mode 0700, fixup
|
||||||
|
+ # stupid cpio creates new directories in mode 0700,
|
||||||
|
+ # and non-standard modes may be inherented from original directories, fixup
|
||||||
|
find "${RPM_BUILD_ROOT}${debug_dest_name}" -type d -print0 |
|
||||||
|
- xargs --no-run-if-empty -0 chmod a+rx
|
||||||
|
+ xargs --no-run-if-empty -0 chmod 0755
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,81 @@
|
|||||||
|
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/49] 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
|
||||||
|
root. Those are unnecessary and we don't have a good way to store them.
|
||||||
|
Such dirs (e.g. /tmp) would then show up at the root of /usr/src/debug.
|
||||||
|
|
||||||
|
Fix this by including only comp_dirs under base_dir. Also only output
|
||||||
|
all dirs once (during phase zero) and don't output empty dirs (which
|
||||||
|
was harmless but would produce a warning from cpio).
|
||||||
|
|
||||||
|
This still includes all empty dirs from the original rhbz#444310
|
||||||
|
nodir testcase and it is an alternative fix for rhbz#641022
|
||||||
|
(commit c707ab).
|
||||||
|
|
||||||
|
Both fixes are necessary in case of an unexpected mode for a directory
|
||||||
|
actually in the build root that we want to include in the source list.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit e795899780337dea751d85db8f381eff3fe75275)
|
||||||
|
---
|
||||||
|
tools/debugedit.c | 39 ++++++++++++++++-----------------------
|
||||||
|
1 file changed, 16 insertions(+), 23 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
|
index 8444e030e..bf115136c 100644
|
||||||
|
--- a/tools/debugedit.c
|
||||||
|
+++ b/tools/debugedit.c
|
||||||
|
@@ -1680,30 +1680,23 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
|
||||||
|
/* Ensure the CU current directory will exist even if only empty. Source
|
||||||
|
filenames possibly located in its parent directories refer relatively to
|
||||||
|
it and the debugger (GDB) cannot safely optimize out the missing
|
||||||
|
- CU current dir subdirectories. */
|
||||||
|
- if (comp_dir && list_file_fd != -1)
|
||||||
|
+ CU current dir subdirectories. Only do this once in phase one. And
|
||||||
|
+ only do this for dirs under our build/base_dir. Don't output the
|
||||||
|
+ empty string (in case the comp_dir == base_dir). */
|
||||||
|
+ if (phase == 0 && base_dir && comp_dir && list_file_fd != -1)
|
||||||
|
{
|
||||||
|
- const char *p = NULL;
|
||||||
|
- size_t size;
|
||||||
|
-
|
||||||
|
- if (base_dir)
|
||||||
|
- {
|
||||||
|
- p = skip_dir_prefix (comp_dir, base_dir);
|
||||||
|
- if (p == NULL && dest_dir != NULL)
|
||||||
|
- p = skip_dir_prefix (comp_dir, dest_dir);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (p == NULL)
|
||||||
|
- p = comp_dir;
|
||||||
|
-
|
||||||
|
- size = strlen (p) + 1;
|
||||||
|
- while (size > 0)
|
||||||
|
- {
|
||||||
|
- ssize_t ret = write (list_file_fd, p, size);
|
||||||
|
- if (ret == -1)
|
||||||
|
- break;
|
||||||
|
- size -= ret;
|
||||||
|
- p += ret;
|
||||||
|
+ const char *p = skip_dir_prefix (comp_dir, base_dir);
|
||||||
|
+ if (p != NULL && p[0] != '\0')
|
||||||
|
+ {
|
||||||
|
+ size_t size = strlen (p) + 1;
|
||||||
|
+ while (size > 0)
|
||||||
|
+ {
|
||||||
|
+ ssize_t ret = write (list_file_fd, p, size);
|
||||||
|
+ if (ret == -1)
|
||||||
|
+ break;
|
||||||
|
+ size -= ret;
|
||||||
|
+ p += ret;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,19 +1,30 @@
|
|||||||
commit 038bfe01796f751001e02de41c5d8678f511f366
|
From 534fae47e4d05fd27c277c9e04ad238e608289f5 Mon Sep 17 00:00:00 2001
|
||||||
Author: Michal Marek <mmarek@suse.com>
|
From: Michal Marek <mmarek@suse.com>
|
||||||
Date: Sat Sep 10 23:13:24 2016 +0200
|
Date: Sat, 10 Sep 2016 23:13:24 +0200
|
||||||
|
Subject: [PATCH 32/49] find-debuginfo.sh: Split directory traversal and
|
||||||
|
debuginfo extraction
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
This siplifies the handling of hardlinks a bit and allows a later patch
|
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||||||
to parallelize the debuginfo extraction.
|
|
||||||
|
|
||||||
Signed-off-by: Michal Marek <mmarek@suse.com>
|
(cherry picked from commit 038bfe01796f751001e02de41c5d8678f511f366)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
scripts/find-debuginfo.sh
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 53 ++++++++++++++++++++++++++++++-----------------
|
||||||
|
1 file changed, 34 insertions(+), 19 deletions(-)
|
||||||
|
mode change 100755 => 100644 scripts/find-debuginfo.sh
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index d83c3e2..6dcd5a4 100644
|
old mode 100755
|
||||||
|
new mode 100644
|
||||||
|
index 5087c4050..097b749bb
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -283,32 +283,36 @@
|
@@ -283,32 +283,36 @@ set -o pipefail
|
||||||
strict_error=ERROR
|
strict_error=ERROR
|
||||||
$strict || strict_error=WARNING
|
$strict || strict_error=WARNING
|
||||||
|
|
||||||
@ -65,17 +76,17 @@ index d83c3e2..6dcd5a4 100644
|
|||||||
|
|
||||||
echo "extracting debug info from $f"
|
echo "extracting debug info from $f"
|
||||||
build_id_seed=
|
build_id_seed=
|
||||||
@@ -328,9 +332,6 @@
|
@@ -328,9 +332,6 @@ while read nlinks inum f; do
|
||||||
fi
|
fi
|
||||||
id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
||||||
$no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
$no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
||||||
- if [ $nlinks -gt 1 ]; then
|
- if [ $nlinks -gt 1 ]; then
|
||||||
- eval linkedid_$inum=\$id
|
- eval linkedid_$inum=\$id
|
||||||
- fi
|
- fi
|
||||||
if [ -z "$id" ]; then
|
if [ -z "$id" ]; then
|
||||||
echo >&2 "*** ${strict_error}: No build ID note found in $f"
|
echo >&2 "*** ${strict_error}: No build ID note found in $f"
|
||||||
$strict && exit 2
|
$strict && exit 2
|
||||||
@@ -376,7 +377,21 @@
|
@@ -376,7 +377,21 @@ while read nlinks inum f; do
|
||||||
|
|
||||||
echo "./${f#$RPM_BUILD_ROOT}" >> "$ELFBINSFILE"
|
echo "./${f#$RPM_BUILD_ROOT}" >> "$ELFBINSFILE"
|
||||||
|
|
||||||
@ -98,3 +109,6 @@ index d83c3e2..6dcd5a4 100644
|
|||||||
|
|
||||||
# Invoke the DWARF Compressor utility.
|
# Invoke the DWARF Compressor utility.
|
||||||
if $run_dwz \
|
if $run_dwz \
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
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/49] 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()'.
|
||||||
|
That means that instead of using 'continue' to break out early it now
|
||||||
|
needs to use 'return'. Otherwise the script will give errors like:
|
||||||
|
|
||||||
|
continue: only meaningful in a `for', `while', or `until' loop
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1465170
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit a08e154459d160ff9a9a5576266e685ab85bfc5d)
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
index 097b749bb..c435a02e4 100644
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -351,7 +351,7 @@ do_file()
|
||||||
|
# just has its file names collected and adjusted.
|
||||||
|
case "$dn" in
|
||||||
|
/usr/lib/debug/*)
|
||||||
|
- continue ;;
|
||||||
|
+ return ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir -p "${debugdn}"
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,17 +1,26 @@
|
|||||||
commit 1b338aa84d4c67fefa957352a028eaca1a45d1f6
|
From aede94115e077e87504b03bf668ef375290200ad Mon Sep 17 00:00:00 2001
|
||||||
Author: Michal Marek <mmarek@suse.com>
|
From: Michal Marek <mmarek@suse.com>
|
||||||
Date: Sat Sep 10 23:13:25 2016 +0200
|
Date: Sat, 10 Sep 2016 23:13:25 +0200
|
||||||
|
Subject: [PATCH 34/49] find-debuginfo.sh: Process files in parallel
|
||||||
|
|
||||||
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
|
||||||
|
the processes.
|
||||||
|
|
||||||
Add a -j <n> option, which, when used, will spawn <n> processes to do the
|
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||||||
debuginfo extraction in parallel. A pipe is used to dispatch the files among
|
|
||||||
the processes.
|
|
||||||
|
|
||||||
Signed-off-by: Michal Marek <mmarek@suse.com>
|
(cherry picked from commit 1b338aa84d4c67fefa957352a028eaca1a45d1f6)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
macros.in
|
||||||
|
scripts/find-debuginfo.sh
|
||||||
|
---
|
||||||
|
macros.in | 2 +-
|
||||||
|
scripts/find-debuginfo.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++---
|
||||||
|
2 files changed, 61 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index b03c5a9..8bde2d7 100644
|
index c5b1a0b26..93e360c79 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -180,7 +180,7 @@
|
@@ -180,7 +180,7 @@
|
||||||
@ -24,10 +33,10 @@ index b03c5a9..8bde2d7 100644
|
|||||||
|
|
||||||
# Template for debug information sub-package.
|
# Template for debug information sub-package.
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 6dcd5a4..2016222 100644
|
index c435a02e4..d8b718bdf 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -74,6 +74,9 @@
|
@@ -74,6 +74,9 @@ unique_debug_arch=
|
||||||
# Base given by --unique-debug-src-base
|
# Base given by --unique-debug-src-base
|
||||||
unique_debug_src_base=
|
unique_debug_src_base=
|
||||||
|
|
||||||
@ -37,7 +46,7 @@ index 6dcd5a4..2016222 100644
|
|||||||
BUILDDIR=.
|
BUILDDIR=.
|
||||||
out=debugfiles.list
|
out=debugfiles.list
|
||||||
nout=0
|
nout=0
|
||||||
@@ -137,6 +140,13 @@
|
@@ -137,6 +140,13 @@ while [ $# -gt 0 ]; do
|
||||||
-r)
|
-r)
|
||||||
strip_r=true
|
strip_r=true
|
||||||
;;
|
;;
|
||||||
@ -51,7 +60,7 @@ index 6dcd5a4..2016222 100644
|
|||||||
*)
|
*)
|
||||||
BUILDDIR=$1
|
BUILDDIR=$1
|
||||||
shift
|
shift
|
||||||
@@ -389,9 +399,56 @@
|
@@ -389,9 +399,56 @@ do_file()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,3 +120,6 @@ index 6dcd5a4..2016222 100644
|
|||||||
|
|
||||||
# Invoke the DWARF Compressor utility.
|
# Invoke the DWARF Compressor utility.
|
||||||
if $run_dwz \
|
if $run_dwz \
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,24 +1,29 @@
|
|||||||
commit 4842adfd91c3b37744c66d9f01c0112468fdbf37
|
From ac275c650fee13ec0fd204bf2b05fbff01a053cd Mon Sep 17 00:00:00 2001
|
||||||
Author: Michael Schroeder <mls@suse.de>
|
From: Michael Schroeder <mls@suse.de>
|
||||||
Date: Tue Mar 28 14:20:50 2017 +0200
|
Date: Tue, 28 Mar 2017 14:20:50 +0200
|
||||||
|
Subject: [PATCH 35/49] Untangle unique build options in find-debuginfo.sh
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
Rename --ver-rel option to --build-id-seed, so that it reflects what
|
Remove implcit usage of the old --ver-rel option for --unique-debug-arch
|
||||||
it does, not how it is used.
|
and --unique-debug-src-base, instead already call find-debuginfo.sh with
|
||||||
|
the version included.
|
||||||
|
|
||||||
Remove implcit usage of the old --ver-rel option for --unique-debug-arch
|
Rename --unique-debug-arch to --unique-debug-suffix because it now
|
||||||
and --unique-debug-src-base, instead already call find-debuginfo.sh with
|
also contains the package version.
|
||||||
the version included.
|
|
||||||
|
|
||||||
Rename --unique-debug-arch to --unique-debug-suffix because it now
|
(cherry picked from commit 4842adfd91c3b37744c66d9f01c0112468fdbf37)
|
||||||
also contains the package version.
|
---
|
||||||
|
macros.in | 13 +++++++++++-
|
||||||
|
scripts/find-debuginfo.sh | 53 ++++++++++++++++-------------------------------
|
||||||
|
2 files changed, 30 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index 7656c06..0ddde29 100644
|
index 93e360c79..b5bf26ac9 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -172,7 +172,18 @@
|
@@ -180,7 +180,18 @@
|
||||||
# the script. See the script for details.
|
# the script. See the script for details.
|
||||||
#
|
#
|
||||||
%__debug_install_post \
|
%__debug_install_post \
|
||||||
@ -39,7 +44,7 @@ index 7656c06..0ddde29 100644
|
|||||||
|
|
||||||
# Template for debug information sub-package.
|
# Template for debug information sub-package.
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 8effac8..1ebc159 100755
|
index d8b718bdf..cd2931c0d 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -6,7 +6,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@ -127,7 +132,7 @@ index 8effac8..1ebc159 100755
|
|||||||
debugdn=${debugdir}${dn}
|
debugdn=${debugdir}${dn}
|
||||||
debugfn=${debugdn}/${bn}
|
debugfn=${debugdn}/${bn}
|
||||||
}
|
}
|
||||||
@@ -310,23 +310,21 @@
|
@@ -325,23 +310,21 @@ do_file()
|
||||||
[ -f "${debugfn}" ] && return
|
[ -f "${debugfn}" ] && return
|
||||||
|
|
||||||
echo "extracting debug info from $f"
|
echo "extracting debug info from $f"
|
||||||
@ -148,11 +153,11 @@ index 8effac8..1ebc159 100755
|
|||||||
no_recompute="-n"
|
no_recompute="-n"
|
||||||
fi
|
fi
|
||||||
- id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
- id=$(${lib_rpm_dir}/debugedit -b $debug_base_name -d $debug_dest_name \
|
||||||
- $no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
- $no_recompute -i $build_id_seed -l "$SOURCEFILE" "$f") || exit
|
||||||
+ id=$(${lib_rpm_dir}/debugedit -b "$debug_base_name" -d "$debug_dest_name" \
|
+ id=$(${lib_rpm_dir}/debugedit -b "$debug_base_name" -d "$debug_dest_name" \
|
||||||
+ $no_recompute -i \
|
+ $no_recompute -i \
|
||||||
+ ${build_id_seed:+--build-id-seed="$build_id_seed"} \
|
+ ${build_id_seed:+--build-id-seed="$build_id_seed"} \
|
||||||
+ -l "$SOURCEFILE" "$f") || exit
|
+ -l "$SOURCEFILE" "$f") || exit
|
||||||
if [ -z "$id" ]; then
|
if [ -z "$id" ]; then
|
||||||
echo >&2 "*** ${strict_error}: No build ID note found in $f"
|
echo >&2 "*** ${strict_error}: No build ID note found in $f"
|
||||||
$strict && exit 2
|
$strict && exit 2
|
||||||
@ -165,3 +170,6 @@ index 8effac8..1ebc159 100755
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
125
0036-Support-debugsource-subpackages.patch
Normal file
125
0036-Support-debugsource-subpackages.patch
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
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/49] Support debugsource subpackages
|
||||||
|
|
||||||
|
This can be enabled by setting the _debugsource_packages macro.
|
||||||
|
|
||||||
|
(cherry picked from commit 538cecf0f1fe127dc416afce7a7ee6f94fdb1ad7)
|
||||||
|
---
|
||||||
|
macros.in | 28 +++++++++++++++++++++++++---
|
||||||
|
scripts/find-debuginfo.sh | 17 ++++++++++++++++-
|
||||||
|
2 files changed, 41 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/macros.in b/macros.in
|
||||||
|
index b5bf26ac9..d104ad5a7 100644
|
||||||
|
--- a/macros.in
|
||||||
|
+++ b/macros.in
|
||||||
|
@@ -191,13 +191,12 @@
|
||||||
|
%{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
|
||||||
|
%{?_find_debuginfo_dwz_opts} \\\
|
||||||
|
%{?_find_debuginfo_opts} \\\
|
||||||
|
+ %{?_debugsource_packages:-S debugsourcefiles.list} \\\
|
||||||
|
"%{_builddir}/%{?buildsubdir}"\
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
# Template for debug information sub-package.
|
||||||
|
-%debug_package \
|
||||||
|
-%ifnarch noarch\
|
||||||
|
-%global __debug_package 1\
|
||||||
|
+%_debuginfo_template \
|
||||||
|
%package debuginfo\
|
||||||
|
Summary: Debug information for package %{name}\
|
||||||
|
Group: Development/Debug\
|
||||||
|
@@ -208,6 +207,26 @@ Debug information is useful when developing applications that use this\
|
||||||
|
package or when debugging this package.\
|
||||||
|
%files debuginfo -f debugfiles.list\
|
||||||
|
%defattr(-,root,root)\
|
||||||
|
+%{nil}
|
||||||
|
+
|
||||||
|
+%_debugsource_template \
|
||||||
|
+%package debugsource\
|
||||||
|
+Summary: Debug sources for package %{name}\
|
||||||
|
+Group: Development/Debug\
|
||||||
|
+AutoReqProv: 0\
|
||||||
|
+%description debugsource\
|
||||||
|
+This package provides debug sources for package %{name}.\
|
||||||
|
+Debug sources are useful when developing applications that use this\
|
||||||
|
+package or when debugging this package.\
|
||||||
|
+%files debugsource -f debugsourcefiles.list\
|
||||||
|
+%defattr(-,root,root)\
|
||||||
|
+%{nil}
|
||||||
|
+
|
||||||
|
+%debug_package \
|
||||||
|
+%ifnarch noarch\
|
||||||
|
+%global __debug_package 1\
|
||||||
|
+%_debuginfo_template\
|
||||||
|
+%{?_debugsource_packages:%_debugsource_template}\
|
||||||
|
%endif\
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
@@ -517,6 +536,9 @@ package or when debugging this package.\
|
||||||
|
# directory under /usr/debug/src as <name>-<ver>-<rel>.<arch>
|
||||||
|
%_unique_debug_srcs 1
|
||||||
|
|
||||||
|
+# Whether rpm should put debug source files into its own subpackage
|
||||||
|
+#%_debugsource_packages 1
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# Use internal dependency generator rather than external helpers?
|
||||||
|
%_use_internal_dependency_generator 1
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
index cd2931c0d..bede833d7 100644
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -4,6 +4,7 @@
|
||||||
|
#
|
||||||
|
# Usage: find-debuginfo.sh [--strict-build-id] [-g] [-r] [-m] [-i] [-n]
|
||||||
|
# [-o debugfiles.list]
|
||||||
|
+# [-S debugsourcefiles.list]
|
||||||
|
# [--run-dwz] [--dwz-low-mem-die-limit N]
|
||||||
|
# [--dwz-max-die-limit N]
|
||||||
|
# [--build-id-seed VERSION-RELEASE]
|
||||||
|
@@ -79,6 +80,7 @@ n_jobs=1
|
||||||
|
|
||||||
|
BUILDDIR=.
|
||||||
|
out=debugfiles.list
|
||||||
|
+srcout=
|
||||||
|
nout=0
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
@@ -147,6 +149,10 @@ while [ $# -gt 0 ]; do
|
||||||
|
-j*)
|
||||||
|
n_jobs=${1#-j}
|
||||||
|
;;
|
||||||
|
+ -S)
|
||||||
|
+ srcout=$2
|
||||||
|
+ shift
|
||||||
|
+ ;;
|
||||||
|
*)
|
||||||
|
BUILDDIR=$1
|
||||||
|
shift
|
||||||
|
@@ -512,10 +518,19 @@ if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
||||||
|
|
||||||
|
(cd "${RPM_BUILD_ROOT}/usr"
|
||||||
|
test ! -d lib/debug || find lib/debug ! -type d
|
||||||
|
- test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1
|
||||||
|
+ test ! -d src/debug -o -n "$srcout" || find src/debug -mindepth 1 -maxdepth 1
|
||||||
|
) | sed 's,^,/usr/,' >> "$LISTFILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if [ -n "$srcout" ]; then
|
||||||
|
+ > "$srcout"
|
||||||
|
+ if [ -d "${RPM_BUILD_ROOT}/usr/src/debug" ]; then
|
||||||
|
+ (cd "${RPM_BUILD_ROOT}/usr"
|
||||||
|
+ find src/debug -mindepth 1 -maxdepth 1
|
||||||
|
+ ) | sed 's,^,/usr/,' >> "$srcout"
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# Append to $1 only the lines from stdin not already in the file.
|
||||||
|
append_uniq()
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,134 +1,27 @@
|
|||||||
commit 538cecf0f1fe127dc416afce7a7ee6f94fdb1ad7
|
From bc5c404e7415108f15a8cd5e8514a74b43a7755a Mon Sep 17 00:00:00 2001
|
||||||
Author: Michael Schroeder <mls@suse.de>
|
From: Michael Schroeder <mls@suse.de>
|
||||||
Date: Tue Mar 28 14:21:40 2017 +0200
|
Date: Fri, 24 Mar 2017 15:35:23 +0100
|
||||||
|
Subject: [PATCH 37/49] Support debuginfo subpackages
|
||||||
|
|
||||||
Support debugsource subpackages
|
We do this by filtering the debuginfo files generated by find-debuginfo.sh
|
||||||
|
with the files from the (sub)packages.
|
||||||
|
|
||||||
This can be enabled by setting the _debugsource_packages macro.
|
This commit is heavily based on a patch by Richard Biener.
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
(cherry picked from commit 980749fdce055254ca92ee7e2595b16750b699a2)
|
||||||
index 0ddde29..007b8d4 100644
|
|
||||||
--- a/macros.in
|
|
||||||
+++ b/macros.in
|
|
||||||
@@ -183,13 +183,12 @@
|
|
||||||
%{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
|
|
||||||
%{?_find_debuginfo_dwz_opts} \\\
|
|
||||||
%{?_find_debuginfo_opts} \\\
|
|
||||||
+ %{?_debugsource_packages:-S debugsourcefiles.list} \\\
|
|
||||||
"%{_builddir}/%{?buildsubdir}"\
|
|
||||||
%{nil}
|
|
||||||
|
|
||||||
# Template for debug information sub-package.
|
Conflicts:
|
||||||
-%debug_package \
|
build/files.c
|
||||||
-%ifnarch noarch\
|
---
|
||||||
-%global __debug_package 1\
|
build/files.c | 285 ++++++++++++++++++++++++++++++++++++++++++++--
|
||||||
+%_debuginfo_template \
|
build/parsePreamble.c | 10 +-
|
||||||
%package debuginfo\
|
build/parseSpec.c | 2 +-
|
||||||
Summary: Debug information for package %{name}\
|
build/rpmbuild_internal.h | 17 +++
|
||||||
Group: Development/Debug\
|
macros.in | 3 +
|
||||||
@@ -201,6 +200,26 @@ Debug information is useful when developing applications that use this\
|
5 files changed, 304 insertions(+), 13 deletions(-)
|
||||||
package or when debugging this package.\
|
|
||||||
%files debuginfo -f debugfiles.list\
|
|
||||||
%defattr(-,root,root)\
|
|
||||||
+%{nil}
|
|
||||||
+
|
|
||||||
+%_debugsource_template \
|
|
||||||
+%package debugsource\
|
|
||||||
+Summary: Debug sources for package %{name}\
|
|
||||||
+Group: Development/Debug\
|
|
||||||
+AutoReqProv: 0\
|
|
||||||
+%description debugsource\
|
|
||||||
+This package provides debug sources for package %{name}.\
|
|
||||||
+Debug sources are useful when developing applications that use this\
|
|
||||||
+package or when debugging this package.\
|
|
||||||
+%files debugsource -f debugsourcefiles.list\
|
|
||||||
+%defattr(-,root,root)\
|
|
||||||
+%{nil}
|
|
||||||
+
|
|
||||||
+%debug_package \
|
|
||||||
+%ifnarch noarch\
|
|
||||||
+%global __debug_package 1\
|
|
||||||
+%_debuginfo_template\
|
|
||||||
+%{?_debugsource_packages:%_debugsource_template}\
|
|
||||||
%endif\
|
|
||||||
%{nil}
|
|
||||||
|
|
||||||
@@ -527,6 +546,9 @@ package or when debugging this package.\
|
|
||||||
# directory under /usr/debug/src as <name>-<ver>-<rel>.<arch>
|
|
||||||
%_unique_debug_srcs 1
|
|
||||||
|
|
||||||
+# Whether rpm should put debug source files into its own subpackage
|
|
||||||
+#%_debugsource_packages 1
|
|
||||||
+
|
|
||||||
#
|
|
||||||
# Use internal dependency generator rather than external helpers?
|
|
||||||
%_use_internal_dependency_generator 1
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
|
||||||
index 1ebc159..aaf4c75 100755
|
|
||||||
--- a/scripts/find-debuginfo.sh
|
|
||||||
+++ b/scripts/find-debuginfo.sh
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
#
|
|
||||||
# Usage: find-debuginfo.sh [--strict-build-id] [-g] [-r] [-m] [-i] [-n]
|
|
||||||
# [-o debugfiles.list]
|
|
||||||
+# [-S debugsourcefiles.list]
|
|
||||||
# [--run-dwz] [--dwz-low-mem-die-limit N]
|
|
||||||
# [--dwz-max-die-limit N]
|
|
||||||
# [--build-id-seed VERSION-RELEASE]
|
|
||||||
@@ -79,6 +80,7 @@ n_jobs=1
|
|
||||||
|
|
||||||
BUILDDIR=.
|
|
||||||
out=debugfiles.list
|
|
||||||
+srcout=
|
|
||||||
nout=0
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
@@ -147,6 +149,10 @@ while [ $# -gt 0 ]; do
|
|
||||||
-j*)
|
|
||||||
n_jobs=${1#-j}
|
|
||||||
;;
|
|
||||||
+ -S)
|
|
||||||
+ srcout=$2
|
|
||||||
+ shift
|
|
||||||
+ ;;
|
|
||||||
*)
|
|
||||||
BUILDDIR=$1
|
|
||||||
shift
|
|
||||||
@@ -512,10 +518,19 @@ if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
|
||||||
|
|
||||||
(cd "${RPM_BUILD_ROOT}/usr"
|
|
||||||
test ! -d lib/debug || find lib/debug ! -type d
|
|
||||||
- test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1
|
|
||||||
+ test ! -d src/debug -o -n "$srcout" || find src/debug -mindepth 1 -maxdepth 1
|
|
||||||
) | sed 's,^,/usr/,' >> "$LISTFILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
+if [ -n "$srcout" ]; then
|
|
||||||
+ > "$srcout"
|
|
||||||
+ if [ -d "${RPM_BUILD_ROOT}/usr/src/debug" ]; then
|
|
||||||
+ (cd "${RPM_BUILD_ROOT}/usr"
|
|
||||||
+ find src/debug -mindepth 1 -maxdepth 1
|
|
||||||
+ ) | sed 's,^,/usr/,' >> "$srcout"
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
# Append to $1 only the lines from stdin not already in the file.
|
|
||||||
append_uniq()
|
|
||||||
{
|
|
||||||
|
|
||||||
commit 980749fdce055254ca92ee7e2595b16750b699a2
|
|
||||||
Author: Michael Schroeder <mls@suse.de>
|
|
||||||
Date: Fri Mar 24 15:35:23 2017 +0100
|
|
||||||
|
|
||||||
Support debuginfo subpackages
|
|
||||||
|
|
||||||
We do this by filtering the debuginfo files generated by find-debuginfo.sh
|
|
||||||
with the files from the (sub)packages.
|
|
||||||
|
|
||||||
This commit is heavily based on a patch by Richard Biener.
|
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
diff --git a/build/files.c b/build/files.c
|
||||||
index f58569e..e3fc8d6 100644
|
index 2f02587f0..779a2a102 100644
|
||||||
--- a/build/files.c
|
--- a/build/files.c
|
||||||
+++ b/build/files.c
|
+++ b/build/files.c
|
||||||
@@ -40,6 +40,16 @@
|
@@ -40,6 +40,16 @@
|
||||||
@ -148,7 +41,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
enum specfFlags_e {
|
enum specfFlags_e {
|
||||||
@@ -1738,9 +1748,8 @@ static int generateBuildIDs(FileList fl)
|
@@ -1702,9 +1712,8 @@ static int generateBuildIDs(FileList fl)
|
||||||
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
if (lstat(flp->diskPath, &sbuf) == 0 && S_ISREG (sbuf.st_mode)) {
|
||||||
/* We determine whether this is a main or
|
/* We determine whether this is a main or
|
||||||
debug ELF based on path. */
|
debug ELF based on path. */
|
||||||
@ -159,7 +52,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
|
|
||||||
/* For the main package files mimic what find-debuginfo.sh does.
|
/* For the main package files mimic what find-debuginfo.sh does.
|
||||||
Only check build-ids for executable files. Debug files are
|
Only check build-ids for executable files. Debug files are
|
||||||
@@ -1833,8 +1842,6 @@ static int generateBuildIDs(FileList fl)
|
@@ -1797,8 +1806,6 @@ static int generateBuildIDs(FileList fl)
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
char *attrstr;
|
char *attrstr;
|
||||||
/* Add .build-id directories to hold the subdirs/symlinks. */
|
/* Add .build-id directories to hold the subdirs/symlinks. */
|
||||||
@ -168,7 +61,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
|
|
||||||
mainiddir = rpmGetPath(fl->buildRoot, BUILD_ID_DIR, NULL);
|
mainiddir = rpmGetPath(fl->buildRoot, BUILD_ID_DIR, NULL);
|
||||||
debugiddir = rpmGetPath(fl->buildRoot, DEBUG_ID_DIR, NULL);
|
debugiddir = rpmGetPath(fl->buildRoot, DEBUG_ID_DIR, NULL);
|
||||||
@@ -1898,8 +1905,8 @@ static int generateBuildIDs(FileList fl)
|
@@ -1864,8 +1871,8 @@ static int generateBuildIDs(FileList fl)
|
||||||
/* Don't add anything more when an error occured. But do
|
/* Don't add anything more when an error occured. But do
|
||||||
cleanup. */
|
cleanup. */
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
@ -179,7 +72,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
|
|
||||||
char *buildidsubdir;
|
char *buildidsubdir;
|
||||||
char subdir[4];
|
char subdir[4];
|
||||||
@@ -2001,7 +2008,7 @@ static int generateBuildIDs(FileList fl)
|
@@ -1967,7 +1974,7 @@ static int generateBuildIDs(FileList fl)
|
||||||
which don't end in ".debug". */
|
which don't end in ".debug". */
|
||||||
int pathlen = strlen(paths[i]);
|
int pathlen = strlen(paths[i]);
|
||||||
int debuglen = strlen(".debug");
|
int debuglen = strlen(".debug");
|
||||||
@ -188,7 +81,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
int vralen = vra == NULL ? 0 : strlen(vra);
|
int vralen = vra == NULL ? 0 : strlen(vra);
|
||||||
if (pathlen > prefixlen + debuglen + vralen
|
if (pathlen > prefixlen + debuglen + vralen
|
||||||
&& strcmp ((paths[i] + pathlen - debuglen),
|
&& strcmp ((paths[i] + pathlen - debuglen),
|
||||||
@@ -2659,24 +2666,273 @@ exit:
|
@@ -2621,24 +2628,273 @@ exit:
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,7 +355,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
if (pkg->fileList == NULL)
|
if (pkg->fileList == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -2685,9 +2941,16 @@ rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
@@ -2647,9 +2903,16 @@ rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
||||||
nvr = headerGetAsString(pkg->header, RPMTAG_NVRA);
|
nvr = headerGetAsString(pkg->header, RPMTAG_NVRA);
|
||||||
rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
|
rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
|
||||||
free(nvr);
|
free(nvr);
|
||||||
@ -482,7 +375,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
a = headerGetString(pkg->header, RPMTAG_ARCH);
|
a = headerGetString(pkg->header, RPMTAG_ARCH);
|
||||||
@@ -2722,6 +2985,8 @@ rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
@@ -2684,6 +2947,8 @@ rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
||||||
}
|
}
|
||||||
exit:
|
exit:
|
||||||
check_fileList = freeStringBuf(check_fileList);
|
check_fileList = freeStringBuf(check_fileList);
|
||||||
@ -492,7 +385,7 @@ index f58569e..e3fc8d6 100644
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
||||||
index 6d25f4c..5715d25 100644
|
index 6be440369..3bb833cff 100644
|
||||||
--- a/build/parsePreamble.c
|
--- a/build/parsePreamble.c
|
||||||
+++ b/build/parsePreamble.c
|
+++ b/build/parsePreamble.c
|
||||||
@@ -544,6 +544,13 @@ static void fillOutMainPackage(Header h)
|
@@ -544,6 +544,13 @@ static void fillOutMainPackage(Header h)
|
||||||
@ -509,7 +402,7 @@ index 6d25f4c..5715d25 100644
|
|||||||
static rpmRC readIcon(Header h, const char * file)
|
static rpmRC readIcon(Header h, const char * file)
|
||||||
{
|
{
|
||||||
char *fn = NULL;
|
char *fn = NULL;
|
||||||
@@ -1197,8 +1204,7 @@ int parsePreamble(rpmSpec spec, int initialPackage)
|
@@ -1171,8 +1178,7 @@ int parsePreamble(rpmSpec spec, int initialPackage)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pkg != spec->packages) {
|
if (pkg != spec->packages) {
|
||||||
@ -520,10 +413,10 @@ index 6d25f4c..5715d25 100644
|
|||||||
|
|
||||||
if (checkForRequired(pkg->header, NVR)) {
|
if (checkForRequired(pkg->header, NVR)) {
|
||||||
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
||||||
index 2928e85..d0c42a4 100644
|
index 9fff0e2c8..582060770 100644
|
||||||
--- a/build/parseSpec.c
|
--- a/build/parseSpec.c
|
||||||
+++ b/build/parseSpec.c
|
+++ b/build/parseSpec.c
|
||||||
@@ -572,7 +572,7 @@ static void initSourceHeader(rpmSpec spec)
|
@@ -564,7 +564,7 @@ static void initSourceHeader(rpmSpec spec)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add extra provides to package. */
|
/* Add extra provides to package. */
|
||||||
@ -533,10 +426,10 @@ index 2928e85..d0c42a4 100644
|
|||||||
const char *arch, *name;
|
const char *arch, *name;
|
||||||
char *evr, *isaprov;
|
char *evr, *isaprov;
|
||||||
diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
|
diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
|
||||||
index 948dc31..46d9676 100644
|
index 7dd577f26..7ec05b9c9 100644
|
||||||
--- a/build/rpmbuild_internal.h
|
--- a/build/rpmbuild_internal.h
|
||||||
+++ b/build/rpmbuild_internal.h
|
+++ b/build/rpmbuild_internal.h
|
||||||
@@ -442,6 +442,13 @@
|
@@ -442,6 +442,13 @@ int addReqProv(Package pkg, rpmTagVal tagN,
|
||||||
|
|
||||||
|
|
||||||
/** \ingroup rpmbuild
|
/** \ingroup rpmbuild
|
||||||
@ -550,7 +443,7 @@ index 948dc31..46d9676 100644
|
|||||||
* Add rpmlib feature dependency.
|
* Add rpmlib feature dependency.
|
||||||
* @param pkg package
|
* @param pkg package
|
||||||
* @param feature rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
|
* @param feature rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
|
||||||
@@ -463,6 +470,16 @@ int rpmlibNeedsFeature(Package pkg, const char * feature, const char * featureEV
|
@@ -453,6 +460,16 @@ int rpmlibNeedsFeature(Package pkg, const char * feature, const char * featureEV
|
||||||
|
|
||||||
RPM_GNUC_INTERNAL
|
RPM_GNUC_INTERNAL
|
||||||
rpmRC checkForEncoding(Header h, int addtag);
|
rpmRC checkForEncoding(Header h, int addtag);
|
||||||
@ -568,10 +461,10 @@ index 948dc31..46d9676 100644
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index 007b8d4..cb65f4f 100644
|
index d104ad5a7..0c055a7fd 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -549,6 +549,9 @@ package or when debugging this package.\
|
@@ -539,6 +539,9 @@ package or when debugging this package.\
|
||||||
# Whether rpm should put debug source files into its own subpackage
|
# Whether rpm should put debug source files into its own subpackage
|
||||||
#%_debugsource_packages 1
|
#%_debugsource_packages 1
|
||||||
|
|
||||||
@ -581,67 +474,6 @@ index 007b8d4..cb65f4f 100644
|
|||||||
#
|
#
|
||||||
# Use internal dependency generator rather than external helpers?
|
# Use internal dependency generator rather than external helpers?
|
||||||
%_use_internal_dependency_generator 1
|
%_use_internal_dependency_generator 1
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
||||||
commit a517554e36666f58724620347a4b8224471d2225
|
|
||||||
Author: Michael Schroeder <mls@suse.de>
|
|
||||||
Date: Wed Mar 29 14:55:10 2017 +0200
|
|
||||||
|
|
||||||
Also add directories to split debuginfo packages
|
|
||||||
|
|
||||||
This gets rid of the last difference between debuginfo subpackages
|
|
||||||
and normal debuginfo packages.
|
|
||||||
|
|
||||||
diff --git a/build/files.c b/build/files.c
|
|
||||||
index e3fc8d6..5022069 100644
|
|
||||||
--- a/build/files.c
|
|
||||||
+++ b/build/files.c
|
|
||||||
@@ -2745,8 +2745,9 @@ static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
|
|
||||||
{
|
|
||||||
rpmfi fi;
|
|
||||||
ARGV_t files = NULL;
|
|
||||||
- Package dbg = NULL;
|
|
||||||
- char *path = NULL;
|
|
||||||
+ ARGV_t dirs = NULL;
|
|
||||||
+ int lastdiridx = -1, dirsadded;
|
|
||||||
+ char *path = NULL, *p, *pmin;
|
|
||||||
size_t buildrootlen = strlen(buildroot);
|
|
||||||
|
|
||||||
/* ignore noarch subpackages */
|
|
||||||
@@ -2779,12 +2780,37 @@ static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
|
|
||||||
argvAdd(&files, "%defattr(-,root,root)");
|
|
||||||
argvAddDir(&files, DEBUG_LIB_DIR);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
/* Add the files main debug-info file */
|
|
||||||
argvAdd(&files, path + buildrootlen);
|
|
||||||
+
|
|
||||||
+ /* Add the dir(s) */
|
|
||||||
+ dirsadded = 0;
|
|
||||||
+ pmin = path + buildrootlen + strlen(DEBUG_LIB_DIR);
|
|
||||||
+ while ((p = strrchr(path + buildrootlen, '/')) != NULL && p > pmin) {
|
|
||||||
+ *p = 0;
|
|
||||||
+ if (lastdiridx >= 0 && !strcmp(dirs[lastdiridx], path + buildrootlen))
|
|
||||||
+ break; /* already added this one */
|
|
||||||
+ argvAdd(&dirs, path + buildrootlen);
|
|
||||||
+ dirsadded++;
|
|
||||||
+ }
|
|
||||||
+ if (dirsadded)
|
|
||||||
+ lastdiridx = argvCount(dirs) - dirsadded; /* remember longest dir */
|
|
||||||
}
|
|
||||||
path = _free(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* add collected directories to file list */
|
|
||||||
+ if (dirs) {
|
|
||||||
+ int i;
|
|
||||||
+ argvSort(dirs, NULL);
|
|
||||||
+ for (i = 0; dirs[i]; i++) {
|
|
||||||
+ if (!i || strcmp(dirs[i], dirs[i - 1]) != 0)
|
|
||||||
+ argvAddDir(&files, dirs[i]);
|
|
||||||
+ }
|
|
||||||
+ dirs = argvFree(dirs);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (files) {
|
|
||||||
/* we have collected some files. Now put them in a debuginfo
|
|
||||||
* package. If this is not the main package, clone the main
|
|
70
0038-Also-add-directories-to-split-debuginfo-packages.patch
Normal file
70
0038-Also-add-directories-to-split-debuginfo-packages.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
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/49] Also add directories to split debuginfo packages
|
||||||
|
|
||||||
|
This gets rid of the last difference between debuginfo subpackages
|
||||||
|
and normal debuginfo packages.
|
||||||
|
|
||||||
|
(cherry picked from commit a517554e36666f58724620347a4b8224471d2225)
|
||||||
|
---
|
||||||
|
build/files.c | 30 ++++++++++++++++++++++++++++--
|
||||||
|
1 file changed, 28 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/files.c b/build/files.c
|
||||||
|
index 779a2a102..f27dcc7c1 100644
|
||||||
|
--- a/build/files.c
|
||||||
|
+++ b/build/files.c
|
||||||
|
@@ -2707,8 +2707,9 @@ static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
|
||||||
|
{
|
||||||
|
rpmfi fi;
|
||||||
|
ARGV_t files = NULL;
|
||||||
|
- Package dbg = NULL;
|
||||||
|
- char *path = NULL;
|
||||||
|
+ ARGV_t dirs = NULL;
|
||||||
|
+ int lastdiridx = -1, dirsadded;
|
||||||
|
+ char *path = NULL, *p, *pmin;
|
||||||
|
size_t buildrootlen = strlen(buildroot);
|
||||||
|
|
||||||
|
/* ignore noarch subpackages */
|
||||||
|
@@ -2741,12 +2742,37 @@ static void filterDebuginfoPackage(rpmSpec spec, Package pkg,
|
||||||
|
argvAdd(&files, "%defattr(-,root,root)");
|
||||||
|
argvAddDir(&files, DEBUG_LIB_DIR);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
/* Add the files main debug-info file */
|
||||||
|
argvAdd(&files, path + buildrootlen);
|
||||||
|
+
|
||||||
|
+ /* Add the dir(s) */
|
||||||
|
+ dirsadded = 0;
|
||||||
|
+ pmin = path + buildrootlen + strlen(DEBUG_LIB_DIR);
|
||||||
|
+ while ((p = strrchr(path + buildrootlen, '/')) != NULL && p > pmin) {
|
||||||
|
+ *p = 0;
|
||||||
|
+ if (lastdiridx >= 0 && !strcmp(dirs[lastdiridx], path + buildrootlen))
|
||||||
|
+ break; /* already added this one */
|
||||||
|
+ argvAdd(&dirs, path + buildrootlen);
|
||||||
|
+ dirsadded++;
|
||||||
|
+ }
|
||||||
|
+ if (dirsadded)
|
||||||
|
+ lastdiridx = argvCount(dirs) - dirsadded; /* remember longest dir */
|
||||||
|
}
|
||||||
|
path = _free(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* add collected directories to file list */
|
||||||
|
+ if (dirs) {
|
||||||
|
+ int i;
|
||||||
|
+ argvSort(dirs, NULL);
|
||||||
|
+ for (i = 0; dirs[i]; i++) {
|
||||||
|
+ if (!i || strcmp(dirs[i], dirs[i - 1]) != 0)
|
||||||
|
+ argvAddDir(&files, dirs[i]);
|
||||||
|
+ }
|
||||||
|
+ dirs = argvFree(dirs);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
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
|
||||||
|
|
@ -1,5 +1,27 @@
|
|||||||
|
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/49] 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 '/'.
|
||||||
|
|
||||||
|
skip_dir_prefix is always used with base_dir or dest_dir which don't
|
||||||
|
end with a slash themselves.
|
||||||
|
|
||||||
|
This really only is an issue if a package would put a directory named
|
||||||
|
similar to the package source dir (which cargo on fedora does, by adding
|
||||||
|
a directory named cargo-vendor in the builddir itself).
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 2ea5619e375f0717b755c8aa4a38254ea622b833)
|
||||||
|
---
|
||||||
|
tools/debugedit.c | 10 ++++++++--
|
||||||
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
||||||
index abd2ca4..a271b91 100644
|
index bf115136c..682189929 100644
|
||||||
--- a/tools/debugedit.c
|
--- a/tools/debugedit.c
|
||||||
+++ b/tools/debugedit.c
|
+++ b/tools/debugedit.c
|
||||||
@@ -662,7 +662,8 @@ canonicalize_path (const char *s, char *d)
|
@@ -662,7 +662,8 @@ canonicalize_path (const char *s, char *d)
|
||||||
@ -31,3 +53,6 @@ index abd2ca4..a271b91 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Most strings will be in the existing debug string table. But to
|
/* Most strings will be in the existing debug string table. But to
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
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/49] 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
|
||||||
|
construct in DWARF. So different compilers have come up with fake
|
||||||
|
source file names like <built-in> or <__thread_local_inner macros>.
|
||||||
|
We already filtered out the strings "<internal>" and "<built-in>".
|
||||||
|
Just filter out all '(^|/)<[a-z _-]+>$'. They are fake files!
|
||||||
|
|
||||||
|
This is mainly to appease the rustc compiler which generates lots of
|
||||||
|
different variants to encode some instruction sequence is part of an
|
||||||
|
compiler generated macro expansion.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit ff239ff4b06c86485eccaf8f4ecadc9bceb34748)
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
index bede833d7..eb62a158a 100644
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -502,7 +502,11 @@ if [ -s "$SOURCEFILE" ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
||||||
|
- LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(<internal>|<built-in>)$' |
|
||||||
|
+ # Filter out anything compiler generated which isn't a source file.
|
||||||
|
+ # e.g. <internal>, <built-in>, <__thread_local_inner macros>.
|
||||||
|
+ # Some compilers generate them as if they are part of the working
|
||||||
|
+ # directory (which is why we match against ^ or /).
|
||||||
|
+ LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(^|/)<[a-z _-]+>$' |
|
||||||
|
(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
|
||||||
|
|
@ -1,24 +1,28 @@
|
|||||||
commit 0f162dc41f2051eab237bd223356d88e94a07580
|
From f22cb2890026544499ee4f1a309a44c71e0b8152 Mon Sep 17 00:00:00 2001
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Mon Jun 26 17:38:30 2017 +0200
|
Date: Mon, 26 Jun 2017 17:38:30 +0200
|
||||||
|
Subject: [PATCH 41/49] find-debuginfo.sh: Don't create dwz multi file if there
|
||||||
|
is only one .debug.
|
||||||
|
|
||||||
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
|
||||||
|
the shared debug info into a separate file and dwz will complain:
|
||||||
|
|
||||||
dwz -m multi only works when there are multiple .debug input files.
|
dwz: Too few files for multifile optimization.
|
||||||
With just one .debug file it doesn't really make sense to extract
|
|
||||||
the shared debug info into a separate file and dwz will complain:
|
|
||||||
|
|
||||||
dwz: Too few files for multifile optimization.
|
So only add -m multi if there is more than one .debug file.
|
||||||
|
|
||||||
So only add -m multi if there is more than one .debug file.
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
(cherry picked from commit 0f162dc41f2051eab237bd223356d88e94a07580)
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
---
|
||||||
|
scripts/find-debuginfo.sh | 10 ++++++----
|
||||||
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 85a862f..360982d 100755
|
index eb62a158a..3bfc15a79 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -458,8 +458,8 @@ fi
|
@@ -442,8 +442,8 @@ fi
|
||||||
# Invoke the DWARF Compressor utility.
|
# Invoke the DWARF Compressor utility.
|
||||||
if $run_dwz \
|
if $run_dwz \
|
||||||
&& [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then
|
&& [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then
|
||||||
@ -29,7 +33,7 @@ index 85a862f..360982d 100755
|
|||||||
dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}"
|
dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}"
|
||||||
dwz_multifile_suffix=
|
dwz_multifile_suffix=
|
||||||
dwz_multifile_idx=0
|
dwz_multifile_idx=0
|
||||||
@@ -468,14 +468,16 @@ if $run_dwz \
|
@@ -452,14 +452,16 @@ if $run_dwz \
|
||||||
dwz_multifile_suffix=".${dwz_multifile_idx}"
|
dwz_multifile_suffix=".${dwz_multifile_idx}"
|
||||||
done
|
done
|
||||||
dwz_multfile_name="${dwz_multifile_name}${dwz_multifile_suffix}"
|
dwz_multfile_name="${dwz_multifile_name}${dwz_multifile_suffix}"
|
||||||
@ -48,3 +52,6 @@ index 85a862f..360982d 100755
|
|||||||
else
|
else
|
||||||
echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed"
|
echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed"
|
||||||
exit 2
|
exit 2
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,20 +1,25 @@
|
|||||||
commit 173e5642a97c535f8bdaac5bf88854a103cc125b
|
From 201b856c02aeb3c4fc6b3a8b96ce8817278f4fbf Mon Sep 17 00:00:00 2001
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
Date: Mon Jun 26 13:35:48 2017 +0200
|
Date: Mon, 26 Jun 2017 13:35:48 +0200
|
||||||
|
Subject: [PATCH 42/49] Update find-debuginfo.sh options and macros
|
||||||
|
documentation.
|
||||||
|
|
||||||
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,
|
||||||
|
--unique-debug-suffix SUFFIX and --unique-debug-src-base BASE.
|
||||||
|
|
||||||
This adds some missing documentation for rpm macros and find-debuginfo.sh
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
options that were recently added (or renamed). -j N, --build-id-seed SEED,
|
(cherry picked from commit 173e5642a97c535f8bdaac5bf88854a103cc125b)
|
||||||
--unique-debug-suffix SUFFIX and --unique-debug-src-base BASE.
|
---
|
||||||
|
macros.in | 14 ++++++++------
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
scripts/find-debuginfo.sh | 28 ++++++++++++++++++++++------
|
||||||
|
2 files changed, 30 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
diff --git a/macros.in b/macros.in
|
diff --git a/macros.in b/macros.in
|
||||||
index b095719..3e9b73f 100644
|
index 0c055a7fd..2a114ccd7 100644
|
||||||
--- a/macros.in
|
--- a/macros.in
|
||||||
+++ b/macros.in
|
+++ b/macros.in
|
||||||
@@ -522,8 +522,9 @@ package or when debugging this package.\
|
@@ -514,8 +514,9 @@ package or when debugging this package.\
|
||||||
|
|
||||||
# Whether build-ids should be made unique between package version/releases
|
# Whether build-ids should be made unique between package version/releases
|
||||||
# when generating debuginfo packages. If set to 1 this will pass
|
# when generating debuginfo packages. If set to 1 this will pass
|
||||||
@ -26,7 +31,7 @@ index b095719..3e9b73f 100644
|
|||||||
%_unique_build_ids 1
|
%_unique_build_ids 1
|
||||||
|
|
||||||
# Do not recompute build-ids but keep whatever is in the ELF file already.
|
# Do not recompute build-ids but keep whatever is in the ELF file already.
|
||||||
@@ -533,15 +534,16 @@ package or when debugging this package.\
|
@@ -525,15 +526,16 @@ package or when debugging this package.\
|
||||||
|
|
||||||
# Whether .debug files should be made unique between package version,
|
# Whether .debug files should be made unique between package version,
|
||||||
# release and architecture. If set to 1 this will pass
|
# release and architecture. If set to 1 this will pass
|
||||||
@ -48,7 +53,7 @@ index b095719..3e9b73f 100644
|
|||||||
|
|
||||||
# Whether rpm should put debug source files into its own subpackage
|
# Whether rpm should put debug source files into its own subpackage
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
index 0233d92..85a862f 100755
|
index 3bfc15a79..185d25f96 100644
|
||||||
--- a/scripts/find-debuginfo.sh
|
--- a/scripts/find-debuginfo.sh
|
||||||
+++ b/scripts/find-debuginfo.sh
|
+++ b/scripts/find-debuginfo.sh
|
||||||
@@ -3,11 +3,14 @@
|
@@ -3,11 +3,14 @@
|
||||||
@ -104,3 +109,6 @@ index 0233d92..85a862f 100755
|
|||||||
#
|
#
|
||||||
# All file names in switches are relative to builddir (. if not given).
|
# All file names in switches are relative to builddir (. if not given).
|
||||||
#
|
#
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 64c75ba68118e47f65eedf15855d8a50deeebcd1 Mon Sep 17 00:00:00 2001
|
From 709e675cdf0c8f9b07507aad12400398f354cc90 Mon Sep 17 00:00:00 2001
|
||||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
Date: Mon, 16 Jan 2017 09:19:43 -0500
|
Date: Mon, 16 Jan 2017 09:19:43 -0500
|
||||||
Subject: [PATCH] Add OpenSSL support for digest and signatures
|
Subject: [PATCH 43/49] Add OpenSSL support for digest and signatures
|
||||||
|
|
||||||
Autotools: add --with-crypto=openssl
|
Autotools: add --with-crypto=openssl
|
||||||
This enables RPM to locate the appropriate flags for compiling
|
This enables RPM to locate the appropriate flags for compiling
|
||||||
@ -16,6 +16,10 @@ See also:
|
|||||||
https://github.com/rpm-software-management/rpm/issues/119
|
https://github.com/rpm-software-management/rpm/issues/119
|
||||||
|
|
||||||
(cherry picked from commit 64028f9a1c25ada8ffc7a48775f526600edcbf85)
|
(cherry picked from commit 64028f9a1c25ada8ffc7a48775f526600edcbf85)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
Makefile.am
|
||||||
|
configure.ac
|
||||||
---
|
---
|
||||||
INSTALL | 27 +-
|
INSTALL | 27 +-
|
||||||
Makefile.am | 17 +-
|
Makefile.am | 17 +-
|
||||||
@ -70,7 +74,7 @@ index 60536e316..8eefef799 100644
|
|||||||
default database backend. BDB can be downloaded from
|
default database backend. BDB can be downloaded from
|
||||||
http://www.oracle.com/technology/software/products/berkeley-db/index.html
|
http://www.oracle.com/technology/software/products/berkeley-db/index.html
|
||||||
diff --git a/Makefile.am b/Makefile.am
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
index 6b37b5898..42a77c0d4 100644
|
index 1b77730aa..a5268030b 100644
|
||||||
--- a/Makefile.am
|
--- a/Makefile.am
|
||||||
+++ b/Makefile.am
|
+++ b/Makefile.am
|
||||||
@@ -41,6 +41,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/build
|
@@ -41,6 +41,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/build
|
||||||
@ -136,7 +140,7 @@ index 6b37b5898..42a77c0d4 100644
|
|||||||
|
|
||||||
if LIBELF
|
if LIBELF
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 91fadbade..d21b67220 100644
|
index e6362535b..65052870a 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -243,18 +243,30 @@ AC_CHECK_HEADERS([dwarf.h], [
|
@@ -243,18 +243,30 @@ AC_CHECK_HEADERS([dwarf.h], [
|
||||||
@ -1165,5 +1169,5 @@ index 000000000..aea460e39
|
|||||||
+ return sa;
|
+ return sa;
|
||||||
+}
|
+}
|
||||||
--
|
--
|
||||||
2.12.0
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 6739797e1c4a1c24f691568956597adcaece788e Mon Sep 17 00:00:00 2001
|
From 287cda21a5594ad41ffbd29eb01022f314637bdf Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Tue, 28 Feb 2017 10:57:56 +0100
|
Date: Tue, 28 Feb 2017 10:57:56 +0100
|
||||||
Subject: [PATCH 1/6] Use RPMTAG_*NAME instead of RPMTAG_*FLAGS in
|
Subject: [PATCH 44/49] Use RPMTAG_*NAME instead of RPMTAG_*FLAGS in
|
||||||
parsePreamble.c and parseRCPOT()
|
parsePreamble.c and parseRCPOT()
|
||||||
|
|
||||||
Using the FLGS tags is awkward and inconsistent with other part of the code
|
Using the FLGS tags is awkward and inconsistent with other part of the code
|
||||||
@ -148,5 +148,5 @@ index 73915015a..ce192fa9c 100644
|
|||||||
|
|
||||||
if (rc) {
|
if (rc) {
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
@ -1,7 +1,8 @@
|
|||||||
From 01dc6ada3bf33a06ad58d3b1246c287ac148d912 Mon Sep 17 00:00:00 2001
|
From 4fb394a677c17a33c7e3f3455a1a6c109200b87e Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Tue, 28 Feb 2017 17:42:21 +0100
|
Date: Tue, 28 Feb 2017 17:42:21 +0100
|
||||||
Subject: [PATCH 2/6] Fix check for weak deps in external dependency generator
|
Subject: [PATCH 45/49] Fix check for weak deps in external dependency
|
||||||
|
generator
|
||||||
|
|
||||||
(cherry picked from commit 43d230884365d90d42184a0000f44bb33e5f1ab8)
|
(cherry picked from commit 43d230884365d90d42184a0000f44bb33e5f1ab8)
|
||||||
---
|
---
|
||||||
@ -32,5 +33,5 @@ index ce192fa9c..921814ad1 100644
|
|||||||
continue;
|
continue;
|
||||||
tagflags = RPMSENSE_FIND_REQUIRES;
|
tagflags = RPMSENSE_FIND_REQUIRES;
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 950eafdaac08cb618a4b5a8c923f1535985bcdc3 Mon Sep 17 00:00:00 2001
|
From 9a316cbeb61549b3004692c9dd8437b9fa805e74 Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Thu, 9 Mar 2017 12:12:32 +0100
|
Date: Thu, 9 Mar 2017 12:12:32 +0100
|
||||||
Subject: [PATCH 3/6] Fix check whether to allow rich deps in a given tag
|
Subject: [PATCH 46/49] Fix check whether to allow rich deps in a given tag
|
||||||
|
|
||||||
Broken with 9d5bbd9774d00f50749bb045217eaf91c87b6de0
|
Broken with 9d5bbd9774d00f50749bb045217eaf91c87b6de0
|
||||||
|
|
||||||
@ -55,5 +55,5 @@ index bd728ed2d..6c2aead4e 100644
|
|||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 96772ee932bbfb3f340589fa5cbbe3ec99125cfd Mon Sep 17 00:00:00 2001
|
From 27c263a877dd4bfac12ae716038dfbb0a305625b Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Thu, 9 Mar 2017 14:02:10 +0100
|
Date: Thu, 9 Mar 2017 14:02:10 +0100
|
||||||
Subject: [PATCH 4/6] Re-enable rich dependecies for build requires and
|
Subject: [PATCH 47/49] Re-enable rich dependecies for build requires and
|
||||||
conflicts
|
conflicts
|
||||||
|
|
||||||
(cherry picked from commit cb3dc0b43bd9a119196a527504d03d57d0785092)
|
(cherry picked from commit cb3dc0b43bd9a119196a527504d03d57d0785092)
|
||||||
@ -26,5 +26,5 @@ index 6c2aead4e..4d500c1df 100644
|
|||||||
case RPMTAG_FILETRIGGERIN:
|
case RPMTAG_FILETRIGGERIN:
|
||||||
nametag = RPMTAG_FILETRIGGERNAME;
|
nametag = RPMTAG_FILETRIGGERNAME;
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 9ff717b63e94eb6a330050036506f8b78bf1401f Mon Sep 17 00:00:00 2001
|
From c1ed362facbab3d08b5576950d4c6a68cfae9e75 Mon Sep 17 00:00:00 2001
|
||||||
From: Igor Gnatenko <ignatenko@redhat.com>
|
From: Igor Gnatenko <ignatenko@redhat.com>
|
||||||
Date: Sat, 25 Feb 2017 12:28:16 +0100
|
Date: Sat, 25 Feb 2017 12:28:16 +0100
|
||||||
Subject: [PATCH 5/6] add support for rich dependencies from dependency
|
Subject: [PATCH 48/49] add support for rich dependencies from dependency
|
||||||
generators
|
generators
|
||||||
|
|
||||||
Mostly achieved by replacing custom parser with the parseRCPOT().
|
Mostly achieved by replacing custom parser with the parseRCPOT().
|
||||||
@ -9,6 +9,9 @@ Mostly achieved by replacing custom parser with the parseRCPOT().
|
|||||||
Closes: https://github.com/rpm-software-management/rpm/issues/167
|
Closes: https://github.com/rpm-software-management/rpm/issues/167
|
||||||
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
|
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
|
||||||
(cherry picked from commit 8f509d669b9ae79c86dd510c5a4bc5109f60d733)
|
(cherry picked from commit 8f509d669b9ae79c86dd510c5a4bc5109f60d733)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
build/rpmfc.c
|
||||||
---
|
---
|
||||||
build/parsePreamble.c | 4 +--
|
build/parsePreamble.c | 4 +--
|
||||||
build/parseReqs.c | 9 +++--
|
build/parseReqs.c | 9 +++--
|
||||||
@ -272,5 +275,5 @@ index 921814ad1..7fa8227d0 100644
|
|||||||
|
|
||||||
if (rc) {
|
if (rc) {
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 34979267904cec0c53cad1e1361db733f56dcbf8 Mon Sep 17 00:00:00 2001
|
From d6a1e94f18d2f73e7b03025d891aa7e407cb169a Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Festi <ffesti@redhat.com>
|
From: Florian Festi <ffesti@redhat.com>
|
||||||
Date: Wed, 31 May 2017 10:42:03 +0200
|
Date: Wed, 31 May 2017 10:42:03 +0200
|
||||||
Subject: [PATCH 6/6] Pass proper file index when recording generated
|
Subject: [PATCH 49/49] Pass proper file index when recording generated
|
||||||
dependencies
|
dependencies
|
||||||
|
|
||||||
Resolves regression introduced with 8f509d6
|
Resolves regression introduced with 8f509d6
|
||||||
@ -26,5 +26,5 @@ index 7fa8227d0..72f29ddf5 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.13.1
|
2.13.2
|
||||||
|
|
25
0050-fixup-Support-debuginfo-subpackages.patch
Normal file
25
0050-fixup-Support-debuginfo-subpackages.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From bacdd7eeac9abb5046f5163a79ec8296287d83fc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Igor Gnatenko <ignatenko@redhat.com>
|
||||||
|
Date: Fri, 30 Jun 2017 16:52:03 +0200
|
||||||
|
Subject: [PATCH 50/50] fixup! Support debuginfo subpackages
|
||||||
|
|
||||||
|
---
|
||||||
|
build/files.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build/files.c b/build/files.c
|
||||||
|
index 933fad35b..f27dcc7c1 100644
|
||||||
|
--- a/build/files.c
|
||||||
|
+++ b/build/files.c
|
||||||
|
@@ -2930,7 +2930,7 @@ rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,
|
||||||
|
rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
|
||||||
|
free(nvr);
|
||||||
|
|
||||||
|
- if ((rc = processPackageFiles(spec, pkgFlags, pkg, didInstall, test)) != RPMRC_OK)
|
||||||
|
+ if ((rc = processPackageFiles(spec, pkgFlags, pkg, installSpecialDoc, test)) != RPMRC_OK)
|
||||||
|
goto exit;
|
||||||
|
|
||||||
|
if (maindbg)
|
||||||
|
--
|
||||||
|
2.13.2
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
commit 78df22afc540c6c34003c3cb8ecc3ee686fbef76
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Wed Jun 28 13:25:12 2017 +0200
|
|
||||||
|
|
||||||
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
|
|
||||||
construct in DWARF. So different compilers have come up with fake
|
|
||||||
source file names like <built-in> or <__thread_local_inner macros>.
|
|
||||||
We already filtered out the strings "<internal>" and "<built-in>".
|
|
||||||
Just filter out all '(^|/)<[a-z _-]+>$'. They are fake files!
|
|
||||||
|
|
||||||
This is mainly to appease the rustc compiler which generates lots of
|
|
||||||
different variants to encode some instruction sequence is part of an
|
|
||||||
compiler generated macro expansion.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
|
||||||
index 0233d92..555e7b8 100755
|
|
||||||
--- a/scripts/find-debuginfo.sh
|
|
||||||
+++ b/scripts/find-debuginfo.sh
|
|
||||||
@@ -502,7 +502,11 @@ if [ -s "$SOURCEFILE" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
|
||||||
- LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(<internal>|<built-in>)$' |
|
|
||||||
+ # Filter out anything compiler generated which isn't a source file.
|
|
||||||
+ # e.g. <internal>, <built-in>, <__thread_local_inner macros>.
|
|
||||||
+ # Some compilers generate them as if they are part of the working
|
|
||||||
+ # directory (which is why we match against ^ or /).
|
|
||||||
+ LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(^|/)<[a-z _-]+>$' |
|
|
||||||
(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
|
|
@ -1,11 +0,0 @@
|
|||||||
--- rpm-4.13.0.1/scripts/find-debuginfo.sh.orig 2017-06-28 13:00:10.780609617 +0200
|
|
||||||
+++ rpm-4.13.0.1/scripts/find-debuginfo.sh 2017-06-28 13:00:38.331005393 +0200
|
|
||||||
@@ -351,7 +351,7 @@
|
|
||||||
# just has its file names collected and adjusted.
|
|
||||||
case "$dn" in
|
|
||||||
/usr/lib/debug/*)
|
|
||||||
- continue ;;
|
|
||||||
+ return ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
mkdir -p "${debugdn}"
|
|
@ -1,107 +0,0 @@
|
|||||||
commit c707ab26362e795d3f9dba4eb87dc7ed99a28bcb
|
|
||||||
Author: Robin Lee <cheeselee@fedoraproject.org>
|
|
||||||
Date: Sat Apr 8 21:21:39 2017 +0800
|
|
||||||
|
|
||||||
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
|
|
||||||
/tmp, a.k.a 777, which should be avoided.
|
|
||||||
|
|
||||||
Fixes: rhbz#641022
|
|
||||||
|
|
||||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
|
||||||
old mode 100644
|
|
||||||
new mode 100755
|
|
||||||
index 547dbd9..6f38e19
|
|
||||||
--- a/scripts/find-debuginfo.sh
|
|
||||||
+++ b/scripts/find-debuginfo.sh
|
|
||||||
@@ -490,9 +490,10 @@ if [ -s "$SOURCEFILE" ]; then
|
|
||||||
mkdir -p "${RPM_BUILD_ROOT}${debug_dest_name}"
|
|
||||||
LC_ALL=C sort -z -u "$SOURCEFILE" | grep -E -v -z '(<internal>|<built-in>)$' |
|
|
||||||
(cd "${debug_base_name}"; cpio -pd0mL "${RPM_BUILD_ROOT}${debug_dest_name}")
|
|
||||||
- # stupid cpio creates new directories in mode 0700, fixup
|
|
||||||
+ # stupid cpio creates new directories in mode 0700,
|
|
||||||
+ # and non-standard modes may be inherented from original directories, fixup
|
|
||||||
find "${RPM_BUILD_ROOT}${debug_dest_name}" -type d -print0 |
|
|
||||||
- xargs --no-run-if-empty -0 chmod a+rx
|
|
||||||
+ xargs --no-run-if-empty -0 chmod 0755
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
|
||||||
|
|
||||||
commit e795899780337dea751d85db8f381eff3fe75275
|
|
||||||
Author: Mark Wielaard <mark@klomp.org>
|
|
||||||
Date: Fri Apr 21 17:33:26 2017 +0200
|
|
||||||
|
|
||||||
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
|
|
||||||
root. Those are unnecessary and we don't have a good way to store them.
|
|
||||||
Such dirs (e.g. /tmp) would then show up at the root of /usr/src/debug.
|
|
||||||
|
|
||||||
Fix this by including only comp_dirs under base_dir. Also only output
|
|
||||||
all dirs once (during phase zero) and don't output empty dirs (which
|
|
||||||
was harmless but would produce a warning from cpio).
|
|
||||||
|
|
||||||
This still includes all empty dirs from the original rhbz#444310
|
|
||||||
nodir testcase and it is an alternative fix for rhbz#641022
|
|
||||||
(commit c707ab).
|
|
||||||
|
|
||||||
Both fixes are necessary in case of an unexpected mode for a directory
|
|
||||||
actually in the build root that we want to include in the source list.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
||||||
|
|
||||||
diff --git a/tools/debugedit.c b/tools/debugedit.c
|
|
||||||
index 8444e03..bf11513 100644
|
|
||||||
--- a/tools/debugedit.c
|
|
||||||
+++ b/tools/debugedit.c
|
|
||||||
@@ -1680,30 +1680,23 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
|
|
||||||
/* Ensure the CU current directory will exist even if only empty. Source
|
|
||||||
filenames possibly located in its parent directories refer relatively to
|
|
||||||
it and the debugger (GDB) cannot safely optimize out the missing
|
|
||||||
- CU current dir subdirectories. */
|
|
||||||
- if (comp_dir && list_file_fd != -1)
|
|
||||||
+ CU current dir subdirectories. Only do this once in phase one. And
|
|
||||||
+ only do this for dirs under our build/base_dir. Don't output the
|
|
||||||
+ empty string (in case the comp_dir == base_dir). */
|
|
||||||
+ if (phase == 0 && base_dir && comp_dir && list_file_fd != -1)
|
|
||||||
{
|
|
||||||
- const char *p = NULL;
|
|
||||||
- size_t size;
|
|
||||||
-
|
|
||||||
- if (base_dir)
|
|
||||||
- {
|
|
||||||
- p = skip_dir_prefix (comp_dir, base_dir);
|
|
||||||
- if (p == NULL && dest_dir != NULL)
|
|
||||||
- p = skip_dir_prefix (comp_dir, dest_dir);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (p == NULL)
|
|
||||||
- p = comp_dir;
|
|
||||||
-
|
|
||||||
- size = strlen (p) + 1;
|
|
||||||
- while (size > 0)
|
|
||||||
- {
|
|
||||||
- ssize_t ret = write (list_file_fd, p, size);
|
|
||||||
- if (ret == -1)
|
|
||||||
- break;
|
|
||||||
- size -= ret;
|
|
||||||
- p += ret;
|
|
||||||
+ const char *p = skip_dir_prefix (comp_dir, base_dir);
|
|
||||||
+ if (p != NULL && p[0] != '\0')
|
|
||||||
+ {
|
|
||||||
+ size_t size = strlen (p) + 1;
|
|
||||||
+ while (size > 0)
|
|
||||||
+ {
|
|
||||||
+ ssize_t ret = write (list_file_fd, p, size);
|
|
||||||
+ if (ret == -1)
|
|
||||||
+ break;
|
|
||||||
+ size -= ret;
|
|
||||||
+ p += ret;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
95
rpm.spec
95
rpm.spec
@ -56,74 +56,79 @@ Patch4: rpm-4.8.1-use-gpg2.patch
|
|||||||
Patch5: rpm-4.12.0-rpm2cpio-hack.patch
|
Patch5: rpm-4.12.0-rpm2cpio-hack.patch
|
||||||
|
|
||||||
# Patches already upstream:
|
# Patches already upstream:
|
||||||
Patch100: rpm-4.13.0-python-rpmsign.patch
|
# All patches are tracked on https://pagure.io/rpm-fedora
|
||||||
|
Patch100: 0001-Use-correct-source-file-for-rpmsign-module.patch
|
||||||
|
|
||||||
Patch140: rpm-4.13.x-brp-python-bytecompile-Python3-only.patch
|
Patch140: 0002-brp-python-bytecompile-Process-python-lib-dirs-even-.patch
|
||||||
Patch142: rpm-4.13.x-fix-refcount-for-spec_type.patch
|
Patch142: 0003-Fix-number-of-references-on-spec_Type-114.patch
|
||||||
|
|
||||||
# debuginfo backports (#1427970)
|
# debuginfo backports (#1427970)
|
||||||
Patch250: 0001-Add-build-id-links-to-rpm-for-all-ELF-files.patch
|
Patch250: 0004-Add-build-id-links-to-rpm-for-all-ELF-files.patch
|
||||||
Patch251: 0002-Make-it-possible-to-have-unique-build-ids-across-bui.patch
|
Patch251: 0005-Make-it-possible-to-have-unique-build-ids-across-bui.patch
|
||||||
Patch252: 0003-Make-adding-GDB-index-sections-configurable.patch
|
Patch252: 0006-Make-adding-GDB-index-sections-configurable.patch
|
||||||
Patch253: 0004-Add-option-to-have-unique-debug-file-names-across-ve.patch
|
Patch253: 0007-Add-option-to-have-unique-debug-file-names-across-ve.patch
|
||||||
Patch254: 0005-Fix-behavior-when-_build_id_links-is-undefined.patch
|
Patch254: 0008-Fix-behavior-when-_build_id_links-is-undefined.patch
|
||||||
Patch255: 0006-Fix-debuginfo-etc-when-subpackages-have-different-ve.patch
|
Patch255: 0009-Fix-debuginfo-etc-when-subpackages-have-different-ve.patch
|
||||||
Patch256: 0007-Only-process-regular-files-when-generating-build-ids.patch
|
Patch256: 0010-Only-process-regular-files-when-generating-build-ids.patch
|
||||||
Patch257: 0008-configure.ac-use-LIBDW-always-conditionally.patch
|
Patch257: 0011-configure.ac-use-LIBDW-always-conditionally.patch
|
||||||
Patch258: 0009-Fix-libdw-configure-check.patch
|
Patch258: 0012-Fix-libdw-configure-check.patch
|
||||||
Patch259: 0010-debugedit-Support-String-Line-table-rewriting-for-la.patch
|
Patch259: 0013-debugedit-Support-String-Line-table-rewriting-for-la.patch
|
||||||
Patch260: 0011-Add-option-to-have-unique-debug-source-dirs-across-v.patch
|
Patch260: 0014-Add-option-to-have-unique-debug-source-dirs-across-v.patch
|
||||||
|
|
||||||
# debuginfo build-id warn/error fix (#1430587)
|
# debuginfo build-id warn/error fix (#1430587)
|
||||||
Patch261: 0012-generateBuildIDs-Don-t-warn-or-error-for-object-file.patch
|
Patch261: 0015-generateBuildIDs-Don-t-warn-or-error-for-object-file.patch
|
||||||
Patch262: 0013-missing_build_ids_terminate_build.patch
|
Patch262: 0016-build-files.c-Unset-__debug_package-implies-missing-.patch
|
||||||
Patch263: 0014-generateBuildIDs-Fix-error-handling.patch
|
Patch263: 0017-generateBuildIDs-Fix-error-handling.patch
|
||||||
Patch264: 0015-reset-buildid-file-attrs.patch
|
Patch264: 0018-Make-sure-to-reset-file-attributes-for-generated-bui.patch
|
||||||
Patch265: 0016-debugedit-replace-files.patch
|
Patch265: 0019-rpmbuild-Reset-attrFlags-in-generateBuildIDs.patch
|
||||||
Patch266: 0017-do-not-process-buildi-ds-for-noarch.patch
|
Patch266: 0020-debugedit-Fix-edit_dwarf2_line-replace_dirs-replace_.patch
|
||||||
Patch267: 0018-update-build-id-endian.patch
|
Patch267: 0021-build-files.c-processPackageFiles-Don-t-call-generat.patch
|
||||||
Patch268: 0019-fix-sed-build-id-match-test.patch
|
Patch268: 0022-debugedit-Fix-cross-endian-build-id-reading-and-upda.patch
|
||||||
Patch269: 0020-build-files-exec-build-id.patch
|
Patch269: 0023-tests-tpmbuild.at-Make-file-sed-regexp-more-strict-t.patch
|
||||||
Patch270: 0021-debugedit-Fix-off-by-one-adding-DW_FORM_string-repla.patch
|
Patch270: 0024-tests-rpmbuildid.at-Make-file-sed-regexp-more-strict.patch
|
||||||
Patch271: 0022-unbreak-short-circuit.patch
|
Patch271: 0025-build-files.c-Only-check-build-ids-for-executable-fi.patch
|
||||||
Patch272: 0023-minisymtab-exe-sh.patch
|
Patch272: 0026-debugedit-Fix-off-by-one-adding-DW_FORM_string-repla.patch
|
||||||
Patch273: 0024-no-recompute-build-id.patch
|
Patch273: 0027-Unbreak-short-circuited-binary-builds.patch
|
||||||
Patch274: 0025-buildid-reset-attrs.patch
|
Patch274: 0028-find-debuginfo.sh-Only-add-minisymtab-for-executable.patch
|
||||||
|
Patch275: 0029-debugedit-Add-n-no-recompute-build-id.patch
|
||||||
|
Patch276: 0030-Fix-non-standard-inherented-modes-of-directories-in-.patch
|
||||||
|
|
||||||
# World writable empty (tmp) dirs in debuginfo packages (#641022)
|
# World writable empty (tmp) dirs in debuginfo packages (#641022)
|
||||||
Patch280: rpm-4.13.x-writable-tmp-dir.patch
|
Patch280: 0031-debugedit-Only-output-comp_dir-under-build-dir-once.patch
|
||||||
|
|
||||||
# Parallel debuginfo processing
|
# Parallel debuginfo processing
|
||||||
Patch281: find-debuginfo-split-traversal-and-extraction.patch
|
Patch281: 0032-find-debuginfo.sh-Split-directory-traversal-and-debu.patch
|
||||||
Patch282: find-debuginfo-split-traversal-and-extraction-fix.patch
|
Patch282: 0033-find-debuginfo.sh-Use-return-not-continue-to-break-o.patch
|
||||||
Patch283: find-debuginfo-process-files-in-parallel.patch
|
Patch283: 0034-find-debuginfo.sh-Process-files-in-parallel.patch
|
||||||
|
|
||||||
# Support debugsource and debuginfo subpackages
|
# Support debugsource and debuginfo subpackages
|
||||||
Patch285: find-debuginfo-untangle-unique-build-options.patch
|
Patch284: 0035-Untangle-unique-build-options-in-find-debuginfo.sh.patch
|
||||||
Patch286: debugsrc-and-sub-debuginfo-packages.patch
|
Patch285: 0036-Support-debugsource-subpackages.patch
|
||||||
|
Patch286: 0037-Support-debuginfo-subpackages.patch
|
||||||
|
Patch287: 0038-Also-add-directories-to-split-debuginfo-packages.patch
|
||||||
|
|
||||||
# debugedit check prefix match ends with slash.
|
# debugedit check prefix match ends with slash.
|
||||||
Patch290: debugedit-prefix.patch
|
Patch290: 0039-debugedit-skip_dir_prefix-should-check-for-dir-separ.patch
|
||||||
|
|
||||||
# find-debuginfo.sh: Filter out all <built-in> like fake file names.
|
# find-debuginfo.sh: Filter out all <built-in> like fake file names.
|
||||||
Patch291: find-debuginfo-filter-built-ins.patch
|
Patch291: 0040-find-debuginfo.sh-Filter-out-all-built-in-like-fake-.patch
|
||||||
|
|
||||||
# Don't create dwz multi file if there is only one .debug.
|
# Don't create dwz multi file if there is only one .debug.
|
||||||
Patch292: find-debuginfo-dwz-multi.patch
|
Patch292: 0041-find-debuginfo.sh-Don-t-create-dwz-multi-file-if-the.patch
|
||||||
|
|
||||||
# Update find-debuginfo.sh options and macros documentation.
|
# Update find-debuginfo.sh options and macros documentation.
|
||||||
Patch293: find-debuginfo-and-macro-docs.patch
|
Patch293: 0042-Update-find-debuginfo.sh-options-and-macros-document.patch
|
||||||
|
|
||||||
# OpenSSL backend
|
# OpenSSL backend
|
||||||
Patch300: 0001-Add-OpenSSL-support-for-digest-and-signatures.patch
|
Patch300: 0043-Add-OpenSSL-support-for-digest-and-signatures.patch
|
||||||
|
|
||||||
# Rich dependencies coming from dependency generatos
|
# Rich dependencies coming from dependency generatos
|
||||||
Patch310: 0001-Use-RPMTAG_-NAME-instead-of-RPMTAG_-FLAGS-in-parsePr.patch
|
Patch310: 0044-Use-RPMTAG_-NAME-instead-of-RPMTAG_-FLAGS-in-parsePr.patch
|
||||||
Patch311: 0002-Fix-check-for-weak-deps-in-external-dependency-gener.patch
|
Patch311: 0045-Fix-check-for-weak-deps-in-external-dependency-gener.patch
|
||||||
Patch312: 0003-Fix-check-whether-to-allow-rich-deps-in-a-given-tag.patch
|
Patch312: 0046-Fix-check-whether-to-allow-rich-deps-in-a-given-tag.patch
|
||||||
Patch313: 0004-Re-enable-rich-dependecies-for-build-requires-and-co.patch
|
Patch313: 0047-Re-enable-rich-dependecies-for-build-requires-and-co.patch
|
||||||
Patch314: 0005-add-support-for-rich-dependencies-from-dependency-ge.patch
|
Patch314: 0048-add-support-for-rich-dependencies-from-dependency-ge.patch
|
||||||
Patch315: 0006-Pass-proper-file-index-when-recording-generated-depe.patch
|
Patch315: 0049-Pass-proper-file-index-when-recording-generated-depe.patch
|
||||||
|
|
||||||
# These are not yet upstream
|
# These are not yet upstream
|
||||||
Patch902: rpm-4.7.1-geode-i686.patch
|
Patch902: rpm-4.7.1-geode-i686.patch
|
||||||
|
Loading…
Reference in New Issue
Block a user