SHA256
3
0
forked from pool/rpm

- backport debug_package regression fix from upstream

- fix segfault in rpmtsNextFiles

OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=683
This commit is contained in:
Michael Schröder 2024-12-19 14:27:36 +00:00 committed by Git OBS Bridge
parent 12a7523e94
commit 0bccf0ecf6
4 changed files with 68 additions and 1 deletions

17
debugpackage.diff Normal file
View File

@ -0,0 +1,17 @@
--- macros.in.orig 2024-12-19 13:27:56.291657815 +0000
+++ macros.in 2024-12-19 13:29:00.335537654 +0000
@@ -199,11 +199,12 @@ package or when debugging this package.\
%{nil}
# The duplicate __debug_package definition is needed to ensure matching
-# state when %install is skipped due to short-circuit.
+# state when %install is skipped due to short-circuit, IFF buildsubdir
+# is defined (indicating use of automatic debuginfo generation)
%debug_package \
%ifnarch noarch\
%global __debug_package 1\
-%%global __debug_package 1\
+%{?buildsubdir:%%global __debug_package 1}\
%_debuginfo_template\
%{?_debugsource_packages:%_debugsource_template}\
%endif\

40
nextfiles.diff Normal file
View File

@ -0,0 +1,40 @@
--- lib/rpmtriggers.c.orig 2024-12-19 14:05:56.403437646 +0000
+++ lib/rpmtriggers.c 2024-12-19 14:11:56.646774439 +0000
@@ -239,31 +239,33 @@ typedef struct matchFilesIter_s {
static rpmfiles rpmtsNextFiles(matchFilesIter mfi)
{
Header h;
- rpmte *te;
rpmfiles files = NULL;
+ const char *pkgname = NULL;
rpmstrPool pool = mfi->ts->members->pool;
int ix;
- unsigned int offset;
ix = rpmdbGetIteratorIndex(mfi->pi);
if (ix < rpmdbGetIteratorCount(mfi->pi)) {
- offset = rpmdbGetIteratorOffsetFor(mfi->pi, ix);
+ unsigned int offset = rpmdbGetIteratorOffsetFor(mfi->pi, ix);
+ rpmte *te;
if (packageHashGetEntry(mfi->ts->members->removedPackages, offset,
&te, NULL, NULL)) {
/* Files are available in memory */
files = rpmteFiles(te[0]);
+ pkgname = rpmteN(te[0]);
}
if (packageHashGetEntry(mfi->ts->members->installedPackages, offset,
&te, NULL, NULL)) {
/* Files are available in memory */
files = rpmteFiles(te[0]);
+ pkgname = rpmteN(te[0]);
}
}
if (files) {
rpmdbSetIteratorIndex(mfi->pi, ix + 1);
- mfi->pkgname = rpmteN(te[0]);
+ mfi->pkgname = pkgname;
} else {
/* Files are not available in memory. Read them from rpmdb */
h = rpmdbNextIterator(mfi->pi);

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Thu Dec 19 14:29:49 CET 2024 - mls@suse.de
- backport debug_package regression fix from upstream
* new patch: debugpackage.diff
- fix segfault in rpmtsNextFiles
* new patch: nextfiles.diff
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Dec 17 10:59:26 CET 2024 - mls@suse.de Tue Dec 17 10:59:26 CET 2024 - mls@suse.de

View File

@ -121,6 +121,8 @@ Patch141: 0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch
Patch142: 0003-Error-out-on-a-missing-changelog-date.patch Patch142: 0003-Error-out-on-a-missing-changelog-date.patch
Patch150: unshare.diff Patch150: unshare.diff
Patch151: buildroot-symlink.diff Patch151: buildroot-symlink.diff
Patch152: debugpackage.diff
Patch153: nextfiles.diff
Patch6464: auto-config-update-aarch64-ppc64le.diff Patch6464: auto-config-update-aarch64-ppc64le.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
# #
@ -235,7 +237,7 @@ rm -rf sqlite
%patch -P 140 %patch -P 140
%endif %endif
%patch -P 141 -P 142 %patch -P 141 -P 142
%patch -P 150 -P 151 %patch -P 150 -P 151 -P 152 -P 153
%ifarch aarch64 ppc64le riscv64 %ifarch aarch64 ppc64le riscv64
%patch -P 6464 %patch -P 6464