SHA256
3
0
forked from pool/rpm

update to rpm-4.20.0

OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=678
This commit is contained in:
Michael Schröder 2024-12-16 11:20:08 +00:00 committed by Git OBS Bridge
parent 779e09f870
commit 5857a2d144
25 changed files with 267 additions and 274 deletions

View File

@ -1,17 +1,6 @@
From e0a8b84f68993fccbe70c4fb1cd8402fa7371147 Mon Sep 17 00:00:00 2001 --- build/build.c.orig 2024-12-16 09:50:41.468083747 +0000
From: Jan Zerebecki <jan.suse@zerebecki.de> +++ build/build.c 2024-12-16 09:50:48.428069376 +0000
Date: Thu, 15 Feb 2024 07:58:44 +0100 @@ -45,8 +45,11 @@ static rpm_time_t getBuildTime(void)
Subject: [PATCH 2/3] log build time if it is set from SOURCE_DATE_EPOCH
---
build/build.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/build/build.c b/build/build.c
index f2cf98c8b..2693d80b3 100644
--- a/build/build.c
+++ b/build/build.c
@@ -35,8 +35,11 @@ static rpm_time_t getBuildTime(void)
epoch = strtol(srcdate, &endptr, 10); epoch = strtol(srcdate, &endptr, 10);
if (srcdate == endptr || *endptr || errno != 0) if (srcdate == endptr || *endptr || errno != 0)
rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n")); rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n"));
@ -23,7 +12,4 @@ index f2cf98c8b..2693d80b3 100644
+ } + }
} else } else
buildTime = (uint32_t) time(NULL); buildTime = (uint32_t) time(NULL);
free(btMacro);
--
2.30.2

View File

@ -1,30 +1,14 @@
From 973f94bafea8e641ed747d3c420ea1bc2e1cb37f Mon Sep 17 00:00:00 2001 --- build/build.c.orig 2024-10-07 09:35:46.000000000 +0000
From: Jan Zerebecki <jan.suse@zerebecki.de> +++ build/build.c 2024-12-16 09:50:14.728138966 +0000
Date: Thu, 15 Feb 2024 08:03:05 +0100 @@ -385,8 +385,10 @@ static int buildSpec(rpmts ts, BTA_t bui
Subject: [PATCH 3/3] Error out on a missing changelog date
if it is needed as the source for SOURCE_DATE_EPOCH, instead of only
logging a warning.
---
build/build.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build/build.c b/build/build.c
index 2693d80b3..ce7bc8b88 100644
--- a/build/build.c
+++ b/build/build.c
@@ -344,8 +344,10 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what)
setenv("SOURCE_DATE_EPOCH", sdestr, 0); setenv("SOURCE_DATE_EPOCH", sdestr, 0);
rpmtdFreeData(&td); rpmtdFreeData(&td);
} else { } else {
- rpmlog(RPMLOG_WARNING, _("source_date_epoch_from_changelog set but " - rpmlog(RPMLOG_WARNING, _("%%source_date_epoch_from_changelog is set, but "
+ rpmlog(RPMLOG_ERR, _("source_date_epoch_from_changelog set but " + rpmlog(RPMLOG_ERR, _("%%source_date_epoch_from_changelog is set, but "
"%%changelog is missing\n")); "%%changelog has no entries to take a date from\n"));
+ rc = RPMRC_FAIL; + rc = RPMRC_FAIL;
+ goto exit; + goto exit;
} }
} }
--
2.30.2

View File

@ -1,14 +1,14 @@
--- tools/elfdeps.c.orig 2014-06-26 06:51:55.768815677 +0000 --- tools/elfdeps.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ tools/elfdeps.c 2014-08-04 13:02:16.981081591 +0000 +++ tools/elfdeps.c 2024-12-16 09:25:13.479234184 +0000
@@ -17,6 +17,7 @@ int soname_only = 0; @@ -17,6 +17,7 @@ int fake_soname = 1;
int fake_soname = 1;
int filter_soname = 1; int filter_soname = 1;
int require_interp = 0; int require_interp = 0;
int multifile = 0;
+int assume_exec = 0; +int assume_exec = 0;
typedef struct elfInfo_s { typedef struct elfInfo_s {
Elf *elf; Elf *elf;
@@ -299,7 +300,7 @@ static int processFile(const char *fn, i @@ -302,7 +303,7 @@ static int processFile(const char *fn, i
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) { if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) {
ei->marker = mkmarker(ehdr); ei->marker = mkmarker(ehdr);
ei->isDSO = (ehdr->e_type == ET_DYN); ei->isDSO = (ehdr->e_type == ET_DYN);
@ -17,10 +17,10 @@
processProgHeaders(ei, ehdr); processProgHeaders(ei, ehdr);
processSections(ei); processSections(ei);
@@ -364,6 +365,7 @@ int main(int argc, char *argv[]) @@ -372,6 +373,7 @@ int main(int argc, char *argv[])
{ "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL },
{ "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, NULL, NULL }, { "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, NULL, NULL },
{ "require-interp", 0, POPT_ARG_VAL, &require_interp, -1, NULL, NULL }, { "require-interp", 0, POPT_ARG_VAL, &require_interp, -1, NULL, NULL },
{ "multifile", 'm', POPT_ARG_VAL, &multifile, -1, NULL, NULL },
+ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL }, + { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL },
POPT_AUTOHELP POPT_AUTOHELP
POPT_TABLEEND POPT_TABLEEND

View File

@ -1,19 +1,12 @@
Index: build/parseSpec.c --- build/parseSimpleScript.c.orig 2024-12-16 09:59:01.199053527 +0000
=================================================================== +++ build/parseSimpleScript.c 2024-12-16 10:08:22.389914963 +0000
--- build/parseSpec.c.orig @@ -59,6 +59,27 @@ int parseSimpleScript(rpmSpec spec, cons
+++ build/parseSpec.c target = &buf;
@@ -942,7 +942,30 @@ static rpmSpec parseSpec(const char *spe }
&(spec->buildrequires));
break; + if (!mode && !*target && !strcmp(name, "build")) {
case PART_BUILD: + *target = newStringBuf();
- parsePart = parseSimpleScript(spec, "%build", &(spec->build)); + appendLineStringBuf(*target,
+ if (spec->build) {
+ rpmlog(RPMLOG_ERR, _("line %d: second %s\n"), spec->lineNum, "%build");
+ parsePart = PART_ERROR;
+ break;
+ }
+ spec->build = newStringBuf();
+ appendLineStringBuf(spec->build,
+ "ref=/usr/lib/rpm\n" + "ref=/usr/lib/rpm\n"
+ "mints=0\n" + "mints=0\n"
+ "case $(uname -m) in\n" + "case $(uname -m) in\n"
@ -30,7 +23,8 @@ Index: build/parseSpec.c
+ " done\n" + " done\n"
+ "done\n" + "done\n"
+ ); + );
+ parsePart = parseLines(spec, STRIP_NOTHING, NULL, &(spec->build)); + }
break; +
case PART_INSTALL: res = parseLines(spec, STRIP_NOTHING, NULL, target);
parsePart = parseSimpleScript(spec, "%install", &(spec->install));
if (buf) {

View File

@ -1,5 +1,5 @@
--- scripts/brp-strip-comment-note.orig 2023-09-19 10:10:10.000000000 +0000 --- scripts/brp-strip-comment-note.orig 2024-10-07 09:35:46.000000000 +0000
+++ scripts/brp-strip-comment-note 2023-10-09 12:22:27.504732553 +0000 +++ scripts/brp-strip-comment-note 2024-12-16 09:15:41.572425334 +0000
@@ -15,7 +15,7 @@ esac @@ -15,7 +15,7 @@ esac
# Strip .comment and .note sections (the latter only if it is not allocated) # Strip .comment and .note sections (the latter only if it is not allocated)
@ -9,10 +9,10 @@
note="-R .note" note="-R .note"
if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \ if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \
grep ALLOC >/dev/null; then grep ALLOC >/dev/null; then
--- scripts/brp-strip.orig 2023-09-19 10:10:10.000000000 +0000 --- scripts/brp-strip.orig 2024-10-07 09:35:46.000000000 +0000
+++ scripts/brp-strip 2023-10-09 12:24:36.920521652 +0000 +++ scripts/brp-strip 2024-12-16 09:15:41.572425334 +0000
@@ -35,6 +35,7 @@ strip_elf_binaries() @@ -37,6 +37,7 @@ strip_elf_binaries()
! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \ ! -name "*.py" ! -name "*.js" ! -name "*.rb" \
! -name "*.go" -links "${nlinks}" -print0 | \ ! -name "*.go" -links "${nlinks}" -print0 | \
xargs -0 -r -P${nprocs} -n${MAX_ARGS} sh -c "file \"\$@\" | \ xargs -0 -r -P${nprocs} -n${MAX_ARGS} sh -c "file \"\$@\" | \
+ grep -v ' shared object,' | grep -v '/lib/modules/ | \ + grep -v ' shared object,' | grep -v '/lib/modules/ | \

View File

@ -1,6 +1,6 @@
--- CMakeLists.txt.orig 2024-02-07 09:57:31.944781372 +0000 --- CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000
+++ CMakeLists.txt 2024-02-07 09:57:51.924739495 +0000 +++ CMakeLists.txt 2024-12-16 09:42:51.221054406 +0000
@@ -138,14 +138,26 @@ function(makemacros) @@ -153,14 +153,26 @@ function(makemacros)
list(GET db_backends 0 DB_BACKEND) list(GET db_backends 0 DB_BACKEND)
@ -28,5 +28,5 @@
+ set(RPMCANONGNU -gnu) + set(RPMCANONGNU -gnu)
+ endif() + endif()
if (ENABLE_CUTF8) configure_file(platform.in platform @ONLY)
set(C_LOCALE "C.UTF-8") configure_file(rpmrc.in rpmrc @ONLY)

View File

@ -1,14 +1,14 @@
--- CMakeLists.txt.orig 2024-02-01 13:24:18.665660569 +0000 --- CMakeLists.txt.orig 2024-12-16 09:43:16.909001370 +0000
+++ CMakeLists.txt 2024-02-01 13:25:07.917586376 +0000 +++ CMakeLists.txt 2024-12-16 09:45:05.892776434 +0000
@@ -238,7 +238,11 @@ endif() @@ -277,7 +277,11 @@ endif()
list(APPEND db_backends dummy) list(APPEND db_backends dummy)
if (ENABLE_PYTHON) if (ENABLE_PYTHON)
- find_package(Python3 3.2 COMPONENTS Interpreter Development REQUIRED) - find_package(Python3 3.7 COMPONENTS Interpreter Development REQUIRED)
+ if (WITH_PYTHON_VERSION) + if (WITH_PYTHON_VERSION)
+ find_package(Python3 ${WITH_PYTHON_VERSION} EXACT COMPONENTS Interpreter Development REQUIRED) + find_package(Python3 ${WITH_PYTHON_VERSION} EXACT COMPONENTS Interpreter Development REQUIRED)
+ else() + else()
+ find_package(Python3 3.2 COMPONENTS Interpreter Development REQUIRED) + find_package(Python3 3.7 COMPONENTS Interpreter Development REQUIRED)
+ endif() + endif()
endif() endif()

View File

@ -1,5 +1,5 @@
--- lib/backend/bdb_ro.c.orig 2022-04-07 11:13:18.994517848 +0000 --- lib/backend/bdb_ro.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/backend/bdb_ro.c 2022-12-02 13:22:16.726408071 +0000 +++ lib/backend/bdb_ro.c 2024-12-16 09:28:13.146864067 +0000
@@ -793,6 +793,7 @@ static unsigned int bdbro_pkgdbKey(dbiIn @@ -793,6 +793,7 @@ static unsigned int bdbro_pkgdbKey(dbiIn
struct rpmdbOps_s bdbro_dbops = { struct rpmdbOps_s bdbro_dbops = {
.name = "bdb_ro", .name = "bdb_ro",
@ -8,8 +8,8 @@
.open = bdbro_Open, .open = bdbro_Open,
.close = bdbro_Close, .close = bdbro_Close,
--- lib/backend/dbi.c.orig 2022-04-07 11:13:18.994517848 +0000 --- lib/backend/dbi.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/backend/dbi.c 2022-12-02 13:22:16.726408071 +0000 +++ lib/backend/dbi.c 2024-12-16 09:28:13.150864059 +0000
@@ -138,11 +138,20 @@ exit: @@ -138,11 +138,20 @@ exit:
} }
@ -31,8 +31,8 @@
const char * dbiName(dbiIndex dbi) const char * dbiName(dbiIndex dbi)
{ {
return dbi->dbi_file; return dbi->dbi_file;
--- lib/backend/dbi.h.orig 2022-04-07 11:13:18.994517848 +0000 --- lib/backend/dbi.h.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/backend/dbi.h 2022-12-02 13:22:16.726408071 +0000 +++ lib/backend/dbi.h 2024-12-16 09:28:13.150864059 +0000
@@ -13,6 +13,7 @@ enum rpmdbFlags { @@ -13,6 +13,7 @@ enum rpmdbFlags {
RPMDB_FLAG_REBUILD = (1 << 1), RPMDB_FLAG_REBUILD = (1 << 1),
RPMDB_FLAG_VERIFYONLY = (1 << 2), RPMDB_FLAG_VERIFYONLY = (1 << 2),
@ -41,7 +41,7 @@
}; };
typedef enum dbCtrlOp_e { typedef enum dbCtrlOp_e {
@@ -53,6 +54,7 @@ struct rpmdb_s { @@ -54,6 +55,7 @@ struct rpmdb_s {
int db_buildindex; /*!< Index rebuild indicator */ int db_buildindex; /*!< Index rebuild indicator */
const struct rpmdbOps_s * db_ops; /*!< backend ops */ const struct rpmdbOps_s * db_ops; /*!< backend ops */
@ -49,7 +49,7 @@
/* dbenv and related parameters */ /* dbenv and related parameters */
void * db_dbenv; /*!< Backend private handle */ void * db_dbenv; /*!< Backend private handle */
@@ -197,6 +199,14 @@ RPM_GNUC_INTERNAL @@ -194,6 +196,14 @@ RPM_GNUC_INTERNAL
const char * dbiName(dbiIndex dbi); const char * dbiName(dbiIndex dbi);
/** \ingroup dbi /** \ingroup dbi
@ -64,7 +64,7 @@
* Open a database cursor. * Open a database cursor.
* @param dbi index database handle * @param dbi index database handle
* @param flags DBC_WRITE if writing, or 0 (DBC_READ) for reading * @param flags DBC_WRITE if writing, or 0 (DBC_READ) for reading
@@ -240,6 +250,7 @@ const void * idxdbKey(dbiIndex dbi, dbiC @@ -237,6 +247,7 @@ const void * idxdbKey(dbiIndex dbi, dbiC
struct rpmdbOps_s { struct rpmdbOps_s {
const char *name; /* backend name */ const char *name; /* backend name */
const char *path; /* main database name */ const char *path; /* main database name */
@ -72,9 +72,9 @@
int (*open)(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, int flags); int (*open)(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, int flags);
int (*close)(dbiIndex dbi, unsigned int flags); int (*close)(dbiIndex dbi, unsigned int flags);
--- lib/backend/ndb/rpmpkg.c.orig 2022-04-07 11:13:18.997517869 +0000 --- lib/backend/ndb/rpmpkg.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/backend/ndb/rpmpkg.c 2022-12-02 13:22:16.726408071 +0000 +++ lib/backend/ndb/rpmpkg.c 2024-12-16 09:28:13.150864059 +0000
@@ -1116,11 +1116,12 @@ static int rpmpkgPutInternal(rpmpkgdb pk @@ -1111,11 +1111,12 @@ static int rpmpkgPutInternal(rpmpkgdb pk
if (rpmpkgWriteBlob(pkgdb, pkgidx, blkoff, blkcnt, blob, blobl, pkgdb->generation)) { if (rpmpkgWriteBlob(pkgdb, pkgidx, blkoff, blkcnt, blob, blobl, pkgdb->generation)) {
return RPMRC_FAIL; return RPMRC_FAIL;
} }
@ -90,9 +90,9 @@
if (rpmpkgWriteslot(pkgdb, slotno, pkgidx, blkoff, blkcnt)) { if (rpmpkgWriteslot(pkgdb, slotno, pkgidx, blkoff, blkcnt)) {
free(pkgdb->slots); free(pkgdb->slots);
pkgdb->slots = 0; pkgdb->slots = 0;
--- lib/rpmdb.c.orig 2022-09-20 12:08:27.197920294 +0000 --- lib/rpmdb.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmdb.c 2022-12-02 13:24:02.830159868 +0000 +++ lib/rpmdb.c 2024-12-16 09:29:39.686685792 +0000
@@ -469,7 +469,12 @@ static int openDatabase(const char * pre @@ -466,7 +466,12 @@ static int openDatabase(const char * pre
/* Open just bare minimum when rebuilding a potentially damaged db */ /* Open just bare minimum when rebuilding a potentially damaged db */
int justPkgs = (db->db_flags & RPMDB_FLAG_REBUILD) && int justPkgs = (db->db_flags & RPMDB_FLAG_REBUILD) &&
((db->db_mode & O_ACCMODE) == O_RDONLY); ((db->db_mode & O_ACCMODE) == O_RDONLY);
@ -106,7 +106,7 @@
if (!db->db_descr) if (!db->db_descr)
db->db_descr = "unknown db"; db->db_descr = "unknown db";
@@ -2228,6 +2233,15 @@ int rpmdbAdd(rpmdb db, Header h) @@ -2209,6 +2214,15 @@ int rpmdbAdd(rpmdb db, Header h)
if (db == NULL) if (db == NULL)
return 0; return 0;
@ -119,10 +119,10 @@
+ } + }
+ } + }
+ +
hdrBlob = headerExport(h, &hdrLen); hdrBlob = (uint8_t *)headerExport(h, &hdrLen);
if (hdrBlob == NULL || hdrLen == 0) { if (hdrBlob == NULL || hdrLen == 0) {
ret = -1; ret = -1;
@@ -2423,7 +2437,22 @@ int rpmdbRebuild(const char * prefix, rp @@ -2404,7 +2418,22 @@ int rpmdbRebuild(const char * prefix, rp
} }
rootdbpath = rpmGetPath(prefix, dbpath, NULL); rootdbpath = rpmGetPath(prefix, dbpath, NULL);
@ -146,7 +146,7 @@
if (rstreq(newdbpath, "") || rstreq(newdbpath, dbpath)) { if (rstreq(newdbpath, "") || rstreq(newdbpath, dbpath)) {
newdbpath = _free(newdbpath); newdbpath = _free(newdbpath);
rasprintf(&newdbpath, "%srebuilddb.%d", dbpath, (int) getpid()); rasprintf(&newdbpath, "%srebuilddb.%d", dbpath, (int) getpid());
@@ -2449,7 +2478,9 @@ int rpmdbRebuild(const char * prefix, rp @@ -2430,7 +2459,9 @@ int rpmdbRebuild(const char * prefix, rp
goto exit; goto exit;
} }
if (openDatabase(prefix, newdbpath, &newdb, if (openDatabase(prefix, newdbpath, &newdb,
@ -157,9 +157,9 @@
rc = 1; rc = 1;
goto exit; goto exit;
} }
--- lib/rpmdb_internal.h.orig 2022-04-07 11:13:19.014517984 +0000 --- lib/rpmdb_internal.h.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmdb_internal.h 2022-12-02 13:22:16.726408071 +0000 +++ lib/rpmdb_internal.h 2024-12-16 09:28:13.150864059 +0000
@@ -25,6 +25,7 @@ extern "C" { @@ -18,6 +18,7 @@
enum rpmdbRebuildFlags_e { enum rpmdbRebuildFlags_e {
RPMDB_REBUILD_FLAG_SALVAGE = (1 << 0), RPMDB_REBUILD_FLAG_SALVAGE = (1 << 0),

View File

@ -1,6 +1,6 @@
--- lib/rpmscript.c.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/rpmscript.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmscript.c 2023-10-09 13:10:38.011654503 +0000 +++ lib/rpmscript.c 2024-12-16 09:26:15.035107390 +0000
@@ -463,7 +463,7 @@ rpmRC rpmScriptRun(rpmScript script, int @@ -462,7 +462,7 @@ rpmRC rpmScriptRun(rpmScript script, int
if (script == NULL) return RPMRC_OK; if (script == NULL) return RPMRC_OK;
ARGV_t args = NULL; ARGV_t args = NULL;
@ -9,7 +9,7 @@
RPMLOG_ERR : RPMLOG_WARNING; RPMLOG_ERR : RPMLOG_WARNING;
rpmRC rc; rpmRC rc;
int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC; int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC;
@@ -723,5 +723,8 @@ rpmscriptTypes rpmScriptType(rpmScript s @@ -724,5 +724,8 @@ rpmscriptTypes rpmScriptType(rpmScript s
rpmscriptFlags rpmScriptFlags(rpmScript script) rpmscriptFlags rpmScriptFlags(rpmScript script)
{ {
@ -19,11 +19,11 @@
+ flags |= RPMSCRIPT_FLAG_CRITICAL; + flags |= RPMSCRIPT_FLAG_CRITICAL;
+ return flags; + return flags;
} }
--- macros.in.orig 2023-10-09 13:10:35.043659922 +0000 --- macros.in.orig 2024-12-16 09:26:03.635130873 +0000
+++ macros.in 2023-10-09 13:10:38.015654495 +0000 +++ macros.in 2024-12-16 09:26:15.035107390 +0000
@@ -1377,5 +1377,10 @@ end @@ -1390,6 +1390,11 @@ end
end # Global buildsystem defaults
} %buildsystem_default_prep() %autosetup -C -p1 %*
+# Should errors in %post scriptlet be propagated as errors? +# Should errors in %post scriptlet be propagated as errors?
+# +#
@ -32,3 +32,4 @@
+ +
# \endverbatim # \endverbatim
#*/ #*/

View File

@ -1,8 +1,9 @@
--- fileattrs/elf.attr.orig 2023-09-19 10:10:10.000000000 +0000 --- fileattrs/elf.attr.orig 2024-10-07 09:35:46.000000000 +0000
+++ fileattrs/elf.attr 2023-10-09 13:07:09.252042587 +0000 +++ fileattrs/elf.attr 2024-12-16 09:23:29.831448715 +0000
@@ -1,4 +1,4 @@ @@ -1,5 +1,5 @@
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %__elf_provides %{_rpmconfigdir}/elfdeps --provides --multifile
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %__elf_requires %{_rpmconfigdir}/elfdeps --requires --multifile
%__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ %__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$
-%__elf_exclude_path ^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$ -%__elf_exclude_path ^/lib/modules/.*\\.ko?(\\.[[:alnum:]]*)$
+%__elf_exclude_path (^/usr/lib/debug/)|(^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$) +%__elf_exclude_path (^/usr/lib/debug/)|(^/lib/modules/.*\\.ko?(\\.[[:alnum:]]*)$)
%__elf_protocol multifile

View File

@ -1,15 +1,16 @@
--- scripts/CMakeLists.txt.orig 2023-10-09 13:14:50.011193421 +0000 --- scripts/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000
+++ scripts/CMakeLists.txt 2023-10-09 13:15:00.395174379 +0000 +++ scripts/CMakeLists.txt 2024-12-16 09:27:43.274925606 +0000
@@ -5,6 +5,7 @@ install(PROGRAMS @@ -4,7 +4,7 @@ install(PROGRAMS
brp-strip-static-archive brp-elfperms brp-remove-la-files
check-files check-prereqs check-files check-prereqs
check-buildroot check-rpaths check-rpaths-worker check-buildroot check-rpaths check-rpaths-worker
find-lang.sh find-requires find-provides - find-lang.sh find-requires find-provides
+ find-supplements + find-lang.sh find-requires find-provides find-supplements
perl.prov perl.req
pkgconfigdeps.sh pkgconfigdeps.sh
ocamldeps.sh ocamldeps.sh
--- scripts/find-supplements.orig 2023-10-09 13:14:37.371216603 +0000 fontconfig.prov script.req
+++ scripts/find-supplements 2023-10-09 13:14:37.371216603 +0000 --- scripts/find-supplements.orig 2024-12-16 09:27:13.626986691 +0000
+++ scripts/find-supplements 2024-12-16 09:27:13.626986691 +0000
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
+#!/bin/sh +#!/bin/sh
+ +

View File

@ -1,14 +1,14 @@
--- macros.in.orig 2023-10-09 12:34:52.359518015 +0000 --- macros.in.orig 2024-12-16 09:16:20.616343895 +0000
+++ macros.in 2023-10-09 12:34:56.915510497 +0000 +++ macros.in 2024-12-16 09:16:24.676335428 +0000
@@ -161,6 +161,7 @@ @@ -163,6 +163,7 @@
%{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ %{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
%{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ %{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
%{?_find_debuginfo_dwz_opts} \\\ %{?_find_debuginfo_dwz_opts} \\\
+ %{lua:if posix.access(rpm.expand("%_sourcedir/baselibs.conf"), "r") then print("--dwz-single-file-mode") end} \\\ + %{lua:if posix.access(rpm.expand("%_sourcedir/baselibs.conf"), "r") then print("--dwz-single-file-mode") end} \\\
%{?_find_debuginfo_opts} \\\ %{?_find_debuginfo_opts} \\\
%{?_debugsource_packages:-S debugsourcefiles.list} \\\ %{?_debugsource_packages:-S debugsourcefiles.list} \\\
"%{_builddir}/%{?buildsubdir}"\ "%{builddir}/%{?buildsubdir}"\
@@ -211,7 +212,8 @@ Supplements: (%{name} = %{version}-%{r @@ -216,7 +217,8 @@ Supplements: (%{name} = %{version}-%{r
%files langpack-%{1}\ %files langpack-%{1}\
%{nil} %{nil}
@ -18,7 +18,7 @@
%_defaultlicensedir %{_datadir}/licenses %_defaultlicensedir %{_datadir}/licenses
# Following macros for filtering auto deps must not be used in spec files. # Following macros for filtering auto deps must not be used in spec files.
@@ -277,7 +279,8 @@ Supplements: (%{name} = %{version}-%{r @@ -275,7 +277,8 @@ Supplements: (%{name} = %{version}-%{r
%_tmppath %{_var}/tmp %_tmppath %{_var}/tmp
# Path to top of build area. # Path to top of build area.
@ -28,7 +28,7 @@
#============================================================================== #==============================================================================
# ---- Optional rpmrc macros. # ---- Optional rpmrc macros.
@@ -379,7 +382,7 @@ Supplements: (%{name} = %{version}-%{r @@ -366,7 +369,7 @@ Supplements: (%{name} = %{version}-%{r
# "w.ufdio" uncompressed # "w.ufdio" uncompressed
# #
#%_source_payload w9.gzdio #%_source_payload w9.gzdio
@ -37,7 +37,7 @@
# Algorithm to use for generating file checksum digests on build. # Algorithm to use for generating file checksum digests on build.
# If not specified or 0, MD5 is used. # If not specified or 0, MD5 is used.
@@ -489,6 +492,19 @@ Supplements: (%{name} = %{version}-%{r @@ -476,6 +479,19 @@ Supplements: (%{name} = %{version}-%{r
# #
#%_include_minidebuginfo 1 #%_include_minidebuginfo 1
@ -57,7 +57,7 @@
# #
# Include a .gdb_index section in the .debug files. # Include a .gdb_index section in the .debug files.
# Requires _enable_debug_packages and gdb-add-index installed. # Requires _enable_debug_packages and gdb-add-index installed.
@@ -521,39 +537,39 @@ Supplements: (%{name} = %{version}-%{r @@ -508,39 +524,39 @@ Supplements: (%{name} = %{version}-%{r
# Same as for "separate" but if the __debug_package global is set then # Same as for "separate" but if the __debug_package global is set then
# the -debuginfo package will have a compatibility link for the main # the -debuginfo package will have a compatibility link for the main
# ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy # ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy
@ -104,7 +104,7 @@
# #
# Use internal dependency generator rather than external helpers? # Use internal dependency generator rather than external helpers?
@@ -572,6 +588,7 @@ Supplements: (%{name} = %{version}-%{r @@ -559,6 +575,7 @@ Supplements: (%{name} = %{version}-%{r
%__find_requires %{_rpmconfigdir}/find-requires %__find_requires %{_rpmconfigdir}/find-requires
#%__find_conflicts ??? #%__find_conflicts ???
#%__find_obsoletes ??? #%__find_obsoletes ???
@ -112,7 +112,7 @@
# #
# Path to file attribute classifications for automatic dependency # Path to file attribute classifications for automatic dependency
@@ -984,7 +1001,7 @@ Supplements: (%{name} = %{version}-%{r @@ -980,7 +997,7 @@ Supplements: (%{name} = %{version}-%{r
%_build_vendor %{_host_vendor} %_build_vendor %{_host_vendor}
%_build_os %{_host_os} %_build_os %{_host_os}
%_host @host@ %_host @host@
@ -121,7 +121,7 @@
%_host_cpu @host_cpu@ %_host_cpu @host_cpu@
%_host_vendor @host_vendor@ %_host_vendor @host_vendor@
%_host_os @host_os@ %_host_os @host_os@
@@ -1109,11 +1126,13 @@ Supplements: (%{name} = %{version}-%{r @@ -1105,11 +1122,13 @@ Supplements: (%{name} = %{version}-%{r
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# arch macro for all supported 32-bit ARM processors # arch macro for all supported 32-bit ARM processors

View File

@ -1,20 +1,20 @@
--- build/parsePreamble.c.orig 2019-10-02 11:38:15.807736662 +0000 --- build/parsePreamble.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ build/parsePreamble.c 2019-10-02 11:39:12.495617575 +0000 +++ build/parsePreamble.c 2024-12-16 09:21:44.247668941 +0000
@@ -1032,7 +1032,7 @@ static struct PreambleRec_s const preamb @@ -1103,7 +1103,7 @@ static struct PreambleRec_s const preamb
{RPMTAG_SUGGESTNAME, 0, 0, 0, LEN_AND_STR("suggests")}, {RPMTAG_SUGGESTNAME, 2, 0, 0, 0, LEN_AND_STR("suggests")},
{RPMTAG_SUPPLEMENTNAME, 0, 0, 0, LEN_AND_STR("supplements")}, {RPMTAG_SUPPLEMENTNAME, 2, 0, 0, 0, LEN_AND_STR("supplements")},
{RPMTAG_ENHANCENAME, 0, 0, 0, LEN_AND_STR("enhances")}, {RPMTAG_ENHANCENAME, 2, 0, 0, 0, LEN_AND_STR("enhances")},
- {RPMTAG_PREREQ, 2, 1, 0, LEN_AND_STR("prereq")}, - {RPMTAG_PREREQ, 2, 1, 0, 0, LEN_AND_STR("prereq")},
+ {RPMTAG_PREREQ, 2, 0, 0, LEN_AND_STR("prereq")}, + {RPMTAG_PREREQ, 2, 0, 0, 0, LEN_AND_STR("prereq")},
{RPMTAG_CONFLICTNAME, 0, 0, 0, LEN_AND_STR("conflicts")}, {RPMTAG_CONFLICTNAME, 0, 0, 0, 0, LEN_AND_STR("conflicts")},
{RPMTAG_OBSOLETENAME, 0, 0, 0, LEN_AND_STR("obsoletes")}, {RPMTAG_OBSOLETENAME, 0, 0, 0, 0, LEN_AND_STR("obsoletes")},
{RPMTAG_PREFIXES, 0, 0, 1, LEN_AND_STR("prefixes")}, {RPMTAG_PREFIXES, 0, 0, 1, 0, LEN_AND_STR("prefixes")},
@@ -1041,7 +1041,7 @@ static struct PreambleRec_s const preamb @@ -1113,7 +1113,7 @@ static struct PreambleRec_s const preamb
{RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarchitectures")}, {RPMTAG_BUILDARCHS, 0, 0, 0, 0, LEN_AND_STR("buildarch")},
{RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarch")}, {RPMTAG_BUILDCONFLICTS, 0, 0, 0, 1, LEN_AND_STR("buildconflicts")},
{RPMTAG_BUILDCONFLICTS, 0, 0, 0, LEN_AND_STR("buildconflicts")}, {RPMTAG_BUILDOPTION, 2, 0, 0, 1, LEN_AND_STR("buildoption")},
- {RPMTAG_BUILDPREREQ, 0, 1, 0, LEN_AND_STR("buildprereq")}, - {RPMTAG_BUILDPREREQ, 0, 1, 0, 1, LEN_AND_STR("buildprereq")},
+ {RPMTAG_BUILDPREREQ, 0, 0, 0, LEN_AND_STR("buildprereq")}, + {RPMTAG_BUILDPREREQ, 0, 0, 0, 1, LEN_AND_STR("buildprereq")},
{RPMTAG_BUILDREQUIRES, 0, 0, 0, LEN_AND_STR("buildrequires")}, {RPMTAG_BUILDREQUIRES, 0, 0, 0, 1, LEN_AND_STR("buildrequires")},
{RPMTAG_AUTOREQPROV, 0, 0, 0, LEN_AND_STR("autoreqprov")}, {RPMTAG_BUILDSYSTEM, 0, 0, 1, 1, LEN_AND_STR("buildsystem")},
{RPMTAG_AUTOREQ, 0, 0, 0, LEN_AND_STR("autoreq")}, {RPMTAG_AUTOREQPROV, 0, 0, 0, 0, LEN_AND_STR("autoreqprov")},

View File

@ -1,5 +1,5 @@
--- include/rpm/rpmcli.h.orig 2023-09-19 10:10:10.000000000 +0000 --- include/rpm/rpmcli.h.orig 2024-10-07 09:35:46.000000000 +0000
+++ include/rpm/rpmcli.h 2023-10-12 11:43:59.662617302 +0000 +++ include/rpm/rpmcli.h 2024-12-16 09:31:12.446494695 +0000
@@ -306,6 +306,7 @@ enum rpmInstallFlags_e { @@ -306,6 +306,7 @@ enum rpmInstallFlags_e {
INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */ INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */
INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */ INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */
@ -24,8 +24,8 @@
*/ */
extern struct rpmInstallArguments_s rpmIArgs; extern struct rpmInstallArguments_s rpmIArgs;
--- include/rpm/rpmts.h.orig 2023-10-12 11:43:35.870664176 +0000 --- include/rpm/rpmts.h.orig 2024-12-16 09:30:58.714522978 +0000
+++ include/rpm/rpmts.h 2023-10-12 11:43:59.662617302 +0000 +++ include/rpm/rpmts.h 2024-12-16 09:31:12.446494695 +0000
@@ -253,6 +253,15 @@ int rpmtsOrder(rpmts ts); @@ -253,6 +253,15 @@ int rpmtsOrder(rpmts ts);
int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet); int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
@ -42,8 +42,8 @@
* Reference a transaction set instance. * Reference a transaction set instance.
* @param ts transaction set * @param ts transaction set
* @return new transaction set reference * @return new transaction set reference
--- lib/poptI.c.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/poptI.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/poptI.c 2023-10-12 11:43:59.662617302 +0000 +++ lib/poptI.c 2024-12-16 09:31:12.446494695 +0000
@@ -283,6 +283,10 @@ struct poptOption rpmInstallPoptTable[] @@ -283,6 +283,10 @@ struct poptOption rpmInstallPoptTable[]
&rpmIArgs.installInterfaceFlags, (INSTALL_RESTORE), &rpmIArgs.installInterfaceFlags, (INSTALL_RESTORE),
N_("restore package(s)"), N_("restore package(s)"),
@ -55,9 +55,9 @@
POPT_TABLEEND POPT_TABLEEND
}; };
--- lib/psm.c.orig 2023-10-12 11:43:35.850664215 +0000 --- lib/psm.c.orig 2024-12-16 09:30:58.694523019 +0000
+++ lib/psm.c 2023-10-12 11:43:59.662617302 +0000 +++ lib/psm.c 2024-12-16 09:31:12.446494695 +0000
@@ -1001,7 +1001,7 @@ static rpmRC rpmPackageErase(rpmts ts, r @@ -1000,7 +1000,7 @@ static rpmRC rpmPackageErase(rpmts ts, r
} }
if (rc) break; if (rc) break;
@ -66,8 +66,8 @@
/* Prepare post transaction uninstall triggers */ /* Prepare post transaction uninstall triggers */
rpmtriggersPrepPostUnTransFileTrigs(psm->ts, psm->te); rpmtriggersPrepPostUnTransFileTrigs(psm->ts, psm->te);
} }
--- lib/rpminstall.c.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/rpminstall.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpminstall.c 2023-10-12 11:43:59.662617302 +0000 +++ lib/rpminstall.c 2024-12-16 09:31:12.446494695 +0000
@@ -6,6 +6,8 @@ @@ -6,6 +6,8 @@
#include <string.h> #include <string.h>
@ -98,7 +98,7 @@
+ goto exit; + goto exit;
+ } + }
+ while ((s = fgets(line, sizeof(line) - 1, f)) != 0) { + while ((s = fgets(line, sizeof(line) - 1, f)) != 0) {
+ if (p = strrchr(s, '\n')) + if ((p = strrchr(s, '\n')) != 0)
+ *p = 0; + *p = 0;
+ argvAdd(&manifest, s); + argvAdd(&manifest, s);
+ } + }
@ -110,8 +110,8 @@
+ argvFree(manifest); + argvFree(manifest);
+ return rc; + return rc;
+} +}
--- lib/rpmtriggers.c.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/rpmtriggers.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmtriggers.c 2023-10-12 11:43:59.662617302 +0000 +++ lib/rpmtriggers.c 2024-12-16 09:31:12.446494695 +0000
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
#include "system.h" #include "system.h"
@ -128,7 +128,7 @@
unsigned int tix, unsigned int priority) unsigned int tix, unsigned int priority)
{ {
if (trigs->count == trigs->alloced) { if (trigs->count == trigs->alloced) {
@@ -178,6 +179,14 @@ int runPostUnTransFileTrigs(rpmts ts) @@ -190,6 +191,14 @@ int runPostUnTransFileTrigs(rpmts ts)
if (trigH == NULL) if (trigH == NULL)
continue; continue;
@ -143,7 +143,7 @@
/* Prepare and run script */ /* Prepare and run script */
script = rpmScriptFromTriggerTag(trigH, script = rpmScriptFromTriggerTag(trigH,
triggertag(RPMSENSE_TRIGGERPOSTUN), triggertag(RPMSENSE_TRIGGERPOSTUN),
@@ -587,6 +596,16 @@ rpmRC runImmedFileTriggers(rpmts ts, rpm @@ -610,6 +619,16 @@ rpmRC runImmedFileTriggers(rpmts ts, rpm
rpmTagVal priorityTag; rpmTagVal priorityTag;
rpmtriggers triggers; rpmtriggers triggers;
@ -160,9 +160,9 @@
if (tm == RPMSCRIPT_FILETRIGGER) { if (tm == RPMSCRIPT_FILETRIGGER) {
priorityTag = RPMTAG_FILETRIGGERPRIORITIES; priorityTag = RPMTAG_FILETRIGGERPRIORITIES;
} else { } else {
--- lib/rpmtriggers.h.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/rpmtriggers.h.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmtriggers.h 2023-10-12 11:43:59.662617302 +0000 +++ lib/rpmtriggers.h 2024-12-16 09:31:12.446494695 +0000
@@ -27,6 +27,10 @@ rpmtriggers rpmtriggersCreate(unsigned i @@ -24,6 +24,10 @@ rpmtriggers rpmtriggersCreate(unsigned i
RPM_GNUC_INTERNAL RPM_GNUC_INTERNAL
rpmtriggers rpmtriggersFree(rpmtriggers triggers); rpmtriggers rpmtriggersFree(rpmtriggers triggers);
@ -173,9 +173,9 @@
/* /*
* Prepare post trans uninstall file triggers. After transcation uninstalled * Prepare post trans uninstall file triggers. After transcation uninstalled
* files are not saved anywhere. So we need during uninstalation of every * files are not saved anywhere. So we need during uninstalation of every
--- lib/rpmts_internal.h.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/rpmts_internal.h.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/rpmts_internal.h 2023-10-12 11:43:59.662617302 +0000 +++ lib/rpmts_internal.h 2024-12-16 09:31:12.446494695 +0000
@@ -94,6 +94,8 @@ struct rpmts_s { @@ -83,6 +83,8 @@ struct rpmts_s {
int min_writes; /*!< macro minimize_writes used */ int min_writes; /*!< macro minimize_writes used */
time_t overrideTime; /*!< Time value used when overriding system clock. */ time_t overrideTime; /*!< Time value used when overriding system clock. */
@ -183,9 +183,9 @@
+ int dump_posttrans; /*!< macro dump_posttrans used */ + int dump_posttrans; /*!< macro dump_posttrans used */
}; };
#ifdef __cplusplus /** \ingroup rpmts
--- lib/transaction.c.orig 2023-09-19 10:10:10.000000000 +0000 --- lib/transaction.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ lib/transaction.c 2023-10-12 11:44:28.398560689 +0000 +++ lib/transaction.c 2024-12-16 09:37:17.425742632 +0000
@@ -1475,6 +1475,8 @@ static int rpmtsSetup(rpmts ts, rpmprobF @@ -1475,6 +1475,8 @@ static int rpmtsSetup(rpmts ts, rpmprobF
/* Get available space on mounted file systems. */ /* Get available space on mounted file systems. */
(void) rpmtsInitDSI(ts); (void) rpmtsInitDSI(ts);
@ -195,44 +195,23 @@
return 0; return 0;
} }
@@ -1858,27 +1860,31 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rp @@ -1858,6 +1860,15 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rp
/* Actually install and remove packages */ /* Actually install and remove packages */
nfailed = rpmtsProcess(ts); nfailed = rpmtsProcess(ts);
+ if (ts->dump_posttrans) { + if (ts->dump_posttrans) {
+ rpmlog(RPMLOG_NOTICE, "dump_posttrans: enabled\n"); + rpmlog(RPMLOG_NOTICE, "dump_posttrans: enabled\n");
+ runPostUnTransFileTrigs(ts);
+ runTransScripts(ts, PKG_TRANSFILETRIGGERIN);
+ /* Final exit code */
+ rc = nfailed ? -1 : 0;
+ goto exit;
+ } + }
+ +
/* Run %posttrans scripts unless disabled */ /* Run %posttrans scripts unless disabled */
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) {
+ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) {
rpmlog(RPMLOG_DEBUG, "running %%posttrans scripts\n"); rpmlog(RPMLOG_DEBUG, "running %%posttrans scripts\n");
runTransScripts(ts, PKG_POSTTRANS); @@ -1901,3 +1912,117 @@ exit:
}
/* Run %postuntrans scripts unless disabled */
- if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUNTRANS)) {
+ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUNTRANS)) {
rpmlog(RPMLOG_DEBUG, "running %%postuntrans scripts\n");
runTransScripts(ts, PKG_POSTUNTRANS);
}
/* Run %transfiletriggerpostun scripts unless disabled */
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) {
+ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) {
runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0);
}
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) {
+ if (ts->dump_posttrans || !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) {
runPostUnTransFileTrigs(ts);
}
/* Run %transfiletriggerin scripts unless disabled */
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) {
+ if (ts->dump_posttrans || !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) {
runTransScripts(ts, PKG_TRANSFILETRIGGERIN);
}
/* Final exit code */
@@ -1901,3 +1907,117 @@ exit:
sigaction(SIGPIPE, &oact, NULL); sigaction(SIGPIPE, &oact, NULL);
return rc; return rc;
} }
@ -336,7 +315,7 @@
+ runTransScripts(ts, PKG_POSTTRANS); + runTransScripts(ts, PKG_POSTTRANS);
+ runTransScripts(ts, PKG_POSTUNTRANS); + runTransScripts(ts, PKG_POSTUNTRANS);
+ /* run %transfiletriggerin scripts */ + /* run %transfiletriggerin scripts */
+ runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0); + runFileTriggers(ts, NULL, -1, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0);
+ /* run %transfiletriggerpostun scrips */ + /* run %transfiletriggerpostun scrips */
+ runPostUnTransFileTrigs(ts); + runPostUnTransFileTrigs(ts);
+ /* Run immed %transfiletriggerin scripts */ + /* Run immed %transfiletriggerin scripts */
@ -350,8 +329,8 @@
+ rpmtsEmpty(ts); + rpmtsEmpty(ts);
+ return rc; + return rc;
+} +}
--- tools/rpm.c.orig 2023-09-19 10:10:10.000000000 +0000 --- tools/rpm.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ tools/rpm.c 2023-10-12 11:43:59.662617302 +0000 +++ tools/rpm.c 2024-12-16 09:31:12.446494695 +0000
@@ -21,6 +21,7 @@ enum modes { @@ -21,6 +21,7 @@ enum modes {
MODE_ERASE = (1 << 2), MODE_ERASE = (1 << 2),
MODE_RESTORE = (1 << 4), MODE_RESTORE = (1 << 4),

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Dec 16 11:55:23 CET 2024 - mls@suse.de
- update to rpm-4.20.0
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Feb 9 11:34:31 CET 2024 - mls@suse.de Fri Feb 9 11:34:31 CET 2024 - mls@suse.de

View File

@ -20,7 +20,7 @@
# Enable Python build sourced from rpm spec # Enable Python build sourced from rpm spec
%global with_python 1 %global with_python 1
Name: python-rpm Name: python-rpm
Version: 4.19.1.1 Version: 4.20.0
Release: 0 Release: 0
Summary: Python Bindings for Manipulating RPM Packages Summary: Python Bindings for Manipulating RPM Packages
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -32,6 +32,7 @@ BuildRequires: cmake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: file-devel BuildRequires: file-devel
BuildRequires: libacl-devel BuildRequires: libacl-devel
BuildRequires: libarchive-devel
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libdw-devel BuildRequires: libdw-devel

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:874091b80efe66f9de8e3242ae2337162e2d7131e3aa4ac99ac22155e9c521e5
size 5849649

3
rpm-4.20.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56ff7638cff98b56d4a7503ff59bc79f281a6ddffcda0d238c082bedfb5fbe7b
size 5984513

1
rpm-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("file-contains-buildroot") # until rpmlint is fixed

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Mon Dec 16 11:55:23 CET 2024 - mls@suse.de
- update to rpm-4.20.0
* new BuildSystem directive
* support for build scriptley augmenting
* per-package build directory available as %builddir
* --build-in-place automatically sets --noprep
* new -C option for autosetup
* better support for reproducible builds
* support for group membership lines
* new rpm.spawn() lua function
* support indentation in spec tags
* new rpmdump tool
- switch to rpmpgp-legacy-1.0
- disable buildroot check in rpmlintrc for now
- refreshed patches:
* brp.diff macrosin.diff rpmqpack.diff specfilemacro.diff
* noprereqdeprec.diff fileattrs.diff assumeexec.diff
* enable-postin-scripts-error.diff findsupplements.diff
* db_conversion.diff canongnu.diff cmake_python_version.diff
* zstdpool.diff posttrans.diff
* auto-config-update-aarch64-ppc64le.diff
* 0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch
* 0003-Error-out-on-a-missing-changelog-date.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 11 08:43:56 UTC 2024 - Michal Suchanek <msuchanek@suse.de> Mon Nov 11 08:43:56 UTC 2024 - Michal Suchanek <msuchanek@suse.de>

View File

@ -32,6 +32,7 @@ BuildRequires: gettext-devel
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: gzip BuildRequires: gzip
BuildRequires: libacl-devel BuildRequires: libacl-devel
BuildRequires: libarchive-devel
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libdw-devel BuildRequires: libdw-devel
@ -57,11 +58,14 @@ Requires: rpm-config-SUSE
Summary: The RPM Package Manager Summary: The RPM Package Manager
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: System/Packages Group: System/Packages
Version: 4.19.1.1 Version: 4.20.0
Release: 0 Release: 0
URL: https://rpm.org/ URL: https://rpm.org/
#Git-Clone: https://github.com/rpm-software-management/rpm #Git-Clone: https://github.com/rpm-software-management/rpm
Source: https://ftp.osuosl.org/pub/rpm/releases/rpm-4.19.x/rpm-%{version}.tar.bz2 Source: https://ftp.osuosl.org/pub/rpm/releases/rpm-4.19.x/rpm-%{version}.tar.bz2
#Git-Clone: https://github.com/rpm-software-management/rpmpgp_legacy
Source1: rpmpgp_legacy-1.0.tar.gz
Source2: rpm-rpmlintrc
Source5: rpmsort Source5: rpmsort
Source8: rpmconfigcheck Source8: rpmconfigcheck
Source9: sysconfig.services-rpm Source9: sysconfig.services-rpm
@ -206,6 +210,10 @@ and requires some packages that are usually required.
%ifarch aarch64 ppc64le riscv64 %ifarch aarch64 ppc64le riscv64
tar xf %{SOURCE14} tar xf %{SOURCE14}
%endif %endif
pushd rpmio
tar xf %{SOURCE1}
ln -s rpmpgp_legacy-* rpmpgp_legacy
popd
rm -rf sqlite rm -rf sqlite
%patch -P 5 -P 12 -P 13 -P 18 %patch -P 5 -P 12 -P 13 -P 18
@ -222,7 +230,10 @@ rm -rf sqlite
%patch -P 122 -P 123 %patch -P 122 -P 123
%patch -P 131 -P 133 -P 134 -P 135 -P 136 -P 138 %patch -P 131 -P 133 -P 134 -P 135 -P 136 -P 138
%patch -P 139 %patch -P 139
%patch -P 140 -P 141 -P 142 -p1 %if 0
%patch -P 140
%endif
%patch -P 141 -P 142
%ifarch aarch64 ppc64le riscv64 %ifarch aarch64 ppc64le riscv64
%patch -P 6464 %patch -P 6464
@ -262,10 +273,11 @@ cmake .. \
-DCMAKE_INSTALL_FULL_SHAREDSTATEDIR:PATH=/var/lib \ -DCMAKE_INSTALL_FULL_SHAREDSTATEDIR:PATH=/var/lib \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DRPM_VENDOR=suse \ -DRPM_VENDOR=suse \
-DWITH_ARCHIVE=OFF \ -DWITH_ARCHIVE=ON \
-DWITH_READLINE=OFF \ -DWITH_READLINE=OFF \
-DWITH_SELINUX=ON \ -DWITH_SELINUX=ON \
-DWITH_INTERNAL_OPENPGP=ON \ -DWITH_SEQUOIA=OFF \
-DWITH_LEGACY_OPENPGP=ON \
-DENABLE_NDB=ON \ -DENABLE_NDB=ON \
-DENABLE_BDB_RO=ON \ -DENABLE_BDB_RO=ON \
-DENABLE_SQLITE=OFF \ -DENABLE_SQLITE=OFF \
@ -402,6 +414,7 @@ fi
%endif %endif
%{_bindir}/gendiff %{_bindir}/gendiff
%{_bindir}/rpm %{_bindir}/rpm
%{_bindir}/rpm2archive
%{_bindir}/rpm2cpio %{_bindir}/rpm2cpio
%{_bindir}/rpmdb %{_bindir}/rpmdb
%{_bindir}/rpmgraph %{_bindir}/rpmgraph
@ -424,6 +437,7 @@ fi
/usr/lib/rpm/rpmrc /usr/lib/rpm/rpmrc
/usr/lib/rpm/rpmsort /usr/lib/rpm/rpmsort
/usr/lib/rpm/rpmuncompress /usr/lib/rpm/rpmuncompress
/usr/lib/rpm/rpmdump
/usr/lib/rpm/suse /usr/lib/rpm/suse
/usr/lib/rpm/tgpg /usr/lib/rpm/tgpg
%{_libdir}/rpm-plugins %{_libdir}/rpm-plugins
@ -460,11 +474,8 @@ fi
/usr/lib/rpm/check-* /usr/lib/rpm/check-*
/usr/lib/rpm/*find* /usr/lib/rpm/*find*
/usr/lib/rpm/fileattrs/ /usr/lib/rpm/fileattrs/
%exclude /usr/lib/rpm/fileattrs/perl*.attr
/usr/lib/rpm/*.prov /usr/lib/rpm/*.prov
%exclude /usr/lib/rpm/perl.prov
/usr/lib/rpm/*.req /usr/lib/rpm/*.req
%exclude /usr/lib/rpm/perl.req
%ifarch aarch64 ppc64le riscv64 %ifarch aarch64 ppc64le riscv64
/usr/lib/rpm/config.guess /usr/lib/rpm/config.guess
/usr/lib/rpm/config.sub /usr/lib/rpm/config.sub

3
rpmpgp_legacy-1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8a51a3577a13081dedd03d710a785538340030c3a282f74cd50305f7448326e
size 33982

View File

@ -1,5 +1,5 @@
--- docs/man/CMakeLists.txt.orig 2024-02-07 13:36:51.000000000 +0000 --- docs/man/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000
+++ docs/man/CMakeLists.txt 2024-02-09 10:36:43.300952115 +0000 +++ docs/man/CMakeLists.txt 2024-12-16 09:17:15.684229047 +0000
@@ -2,6 +2,7 @@ set(core @@ -2,6 +2,7 @@ set(core
gendiff.1 rpm2cpio.8 gendiff.1 rpm2cpio.8
rpm.8 rpmbuild.8 rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8 rpm.8 rpmbuild.8 rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8
@ -8,8 +8,8 @@
) )
set(extra set(extra
rpm2archive.8 rpm-plugins.8 rpm-plugin-prioreset.8 rpm-plugin-syslog.8 rpm2archive.8 rpm-plugins.8 rpm-plugin-prioreset.8 rpm-plugin-syslog.8
--- docs/man/rpmqpack.8.orig 2024-02-09 10:36:43.300952115 +0000 --- docs/man/rpmqpack.8.orig 2024-12-16 09:17:15.684229047 +0000
+++ docs/man/rpmqpack.8 2024-02-09 10:36:43.300952115 +0000 +++ docs/man/rpmqpack.8 2024-12-16 09:17:15.684229047 +0000
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
+.TH RPMQPACK 8 "Mar 2002" +.TH RPMQPACK 8 "Mar 2002"
+.SH NAME +.SH NAME
@ -36,9 +36,9 @@
+ +
+.SH AUTHOR +.SH AUTHOR
+Michael Schroeder <mls@suse.de> +Michael Schroeder <mls@suse.de>
--- tools/CMakeLists.txt.orig 2024-02-07 13:36:51.000000000 +0000 --- tools/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000
+++ tools/CMakeLists.txt 2024-02-09 10:37:32.932875459 +0000 +++ tools/CMakeLists.txt 2024-12-16 09:18:57.764016162 +0000
@@ -7,6 +7,7 @@ add_executable(rpm2cpio rpm2cpio.c cliut @@ -6,6 +6,7 @@ add_executable(rpmkeys rpmkeys.c cliutil
add_executable(rpmsign rpmsign.c cliutils) add_executable(rpmsign rpmsign.c cliutils)
add_executable(rpmbuild rpmbuild.c cliutils) add_executable(rpmbuild rpmbuild.c cliutils)
add_executable(rpmspec rpmspec.c cliutils) add_executable(rpmspec rpmspec.c cliutils)
@ -46,17 +46,17 @@
add_executable(rpmdeps rpmdeps.c) add_executable(rpmdeps rpmdeps.c)
add_executable(rpmgraph rpmgraph.c) add_executable(rpmgraph rpmgraph.c)
@@ -60,7 +61,7 @@ foreach(cmd rpmverify rpmquery) @@ -77,7 +78,7 @@ endif()
endforeach()
install(TARGETS install(TARGETS
rpm rpmdb rpmkeys rpm2cpio rpmsign rpmbuild rpmspec rpm rpmdb rpmkeys rpmsign rpmbuild rpmspec
- rpmlua rpmgraph - rpmlua rpmgraph
+ rpmlua rpmgraph rpmqpack + rpmlua rpmgraph rpmqpack
) )
install(TARGETS rpmdeps rpmuncompress DESTINATION ${RPM_CONFIGDIR}) install(TARGETS rpmdeps rpmdump rpmuncompress DESTINATION ${RPM_CONFIGDIR})
--- tools/rpmqpack.c.orig 2024-02-09 10:36:43.300952115 +0000 --- tools/rpmqpack.c.orig 2024-12-16 09:17:15.688229038 +0000
+++ tools/rpmqpack.c 2024-02-09 10:36:43.300952115 +0000 +++ tools/rpmqpack.c 2024-12-16 09:17:15.688229038 +0000
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
+#include <sys/types.h> +#include <sys/types.h>
+#include <limits.h> +#include <limits.h>

View File

@ -1,10 +1,10 @@
--- build/parseSpec.c.orig 2013-06-10 15:55:10.000000000 +0000 --- build/parseSpec.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ build/parseSpec.c 2013-07-12 12:04:11.000000000 +0000 +++ build/parseSpec.c 2024-12-16 09:19:43.511920745 +0000
@@ -561,6 +561,7 @@ static rpmSpec parseSpec(const char *spe @@ -1309,6 +1309,7 @@ static rpmSpec parseSpec(const char *spe
spec = newSpec(); spec = newSpec();
spec->specFile = rpmGetPath(specFile, NULL); spec->specFile = rpmGetPath(specFile, NULL);
+ addMacro(spec->macros, "_specfile", NULL, spec->specFile, RMIL_SPEC); + addMacro(spec->macros, "_specfile", NULL, spec->specFile, RMIL_SPEC);
pushOFI(spec, spec->specFile); pushOFI(spec, spec->specFile);
/* If buildRoot not specified, use default %{buildroot} */ /* If explicit --buildroot was passed, grab hold of it */
if (buildRoot) { if (buildRoot)

View File

@ -1,5 +1,5 @@
--- rpmio/rpmio.c.orig 2023-09-19 10:10:10.000000000 +0000 --- rpmio/rpmio.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ rpmio/rpmio.c 2023-10-10 12:09:28.171040124 +0000 +++ rpmio/rpmio.c 2024-12-16 09:42:02.197155600 +0000
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include <ctype.h> #include <ctype.h>
#include <dirent.h> #include <dirent.h>
@ -8,7 +8,7 @@
#include <sys/resource.h> #include <sys/resource.h>
#include <rpm/rpmlog.h> #include <rpm/rpmlog.h>
@@ -997,6 +998,7 @@ static const FDIO_t lzdio = &lzdio_s; @@ -996,6 +997,7 @@ const FDIO_t lzdio = &lzdio_s;
/* Support for ZSTD library. */ /* Support for ZSTD library. */
#ifdef HAVE_ZSTD #ifdef HAVE_ZSTD
@ -16,7 +16,7 @@
#include <zstd.h> #include <zstd.h>
typedef struct rpmzstd_s { typedef struct rpmzstd_s {
@@ -1011,6 +1013,29 @@ typedef struct rpmzstd_s { @@ -1013,6 +1015,29 @@ typedef struct rpmzstd_s {
ZSTD_outBuffer zob; /*!< ZSTD_outBuffer */ ZSTD_outBuffer zob; /*!< ZSTD_outBuffer */
} * rpmzstd; } * rpmzstd;
@ -45,21 +45,21 @@
+ +
static rpmzstd rpmzstdNew(int fdno, const char *fmode) static rpmzstd rpmzstdNew(int fdno, const char *fmode)
{ {
int flags = 0; rpmzstd zstd = NULL;
@@ -1116,8 +1141,18 @@ static rpmzstd rpmzstdNew(int fdno, cons @@ -1119,8 +1144,18 @@ static rpmzstd rpmzstdNew(int fdno, cons
} }
if (threads > 0) { if (threads > 0) {
- if (ZSTD_isError (ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, threads))) - if (ZSTD_isError (ZSTD_CCtx_setParameter(zstd->stream.c, ZSTD_c_nbWorkers, threads)))
+ if (ZSTD_isError (ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, threads))) { + if (ZSTD_isError (ZSTD_CCtx_setParameter(zstd->stream.c, ZSTD_c_nbWorkers, threads))) {
rpmlog(RPMLOG_DEBUG, "zstd library does not support multi-threading\n"); rpmlog(RPMLOG_DEBUG, "zstd library does not support multi-threading\n");
+ } else { + } else {
+#if ZSTD_VERSION_NUMBER >= 10407 +#if ZSTD_VERSION_NUMBER >= 10407
+ pthread_once(&zstdThreadPoolCreated, zstdCreateThreadPool); + pthread_once(&zstdThreadPoolCreated, zstdCreateThreadPool);
+ if (zstdThreadPool) { + if (zstdThreadPool) {
+ if (threads > zstdThreadPoolThreads) + if (threads > zstdThreadPoolThreads)
+ ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, zstdThreadPoolThreads); + ZSTD_CCtx_setParameter(zstd->stream.c, ZSTD_c_nbWorkers, zstdThreadPoolThreads);
+ ZSTD_CCtx_refThreadPool(_stream, zstdThreadPool); + ZSTD_CCtx_refThreadPool(zstd->stream.c, zstdThreadPool);
+ } + }
+#endif +#endif
+ } + }