diff --git a/0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch b/0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch index 4d40865..f3c173e 100644 --- a/0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch +++ b/0002-log-build-time-if-it-is-set-from-SOURCE_DATE_EPOCH.patch @@ -1,17 +1,6 @@ -From e0a8b84f68993fccbe70c4fb1cd8402fa7371147 Mon Sep 17 00:00:00 2001 -From: Jan Zerebecki -Date: Thu, 15 Feb 2024 07:58:44 +0100 -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) +--- build/build.c.orig 2024-12-16 09:50:41.468083747 +0000 ++++ build/build.c 2024-12-16 09:50:48.428069376 +0000 +@@ -45,8 +45,11 @@ static rpm_time_t getBuildTime(void) epoch = strtol(srcdate, &endptr, 10); if (srcdate == endptr || *endptr || errno != 0) rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n")); @@ -23,7 +12,4 @@ index f2cf98c8b..2693d80b3 100644 + } } else buildTime = (uint32_t) time(NULL); - --- -2.30.2 - + free(btMacro); diff --git a/0003-Error-out-on-a-missing-changelog-date.patch b/0003-Error-out-on-a-missing-changelog-date.patch index 37f9273..21838e6 100644 --- a/0003-Error-out-on-a-missing-changelog-date.patch +++ b/0003-Error-out-on-a-missing-changelog-date.patch @@ -1,30 +1,14 @@ -From 973f94bafea8e641ed747d3c420ea1bc2e1cb37f Mon Sep 17 00:00:00 2001 -From: Jan Zerebecki -Date: Thu, 15 Feb 2024 08:03:05 +0100 -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) +--- build/build.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ build/build.c 2024-12-16 09:50:14.728138966 +0000 +@@ -385,8 +385,10 @@ static int buildSpec(rpmts ts, BTA_t bui setenv("SOURCE_DATE_EPOCH", sdestr, 0); rpmtdFreeData(&td); } else { -- rpmlog(RPMLOG_WARNING, _("source_date_epoch_from_changelog set but " -+ rpmlog(RPMLOG_ERR, _("source_date_epoch_from_changelog set but " - "%%changelog is missing\n")); +- rpmlog(RPMLOG_WARNING, _("%%source_date_epoch_from_changelog is set, but " ++ rpmlog(RPMLOG_ERR, _("%%source_date_epoch_from_changelog is set, but " + "%%changelog has no entries to take a date from\n")); + rc = RPMRC_FAIL; + goto exit; } } --- -2.30.2 - diff --git a/assumeexec.diff b/assumeexec.diff index dd05d64..2853817 100644 --- a/assumeexec.diff +++ b/assumeexec.diff @@ -1,14 +1,14 @@ ---- tools/elfdeps.c.orig 2014-06-26 06:51:55.768815677 +0000 -+++ tools/elfdeps.c 2014-08-04 13:02:16.981081591 +0000 -@@ -17,6 +17,7 @@ int soname_only = 0; - int fake_soname = 1; +--- tools/elfdeps.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ tools/elfdeps.c 2024-12-16 09:25:13.479234184 +0000 +@@ -17,6 +17,7 @@ int fake_soname = 1; int filter_soname = 1; int require_interp = 0; + int multifile = 0; +int assume_exec = 0; typedef struct elfInfo_s { 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) { ei->marker = mkmarker(ehdr); ei->isDSO = (ehdr->e_type == ET_DYN); @@ -17,10 +17,10 @@ processProgHeaders(ei, ehdr); processSections(ei); -@@ -364,6 +365,7 @@ int main(int argc, char *argv[]) - { "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL }, +@@ -372,6 +373,7 @@ int main(int argc, char *argv[]) { "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, 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 }, POPT_AUTOHELP POPT_TABLEEND diff --git a/auto-config-update-aarch64-ppc64le.diff b/auto-config-update-aarch64-ppc64le.diff index 6ea5f7f..9e0f612 100644 --- a/auto-config-update-aarch64-ppc64le.diff +++ b/auto-config-update-aarch64-ppc64le.diff @@ -1,36 +1,30 @@ -Index: build/parseSpec.c -=================================================================== ---- build/parseSpec.c.orig -+++ build/parseSpec.c -@@ -942,7 +942,30 @@ static rpmSpec parseSpec(const char *spe - &(spec->buildrequires)); - break; - case PART_BUILD: -- parsePart = parseSimpleScript(spec, "%build", &(spec->build)); -+ 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" -+ "mints=0\n" -+ "case $(uname -m) in\n" -+ " aarch64) mints=20120610;;\n" -+ " ppc64le) mints=20130610;;\n" -+ " riscv64) mints=20160911;;\n" -+ "esac\n" -+ "for s in guess sub; do\n" -+ " for c in $(find -maxdepth 8 -name \"config.$s\"); do\n" -+ " grep -q config-patches@ $c || continue\n" -+ " timestamp=$(sed -n \"/^timestamp=/{s///;s/[-'\\\"]//g;p;q;}\" $c)\n" -+ " test -n \"$timestamp\" || timestamp=0\n" -+ " test $timestamp -ge $mints || install -m 755 $ref/config.$s $c\n" -+ " done\n" -+ "done\n" -+ ); -+ parsePart = parseLines(spec, STRIP_NOTHING, NULL, &(spec->build)); - break; - case PART_INSTALL: - parsePart = parseSimpleScript(spec, "%install", &(spec->install)); +--- build/parseSimpleScript.c.orig 2024-12-16 09:59:01.199053527 +0000 ++++ build/parseSimpleScript.c 2024-12-16 10:08:22.389914963 +0000 +@@ -59,6 +59,27 @@ int parseSimpleScript(rpmSpec spec, cons + target = &buf; + } + ++ if (!mode && !*target && !strcmp(name, "build")) { ++ *target = newStringBuf(); ++ appendLineStringBuf(*target, ++ "ref=/usr/lib/rpm\n" ++ "mints=0\n" ++ "case $(uname -m) in\n" ++ " aarch64) mints=20120610;;\n" ++ " ppc64le) mints=20130610;;\n" ++ " riscv64) mints=20160911;;\n" ++ "esac\n" ++ "for s in guess sub; do\n" ++ " for c in $(find -maxdepth 8 -name \"config.$s\"); do\n" ++ " grep -q config-patches@ $c || continue\n" ++ " timestamp=$(sed -n \"/^timestamp=/{s///;s/[-'\\\"]//g;p;q;}\" $c)\n" ++ " test -n \"$timestamp\" || timestamp=0\n" ++ " test $timestamp -ge $mints || install -m 755 $ref/config.$s $c\n" ++ " done\n" ++ "done\n" ++ ); ++ } ++ + res = parseLines(spec, STRIP_NOTHING, NULL, target); + + if (buf) { diff --git a/brp.diff b/brp.diff index 5774181..f331d4a 100644 --- a/brp.diff +++ b/brp.diff @@ -1,5 +1,5 @@ ---- scripts/brp-strip-comment-note.orig 2023-09-19 10:10:10.000000000 +0000 -+++ scripts/brp-strip-comment-note 2023-10-09 12:22:27.504732553 +0000 +--- scripts/brp-strip-comment-note.orig 2024-10-07 09:35:46.000000000 +0000 ++++ scripts/brp-strip-comment-note 2024-12-16 09:15:41.572425334 +0000 @@ -15,7 +15,7 @@ esac # Strip .comment and .note sections (the latter only if it is not allocated) @@ -9,10 +9,10 @@ note="-R .note" if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \ grep ALLOC >/dev/null; then ---- scripts/brp-strip.orig 2023-09-19 10:10:10.000000000 +0000 -+++ scripts/brp-strip 2023-10-09 12:24:36.920521652 +0000 -@@ -35,6 +35,7 @@ strip_elf_binaries() - ! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \ +--- scripts/brp-strip.orig 2024-10-07 09:35:46.000000000 +0000 ++++ scripts/brp-strip 2024-12-16 09:15:41.572425334 +0000 +@@ -37,6 +37,7 @@ strip_elf_binaries() + ! -name "*.py" ! -name "*.js" ! -name "*.rb" \ ! -name "*.go" -links "${nlinks}" -print0 | \ xargs -0 -r -P${nprocs} -n${MAX_ARGS} sh -c "file \"\$@\" | \ + grep -v ' shared object,' | grep -v '/lib/modules/ | \ diff --git a/canongnu.diff b/canongnu.diff index cd8e81d..3e24a18 100644 --- a/canongnu.diff +++ b/canongnu.diff @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2024-02-07 09:57:31.944781372 +0000 -+++ CMakeLists.txt 2024-02-07 09:57:51.924739495 +0000 -@@ -138,14 +138,26 @@ function(makemacros) +--- CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000 ++++ CMakeLists.txt 2024-12-16 09:42:51.221054406 +0000 +@@ -153,14 +153,26 @@ function(makemacros) list(GET db_backends 0 DB_BACKEND) @@ -28,5 +28,5 @@ + set(RPMCANONGNU -gnu) + endif() - if (ENABLE_CUTF8) - set(C_LOCALE "C.UTF-8") + configure_file(platform.in platform @ONLY) + configure_file(rpmrc.in rpmrc @ONLY) diff --git a/cmake_python_version.diff b/cmake_python_version.diff index 70177d3..b4f9f7f 100644 --- a/cmake_python_version.diff +++ b/cmake_python_version.diff @@ -1,14 +1,14 @@ ---- CMakeLists.txt.orig 2024-02-01 13:24:18.665660569 +0000 -+++ CMakeLists.txt 2024-02-01 13:25:07.917586376 +0000 -@@ -238,7 +238,11 @@ endif() +--- CMakeLists.txt.orig 2024-12-16 09:43:16.909001370 +0000 ++++ CMakeLists.txt 2024-12-16 09:45:05.892776434 +0000 +@@ -277,7 +277,11 @@ endif() list(APPEND db_backends dummy) 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) -+ find_package(Python3 ${WITH_PYTHON_VERSION} EXACT COMPONENTS Interpreter Development REQUIRED) ++ find_package(Python3 ${WITH_PYTHON_VERSION} EXACT COMPONENTS Interpreter Development REQUIRED) + else() -+ find_package(Python3 3.2 COMPONENTS Interpreter Development REQUIRED) ++ find_package(Python3 3.7 COMPONENTS Interpreter Development REQUIRED) + endif() endif() diff --git a/db_conversion.diff b/db_conversion.diff index 842ce7c..1eeab15 100644 --- a/db_conversion.diff +++ b/db_conversion.diff @@ -1,5 +1,5 @@ ---- lib/backend/bdb_ro.c.orig 2022-04-07 11:13:18.994517848 +0000 -+++ lib/backend/bdb_ro.c 2022-12-02 13:22:16.726408071 +0000 +--- lib/backend/bdb_ro.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/backend/bdb_ro.c 2024-12-16 09:28:13.146864067 +0000 @@ -793,6 +793,7 @@ static unsigned int bdbro_pkgdbKey(dbiIn struct rpmdbOps_s bdbro_dbops = { .name = "bdb_ro", @@ -8,8 +8,8 @@ .open = bdbro_Open, .close = bdbro_Close, ---- lib/backend/dbi.c.orig 2022-04-07 11:13:18.994517848 +0000 -+++ lib/backend/dbi.c 2022-12-02 13:22:16.726408071 +0000 +--- lib/backend/dbi.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/backend/dbi.c 2024-12-16 09:28:13.150864059 +0000 @@ -138,11 +138,20 @@ exit: } @@ -31,8 +31,8 @@ const char * dbiName(dbiIndex dbi) { return dbi->dbi_file; ---- lib/backend/dbi.h.orig 2022-04-07 11:13:18.994517848 +0000 -+++ lib/backend/dbi.h 2022-12-02 13:22:16.726408071 +0000 +--- lib/backend/dbi.h.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/backend/dbi.h 2024-12-16 09:28:13.150864059 +0000 @@ -13,6 +13,7 @@ enum rpmdbFlags { RPMDB_FLAG_REBUILD = (1 << 1), RPMDB_FLAG_VERIFYONLY = (1 << 2), @@ -41,7 +41,7 @@ }; typedef enum dbCtrlOp_e { -@@ -53,6 +54,7 @@ struct rpmdb_s { +@@ -54,6 +55,7 @@ struct rpmdb_s { int db_buildindex; /*!< Index rebuild indicator */ const struct rpmdbOps_s * db_ops; /*!< backend ops */ @@ -49,7 +49,7 @@ /* dbenv and related parameters */ 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); /** \ingroup dbi @@ -64,7 +64,7 @@ * Open a database cursor. * @param dbi index database handle * @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 { const char *name; /* backend name */ const char *path; /* main database name */ @@ -72,9 +72,9 @@ int (*open)(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, 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 2022-12-02 13:22:16.726408071 +0000 -@@ -1116,11 +1116,12 @@ static int rpmpkgPutInternal(rpmpkgdb pk +--- lib/backend/ndb/rpmpkg.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/backend/ndb/rpmpkg.c 2024-12-16 09:28:13.150864059 +0000 +@@ -1111,11 +1111,12 @@ static int rpmpkgPutInternal(rpmpkgdb pk if (rpmpkgWriteBlob(pkgdb, pkgidx, blkoff, blkcnt, blob, blobl, pkgdb->generation)) { return RPMRC_FAIL; } @@ -90,9 +90,9 @@ if (rpmpkgWriteslot(pkgdb, slotno, pkgidx, blkoff, blkcnt)) { free(pkgdb->slots); pkgdb->slots = 0; ---- lib/rpmdb.c.orig 2022-09-20 12:08:27.197920294 +0000 -+++ lib/rpmdb.c 2022-12-02 13:24:02.830159868 +0000 -@@ -469,7 +469,12 @@ static int openDatabase(const char * pre +--- lib/rpmdb.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmdb.c 2024-12-16 09:29:39.686685792 +0000 +@@ -466,7 +466,12 @@ static int openDatabase(const char * pre /* Open just bare minimum when rebuilding a potentially damaged db */ int justPkgs = (db->db_flags & RPMDB_FLAG_REBUILD) && ((db->db_mode & O_ACCMODE) == O_RDONLY); @@ -106,7 +106,7 @@ if (!db->db_descr) 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) return 0; @@ -119,10 +119,10 @@ + } + } + - hdrBlob = headerExport(h, &hdrLen); + hdrBlob = (uint8_t *)headerExport(h, &hdrLen); if (hdrBlob == NULL || hdrLen == 0) { 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); @@ -146,7 +146,7 @@ if (rstreq(newdbpath, "") || rstreq(newdbpath, dbpath)) { newdbpath = _free(newdbpath); 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; } if (openDatabase(prefix, newdbpath, &newdb, @@ -157,9 +157,9 @@ rc = 1; goto exit; } ---- lib/rpmdb_internal.h.orig 2022-04-07 11:13:19.014517984 +0000 -+++ lib/rpmdb_internal.h 2022-12-02 13:22:16.726408071 +0000 -@@ -25,6 +25,7 @@ extern "C" { +--- lib/rpmdb_internal.h.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmdb_internal.h 2024-12-16 09:28:13.150864059 +0000 +@@ -18,6 +18,7 @@ enum rpmdbRebuildFlags_e { RPMDB_REBUILD_FLAG_SALVAGE = (1 << 0), diff --git a/enable-postin-scripts-error.diff b/enable-postin-scripts-error.diff index 81cefd7..ee58023 100644 --- a/enable-postin-scripts-error.diff +++ b/enable-postin-scripts-error.diff @@ -1,6 +1,6 @@ ---- lib/rpmscript.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/rpmscript.c 2023-10-09 13:10:38.011654503 +0000 -@@ -463,7 +463,7 @@ rpmRC rpmScriptRun(rpmScript script, int +--- lib/rpmscript.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmscript.c 2024-12-16 09:26:15.035107390 +0000 +@@ -462,7 +462,7 @@ rpmRC rpmScriptRun(rpmScript script, int if (script == NULL) return RPMRC_OK; ARGV_t args = NULL; @@ -9,7 +9,7 @@ RPMLOG_ERR : RPMLOG_WARNING; rpmRC rc; 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) { @@ -19,11 +19,11 @@ + flags |= RPMSCRIPT_FLAG_CRITICAL; + return flags; } ---- macros.in.orig 2023-10-09 13:10:35.043659922 +0000 -+++ macros.in 2023-10-09 13:10:38.015654495 +0000 -@@ -1377,5 +1377,10 @@ end - end - } +--- macros.in.orig 2024-12-16 09:26:03.635130873 +0000 ++++ macros.in 2024-12-16 09:26:15.035107390 +0000 +@@ -1390,6 +1390,11 @@ end + # Global buildsystem defaults + %buildsystem_default_prep() %autosetup -C -p1 %* +# Should errors in %post scriptlet be propagated as errors? +# @@ -32,3 +32,4 @@ + # \endverbatim #*/ + diff --git a/fileattrs.diff b/fileattrs.diff index 9fcbce6..4b7ea4a 100644 --- a/fileattrs.diff +++ b/fileattrs.diff @@ -1,8 +1,9 @@ ---- fileattrs/elf.attr.orig 2023-09-19 10:10:10.000000000 +0000 -+++ fileattrs/elf.attr 2023-10-09 13:07:09.252042587 +0000 -@@ -1,4 +1,4 @@ - %__elf_provides %{_rpmconfigdir}/elfdeps --provides - %__elf_requires %{_rpmconfigdir}/elfdeps --requires +--- fileattrs/elf.attr.orig 2024-10-07 09:35:46.000000000 +0000 ++++ fileattrs/elf.attr 2024-12-16 09:23:29.831448715 +0000 +@@ -1,5 +1,5 @@ + %__elf_provides %{_rpmconfigdir}/elfdeps --provides --multifile + %__elf_requires %{_rpmconfigdir}/elfdeps --requires --multifile %__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ --%__elf_exclude_path ^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$ -+%__elf_exclude_path (^/usr/lib/debug/)|(^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$) +-%__elf_exclude_path ^/lib/modules/.*\\.ko?(\\.[[:alnum:]]*)$ ++%__elf_exclude_path (^/usr/lib/debug/)|(^/lib/modules/.*\\.ko?(\\.[[:alnum:]]*)$) + %__elf_protocol multifile diff --git a/findsupplements.diff b/findsupplements.diff index 9fac1de..7151216 100644 --- a/findsupplements.diff +++ b/findsupplements.diff @@ -1,15 +1,16 @@ ---- scripts/CMakeLists.txt.orig 2023-10-09 13:14:50.011193421 +0000 -+++ scripts/CMakeLists.txt 2023-10-09 13:15:00.395174379 +0000 -@@ -5,6 +5,7 @@ install(PROGRAMS +--- scripts/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000 ++++ scripts/CMakeLists.txt 2024-12-16 09:27:43.274925606 +0000 +@@ -4,7 +4,7 @@ install(PROGRAMS + brp-strip-static-archive brp-elfperms brp-remove-la-files check-files check-prereqs check-buildroot check-rpaths check-rpaths-worker - find-lang.sh find-requires find-provides -+ find-supplements - perl.prov perl.req +- find-lang.sh find-requires find-provides ++ find-lang.sh find-requires find-provides find-supplements pkgconfigdeps.sh ocamldeps.sh ---- scripts/find-supplements.orig 2023-10-09 13:14:37.371216603 +0000 -+++ scripts/find-supplements 2023-10-09 13:14:37.371216603 +0000 + fontconfig.prov script.req +--- 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 @@ +#!/bin/sh + diff --git a/macrosin.diff b/macrosin.diff index 361faaa..0be3b98 100644 --- a/macrosin.diff +++ b/macrosin.diff @@ -1,14 +1,14 @@ ---- macros.in.orig 2023-10-09 12:34:52.359518015 +0000 -+++ macros.in 2023-10-09 12:34:56.915510497 +0000 -@@ -161,6 +161,7 @@ +--- macros.in.orig 2024-12-16 09:16:20.616343895 +0000 ++++ macros.in 2024-12-16 09:16:24.676335428 +0000 +@@ -163,6 +163,7 @@ %{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ %{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ %{?_find_debuginfo_dwz_opts} \\\ + %{lua:if posix.access(rpm.expand("%_sourcedir/baselibs.conf"), "r") then print("--dwz-single-file-mode") end} \\\ %{?_find_debuginfo_opts} \\\ %{?_debugsource_packages:-S debugsourcefiles.list} \\\ - "%{_builddir}/%{?buildsubdir}"\ -@@ -211,7 +212,8 @@ Supplements: (%{name} = %{version}-%{r + "%{builddir}/%{?buildsubdir}"\ +@@ -216,7 +217,8 @@ Supplements: (%{name} = %{version}-%{r %files langpack-%{1}\ %{nil} @@ -18,7 +18,7 @@ %_defaultlicensedir %{_datadir}/licenses # 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 # Path to top of build area. @@ -28,7 +28,7 @@ #============================================================================== # ---- Optional rpmrc macros. -@@ -379,7 +382,7 @@ Supplements: (%{name} = %{version}-%{r +@@ -366,7 +369,7 @@ Supplements: (%{name} = %{version}-%{r # "w.ufdio" uncompressed # #%_source_payload w9.gzdio @@ -37,7 +37,7 @@ # Algorithm to use for generating file checksum digests on build. # 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 @@ -57,7 +57,7 @@ # # Include a .gdb_index section in the .debug files. # 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 # 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 @@ -104,7 +104,7 @@ # # 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_conflicts ??? #%__find_obsoletes ??? @@ -112,7 +112,7 @@ # # 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_os %{_host_os} %_host @host@ @@ -121,7 +121,7 @@ %_host_cpu @host_cpu@ %_host_vendor @host_vendor@ %_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 diff --git a/noprereqdeprec.diff b/noprereqdeprec.diff index 8286ab2..fcdf1de 100644 --- a/noprereqdeprec.diff +++ b/noprereqdeprec.diff @@ -1,20 +1,20 @@ ---- build/parsePreamble.c.orig 2019-10-02 11:38:15.807736662 +0000 -+++ build/parsePreamble.c 2019-10-02 11:39:12.495617575 +0000 -@@ -1032,7 +1032,7 @@ static struct PreambleRec_s const preamb - {RPMTAG_SUGGESTNAME, 0, 0, 0, LEN_AND_STR("suggests")}, - {RPMTAG_SUPPLEMENTNAME, 0, 0, 0, LEN_AND_STR("supplements")}, - {RPMTAG_ENHANCENAME, 0, 0, 0, LEN_AND_STR("enhances")}, -- {RPMTAG_PREREQ, 2, 1, 0, LEN_AND_STR("prereq")}, -+ {RPMTAG_PREREQ, 2, 0, 0, LEN_AND_STR("prereq")}, - {RPMTAG_CONFLICTNAME, 0, 0, 0, LEN_AND_STR("conflicts")}, - {RPMTAG_OBSOLETENAME, 0, 0, 0, LEN_AND_STR("obsoletes")}, - {RPMTAG_PREFIXES, 0, 0, 1, LEN_AND_STR("prefixes")}, -@@ -1041,7 +1041,7 @@ static struct PreambleRec_s const preamb - {RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarchitectures")}, - {RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarch")}, - {RPMTAG_BUILDCONFLICTS, 0, 0, 0, LEN_AND_STR("buildconflicts")}, -- {RPMTAG_BUILDPREREQ, 0, 1, 0, LEN_AND_STR("buildprereq")}, -+ {RPMTAG_BUILDPREREQ, 0, 0, 0, LEN_AND_STR("buildprereq")}, - {RPMTAG_BUILDREQUIRES, 0, 0, 0, LEN_AND_STR("buildrequires")}, - {RPMTAG_AUTOREQPROV, 0, 0, 0, LEN_AND_STR("autoreqprov")}, - {RPMTAG_AUTOREQ, 0, 0, 0, LEN_AND_STR("autoreq")}, +--- build/parsePreamble.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ build/parsePreamble.c 2024-12-16 09:21:44.247668941 +0000 +@@ -1103,7 +1103,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_SUGGESTNAME, 2, 0, 0, 0, LEN_AND_STR("suggests")}, + {RPMTAG_SUPPLEMENTNAME, 2, 0, 0, 0, LEN_AND_STR("supplements")}, + {RPMTAG_ENHANCENAME, 2, 0, 0, 0, LEN_AND_STR("enhances")}, +- {RPMTAG_PREREQ, 2, 1, 0, 0, LEN_AND_STR("prereq")}, ++ {RPMTAG_PREREQ, 2, 0, 0, 0, LEN_AND_STR("prereq")}, + {RPMTAG_CONFLICTNAME, 0, 0, 0, 0, LEN_AND_STR("conflicts")}, + {RPMTAG_OBSOLETENAME, 0, 0, 0, 0, LEN_AND_STR("obsoletes")}, + {RPMTAG_PREFIXES, 0, 0, 1, 0, LEN_AND_STR("prefixes")}, +@@ -1113,7 +1113,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_BUILDARCHS, 0, 0, 0, 0, LEN_AND_STR("buildarch")}, + {RPMTAG_BUILDCONFLICTS, 0, 0, 0, 1, LEN_AND_STR("buildconflicts")}, + {RPMTAG_BUILDOPTION, 2, 0, 0, 1, LEN_AND_STR("buildoption")}, +- {RPMTAG_BUILDPREREQ, 0, 1, 0, 1, LEN_AND_STR("buildprereq")}, ++ {RPMTAG_BUILDPREREQ, 0, 0, 0, 1, LEN_AND_STR("buildprereq")}, + {RPMTAG_BUILDREQUIRES, 0, 0, 0, 1, LEN_AND_STR("buildrequires")}, + {RPMTAG_BUILDSYSTEM, 0, 0, 1, 1, LEN_AND_STR("buildsystem")}, + {RPMTAG_AUTOREQPROV, 0, 0, 0, 0, LEN_AND_STR("autoreqprov")}, diff --git a/posttrans.diff b/posttrans.diff index 7df213a..79cffbd 100644 --- a/posttrans.diff +++ b/posttrans.diff @@ -1,5 +1,5 @@ ---- include/rpm/rpmcli.h.orig 2023-09-19 10:10:10.000000000 +0000 -+++ include/rpm/rpmcli.h 2023-10-12 11:43:59.662617302 +0000 +--- include/rpm/rpmcli.h.orig 2024-10-07 09:35:46.000000000 +0000 ++++ include/rpm/rpmcli.h 2024-12-16 09:31:12.446494695 +0000 @@ -306,6 +306,7 @@ enum rpmInstallFlags_e { INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */ INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */ @@ -24,8 +24,8 @@ */ extern struct rpmInstallArguments_s rpmIArgs; ---- include/rpm/rpmts.h.orig 2023-10-12 11:43:35.870664176 +0000 -+++ include/rpm/rpmts.h 2023-10-12 11:43:59.662617302 +0000 +--- include/rpm/rpmts.h.orig 2024-12-16 09:30:58.714522978 +0000 ++++ include/rpm/rpmts.h 2024-12-16 09:31:12.446494695 +0000 @@ -253,6 +253,15 @@ int rpmtsOrder(rpmts ts); int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet); @@ -42,8 +42,8 @@ * Reference a transaction set instance. * @param ts transaction set * @return new transaction set reference ---- lib/poptI.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/poptI.c 2023-10-12 11:43:59.662617302 +0000 +--- lib/poptI.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/poptI.c 2024-12-16 09:31:12.446494695 +0000 @@ -283,6 +283,10 @@ struct poptOption rpmInstallPoptTable[] &rpmIArgs.installInterfaceFlags, (INSTALL_RESTORE), N_("restore package(s)"), @@ -55,9 +55,9 @@ POPT_TABLEEND }; ---- lib/psm.c.orig 2023-10-12 11:43:35.850664215 +0000 -+++ lib/psm.c 2023-10-12 11:43:59.662617302 +0000 -@@ -1001,7 +1001,7 @@ static rpmRC rpmPackageErase(rpmts ts, r +--- lib/psm.c.orig 2024-12-16 09:30:58.694523019 +0000 ++++ lib/psm.c 2024-12-16 09:31:12.446494695 +0000 +@@ -1000,7 +1000,7 @@ static rpmRC rpmPackageErase(rpmts ts, r } if (rc) break; @@ -66,8 +66,8 @@ /* Prepare post transaction uninstall triggers */ rpmtriggersPrepPostUnTransFileTrigs(psm->ts, psm->te); } ---- lib/rpminstall.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/rpminstall.c 2023-10-12 11:43:59.662617302 +0000 +--- lib/rpminstall.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpminstall.c 2024-12-16 09:31:12.446494695 +0000 @@ -6,6 +6,8 @@ #include @@ -98,7 +98,7 @@ + goto exit; + } + while ((s = fgets(line, sizeof(line) - 1, f)) != 0) { -+ if (p = strrchr(s, '\n')) ++ if ((p = strrchr(s, '\n')) != 0) + *p = 0; + argvAdd(&manifest, s); + } @@ -110,8 +110,8 @@ + argvFree(manifest); + return rc; +} ---- lib/rpmtriggers.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/rpmtriggers.c 2023-10-12 11:43:59.662617302 +0000 +--- lib/rpmtriggers.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmtriggers.c 2024-12-16 09:31:12.446494695 +0000 @@ -1,5 +1,6 @@ #include "system.h" @@ -128,7 +128,7 @@ unsigned int tix, unsigned int priority) { if (trigs->count == trigs->alloced) { -@@ -178,6 +179,14 @@ int runPostUnTransFileTrigs(rpmts ts) +@@ -190,6 +191,14 @@ int runPostUnTransFileTrigs(rpmts ts) if (trigH == NULL) continue; @@ -143,7 +143,7 @@ /* Prepare and run script */ script = rpmScriptFromTriggerTag(trigH, triggertag(RPMSENSE_TRIGGERPOSTUN), -@@ -587,6 +596,16 @@ rpmRC runImmedFileTriggers(rpmts ts, rpm +@@ -610,6 +619,16 @@ rpmRC runImmedFileTriggers(rpmts ts, rpm rpmTagVal priorityTag; rpmtriggers triggers; @@ -160,9 +160,9 @@ if (tm == RPMSCRIPT_FILETRIGGER) { priorityTag = RPMTAG_FILETRIGGERPRIORITIES; } else { ---- lib/rpmtriggers.h.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/rpmtriggers.h 2023-10-12 11:43:59.662617302 +0000 -@@ -27,6 +27,10 @@ rpmtriggers rpmtriggersCreate(unsigned i +--- lib/rpmtriggers.h.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmtriggers.h 2024-12-16 09:31:12.446494695 +0000 +@@ -24,6 +24,10 @@ rpmtriggers rpmtriggersCreate(unsigned i RPM_GNUC_INTERNAL rpmtriggers rpmtriggersFree(rpmtriggers triggers); @@ -173,9 +173,9 @@ /* * Prepare post trans uninstall file triggers. After transcation uninstalled * 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 2023-10-12 11:43:59.662617302 +0000 -@@ -94,6 +94,8 @@ struct rpmts_s { +--- lib/rpmts_internal.h.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/rpmts_internal.h 2024-12-16 09:31:12.446494695 +0000 +@@ -83,6 +83,8 @@ struct rpmts_s { int min_writes; /*!< macro minimize_writes used */ time_t overrideTime; /*!< Time value used when overriding system clock. */ @@ -183,9 +183,9 @@ + int dump_posttrans; /*!< macro dump_posttrans used */ }; - #ifdef __cplusplus ---- lib/transaction.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ lib/transaction.c 2023-10-12 11:44:28.398560689 +0000 + /** \ingroup rpmts +--- lib/transaction.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ lib/transaction.c 2024-12-16 09:37:17.425742632 +0000 @@ -1475,6 +1475,8 @@ static int rpmtsSetup(rpmts ts, rpmprobF /* Get available space on mounted file systems. */ (void) rpmtsInitDSI(ts); @@ -195,44 +195,23 @@ 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 */ nfailed = rpmtsProcess(ts); + if (ts->dump_posttrans) { + 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 */ -- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { -+ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { + if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { rpmlog(RPMLOG_DEBUG, "running %%posttrans scripts\n"); - runTransScripts(ts, PKG_POSTTRANS); - } - /* 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: +@@ -1901,3 +1912,117 @@ exit: sigaction(SIGPIPE, &oact, NULL); return rc; } @@ -336,7 +315,7 @@ + runTransScripts(ts, PKG_POSTTRANS); + runTransScripts(ts, PKG_POSTUNTRANS); + /* run %transfiletriggerin scripts */ -+ runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0); ++ runFileTriggers(ts, NULL, -1, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0); + /* run %transfiletriggerpostun scrips */ + runPostUnTransFileTrigs(ts); + /* Run immed %transfiletriggerin scripts */ @@ -350,8 +329,8 @@ + rpmtsEmpty(ts); + return rc; +} ---- tools/rpm.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ tools/rpm.c 2023-10-12 11:43:59.662617302 +0000 +--- tools/rpm.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ tools/rpm.c 2024-12-16 09:31:12.446494695 +0000 @@ -21,6 +21,7 @@ enum modes { MODE_ERASE = (1 << 2), MODE_RESTORE = (1 << 4), diff --git a/python-rpm.changes b/python-rpm.changes index cee2dd7..1c872ab 100644 --- a/python-rpm.changes +++ b/python-rpm.changes @@ -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 diff --git a/python-rpm.spec b/python-rpm.spec index 5651fc8..62aa34f 100644 --- a/python-rpm.spec +++ b/python-rpm.spec @@ -20,7 +20,7 @@ # Enable Python build sourced from rpm spec %global with_python 1 Name: python-rpm -Version: 4.19.1.1 +Version: 4.20.0 Release: 0 Summary: Python Bindings for Manipulating RPM Packages License: GPL-2.0-or-later @@ -32,6 +32,7 @@ BuildRequires: cmake BuildRequires: fdupes BuildRequires: file-devel BuildRequires: libacl-devel +BuildRequires: libarchive-devel BuildRequires: libbz2-devel BuildRequires: libcap-devel BuildRequires: libdw-devel diff --git a/rpm-4.19.1.1.tar.bz2 b/rpm-4.19.1.1.tar.bz2 deleted file mode 100644 index 44cfb57..0000000 --- a/rpm-4.19.1.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:874091b80efe66f9de8e3242ae2337162e2d7131e3aa4ac99ac22155e9c521e5 -size 5849649 diff --git a/rpm-4.20.0.tar.bz2 b/rpm-4.20.0.tar.bz2 new file mode 100644 index 0000000..e7fe606 --- /dev/null +++ b/rpm-4.20.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56ff7638cff98b56d4a7503ff59bc79f281a6ddffcda0d238c082bedfb5fbe7b +size 5984513 diff --git a/rpm-rpmlintrc b/rpm-rpmlintrc new file mode 100644 index 0000000..492b41b --- /dev/null +++ b/rpm-rpmlintrc @@ -0,0 +1 @@ +addFilter("file-contains-buildroot") # until rpmlint is fixed diff --git a/rpm.changes b/rpm.changes index 4b7891b..ab0430d 100644 --- a/rpm.changes +++ b/rpm.changes @@ -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 diff --git a/rpm.spec b/rpm.spec index 17a7f70..7dabec4 100644 --- a/rpm.spec +++ b/rpm.spec @@ -32,6 +32,7 @@ BuildRequires: gettext-devel BuildRequires: glibc-devel BuildRequires: gzip BuildRequires: libacl-devel +BuildRequires: libarchive-devel BuildRequires: libbz2-devel BuildRequires: libcap-devel BuildRequires: libdw-devel @@ -57,11 +58,14 @@ Requires: rpm-config-SUSE Summary: The RPM Package Manager License: GPL-2.0-or-later Group: System/Packages -Version: 4.19.1.1 +Version: 4.20.0 Release: 0 URL: https://rpm.org/ #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 +#Git-Clone: https://github.com/rpm-software-management/rpmpgp_legacy +Source1: rpmpgp_legacy-1.0.tar.gz +Source2: rpm-rpmlintrc Source5: rpmsort Source8: rpmconfigcheck Source9: sysconfig.services-rpm @@ -206,6 +210,10 @@ and requires some packages that are usually required. %ifarch aarch64 ppc64le riscv64 tar xf %{SOURCE14} %endif +pushd rpmio +tar xf %{SOURCE1} +ln -s rpmpgp_legacy-* rpmpgp_legacy +popd rm -rf sqlite %patch -P 5 -P 12 -P 13 -P 18 @@ -222,7 +230,10 @@ rm -rf sqlite %patch -P 122 -P 123 %patch -P 131 -P 133 -P 134 -P 135 -P 136 -P 138 %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 %patch -P 6464 @@ -262,10 +273,11 @@ cmake .. \ -DCMAKE_INSTALL_FULL_SHAREDSTATEDIR:PATH=/var/lib \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DRPM_VENDOR=suse \ - -DWITH_ARCHIVE=OFF \ + -DWITH_ARCHIVE=ON \ -DWITH_READLINE=OFF \ -DWITH_SELINUX=ON \ - -DWITH_INTERNAL_OPENPGP=ON \ + -DWITH_SEQUOIA=OFF \ + -DWITH_LEGACY_OPENPGP=ON \ -DENABLE_NDB=ON \ -DENABLE_BDB_RO=ON \ -DENABLE_SQLITE=OFF \ @@ -402,6 +414,7 @@ fi %endif %{_bindir}/gendiff %{_bindir}/rpm + %{_bindir}/rpm2archive %{_bindir}/rpm2cpio %{_bindir}/rpmdb %{_bindir}/rpmgraph @@ -424,6 +437,7 @@ fi /usr/lib/rpm/rpmrc /usr/lib/rpm/rpmsort /usr/lib/rpm/rpmuncompress + /usr/lib/rpm/rpmdump /usr/lib/rpm/suse /usr/lib/rpm/tgpg %{_libdir}/rpm-plugins @@ -460,11 +474,8 @@ fi /usr/lib/rpm/check-* /usr/lib/rpm/*find* /usr/lib/rpm/fileattrs/ -%exclude /usr/lib/rpm/fileattrs/perl*.attr /usr/lib/rpm/*.prov -%exclude /usr/lib/rpm/perl.prov /usr/lib/rpm/*.req -%exclude /usr/lib/rpm/perl.req %ifarch aarch64 ppc64le riscv64 /usr/lib/rpm/config.guess /usr/lib/rpm/config.sub diff --git a/rpmpgp_legacy-1.0.tar.gz b/rpmpgp_legacy-1.0.tar.gz new file mode 100644 index 0000000..ad22509 --- /dev/null +++ b/rpmpgp_legacy-1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8a51a3577a13081dedd03d710a785538340030c3a282f74cd50305f7448326e +size 33982 diff --git a/rpmqpack.diff b/rpmqpack.diff index faee0f1..0a1ec52 100644 --- a/rpmqpack.diff +++ b/rpmqpack.diff @@ -1,5 +1,5 @@ ---- docs/man/CMakeLists.txt.orig 2024-02-07 13:36:51.000000000 +0000 -+++ docs/man/CMakeLists.txt 2024-02-09 10:36:43.300952115 +0000 +--- docs/man/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000 ++++ docs/man/CMakeLists.txt 2024-12-16 09:17:15.684229047 +0000 @@ -2,6 +2,7 @@ set(core gendiff.1 rpm2cpio.8 rpm.8 rpmbuild.8 rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8 @@ -8,8 +8,8 @@ ) set(extra 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 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-12-16 09:17:15.684229047 +0000 @@ -0,0 +1,25 @@ +.TH RPMQPACK 8 "Mar 2002" +.SH NAME @@ -36,9 +36,9 @@ + +.SH AUTHOR +Michael Schroeder ---- tools/CMakeLists.txt.orig 2024-02-07 13:36:51.000000000 +0000 -+++ tools/CMakeLists.txt 2024-02-09 10:37:32.932875459 +0000 -@@ -7,6 +7,7 @@ add_executable(rpm2cpio rpm2cpio.c cliut +--- tools/CMakeLists.txt.orig 2024-10-07 09:35:46.000000000 +0000 ++++ tools/CMakeLists.txt 2024-12-16 09:18:57.764016162 +0000 +@@ -6,6 +6,7 @@ add_executable(rpmkeys rpmkeys.c cliutil add_executable(rpmsign rpmsign.c cliutils) add_executable(rpmbuild rpmbuild.c cliutils) add_executable(rpmspec rpmspec.c cliutils) @@ -46,17 +46,17 @@ add_executable(rpmdeps rpmdeps.c) add_executable(rpmgraph rpmgraph.c) -@@ -60,7 +61,7 @@ foreach(cmd rpmverify rpmquery) - endforeach() +@@ -77,7 +78,7 @@ endif() + install(TARGETS - rpm rpmdb rpmkeys rpm2cpio rpmsign rpmbuild rpmspec + rpm rpmdb rpmkeys rpmsign rpmbuild rpmspec - rpmlua rpmgraph + 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 2024-02-09 10:36:43.300952115 +0000 +--- tools/rpmqpack.c.orig 2024-12-16 09:17:15.688229038 +0000 ++++ tools/rpmqpack.c 2024-12-16 09:17:15.688229038 +0000 @@ -0,0 +1,60 @@ +#include +#include diff --git a/specfilemacro.diff b/specfilemacro.diff index 1e1ee6d..ee27c38 100644 --- a/specfilemacro.diff +++ b/specfilemacro.diff @@ -1,10 +1,10 @@ ---- build/parseSpec.c.orig 2013-06-10 15:55:10.000000000 +0000 -+++ build/parseSpec.c 2013-07-12 12:04:11.000000000 +0000 -@@ -561,6 +561,7 @@ static rpmSpec parseSpec(const char *spe +--- build/parseSpec.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ build/parseSpec.c 2024-12-16 09:19:43.511920745 +0000 +@@ -1309,6 +1309,7 @@ static rpmSpec parseSpec(const char *spe spec = newSpec(); spec->specFile = rpmGetPath(specFile, NULL); + addMacro(spec->macros, "_specfile", NULL, spec->specFile, RMIL_SPEC); pushOFI(spec, spec->specFile); - /* If buildRoot not specified, use default %{buildroot} */ - if (buildRoot) { + /* If explicit --buildroot was passed, grab hold of it */ + if (buildRoot) diff --git a/zstdpool.diff b/zstdpool.diff index 23b4e62..314f0c6 100644 --- a/zstdpool.diff +++ b/zstdpool.diff @@ -1,5 +1,5 @@ ---- rpmio/rpmio.c.orig 2023-09-19 10:10:10.000000000 +0000 -+++ rpmio/rpmio.c 2023-10-10 12:09:28.171040124 +0000 +--- rpmio/rpmio.c.orig 2024-10-07 09:35:46.000000000 +0000 ++++ rpmio/rpmio.c 2024-12-16 09:42:02.197155600 +0000 @@ -8,6 +8,7 @@ #include #include @@ -8,7 +8,7 @@ #include #include -@@ -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. */ #ifdef HAVE_ZSTD @@ -16,7 +16,7 @@ #include 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 */ } * rpmzstd; @@ -45,21 +45,21 @@ + static rpmzstd rpmzstdNew(int fdno, const char *fmode) { - int flags = 0; -@@ -1116,8 +1141,18 @@ static rpmzstd rpmzstdNew(int fdno, cons + rpmzstd zstd = NULL; +@@ -1119,8 +1144,18 @@ static rpmzstd rpmzstdNew(int fdno, cons } if (threads > 0) { -- if (ZSTD_isError (ZSTD_CCtx_setParameter(_stream, 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))) ++ if (ZSTD_isError (ZSTD_CCtx_setParameter(zstd->stream.c, ZSTD_c_nbWorkers, threads))) { rpmlog(RPMLOG_DEBUG, "zstd library does not support multi-threading\n"); + } else { +#if ZSTD_VERSION_NUMBER >= 10407 + pthread_once(&zstdThreadPoolCreated, zstdCreateThreadPool); + if (zstdThreadPool) { + if (threads > zstdThreadPoolThreads) -+ ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, zstdThreadPoolThreads); -+ ZSTD_CCtx_refThreadPool(_stream, zstdThreadPool); ++ ZSTD_CCtx_setParameter(zstd->stream.c, ZSTD_c_nbWorkers, zstdThreadPoolThreads); ++ ZSTD_CCtx_refThreadPool(zstd->stream.c, zstdThreadPool); + } +#endif + }