From 41f9713949fbd4397aee13296e3e15fa8169471e Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Aug 28 2019 10:32:19 +0000 Subject: Update to 4.15.0-rc1 --- diff --git a/.gitignore b/.gitignore index 2e8421e..627fb61 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /rpm-4.14.2.1.tar.bz2 /rpm-4.14.90-git14653.tar.bz2 /rpm-4.15.0-beta.tar.bz2 +/rpm-4.15.0-rc1.tar.bz2 diff --git a/0001-Do-not-set-RPMTAG_BUILDTIME-to-SOURCE_DATE_EPOCH-whe.patch b/0001-Do-not-set-RPMTAG_BUILDTIME-to-SOURCE_DATE_EPOCH-whe.patch deleted file mode 100644 index 0e331a7..0000000 --- a/0001-Do-not-set-RPMTAG_BUILDTIME-to-SOURCE_DATE_EPOCH-whe.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 4b15a9e48bd3d4bef96e8a8865044346be20d6dc Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Sun, 7 Jul 2019 04:21:23 -0400 -Subject: [PATCH] Do not set RPMTAG_BUILDTIME to SOURCE_DATE_EPOCH when defined - by default - -Since b8a54d6a1e9bb6140b6b47e23dc707e4b967537e, when SOURCE_DATE_EPOCH -is set, RPMTAG_BUILDTIME winds up being set with that value. This is -not always desirable, particularly if you are using the build time for -filters and evaluation in certain types of package release pipelines. - -This is an adaptation of the downstream patch in SUSE's rpm package -written by Michael Schroeder intended to address SuseBug:1087065. ---- - build/spec.c | 2 +- - macros.in | 5 +++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/build/spec.c b/build/spec.c -index f7de3d1d1..81506b4e9 100644 ---- a/build/spec.c -+++ b/build/spec.c -@@ -207,7 +207,7 @@ static rpm_time_t getBuildTime(void) - char *endptr; - - srcdate = getenv("SOURCE_DATE_EPOCH"); -- if (srcdate) { -+ if (srcdate && rpmExpandNumeric("%{?use_source_date_epoch_as_buildtime}")) { - errno = 0; - epoch = strtol(srcdate, &endptr, 10); - if (srcdate == endptr || *endptr || errno != 0) -diff --git a/macros.in b/macros.in -index 73586a75b..3cdcca385 100644 ---- a/macros.in -+++ b/macros.in -@@ -238,6 +238,11 @@ package or when debugging this package.\ - # to the timestamp of the topmost changelog entry - %source_date_epoch_from_changelog 0 - -+# If true, make sure that buildtime in built rpms -+# is set to the value of SOURCE_DATE_EPOCH. -+# Is ignored when SOURCE_DATE_EPOCH is not set. -+%use_source_date_epoch_as_buildtime 0 -+ - # If true, make sure that timestamps in built rpms - # are not later than the value of SOURCE_DATE_EPOCH. - # Is ignored when SOURCE_DATE_EPOCH is not set. --- -2.22.0 - diff --git a/0001-Drop-_lto_cflags-macro-afterall.patch b/0001-Drop-_lto_cflags-macro-afterall.patch deleted file mode 100644 index 4555f32..0000000 --- a/0001-Drop-_lto_cflags-macro-afterall.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7faf8eda1358f8a877b9b3d6e1197b814e80b50b Mon Sep 17 00:00:00 2001 -Message-Id: <7faf8eda1358f8a877b9b3d6e1197b814e80b50b.1566557361.git.pmatilai@redhat.com> -From: Panu Matilainen -Date: Tue, 13 Aug 2019 16:26:31 +0300 -Subject: [PATCH] Drop %_lto_cflags macro afterall - -This was only added in commit 2bb7b0cf066c97a9d92eb0bf59618896000cb29d, -but turns out that this kind of usage is bad for build reproducability -because the system-specific CPU count gets recorded RPMTAG_OPTFLAGS -and the resulting binaries too (depending on gcc flags). -In addition, gcc upstream has decided to make -flto default to -autodetected parallelism. Since -flto can be overridden with -by simply appending -fno-lto for the packages that need to disable it, -there's no practical need for us to provide such a macro for disabling -either. ---- - macros.in | 2 +- - platform.in | 3 --- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/macros.in b/macros.in -index 633d5ca6e..b7da4ea2f 100644 ---- a/macros.in -+++ b/macros.in -@@ -1025,7 +1025,7 @@ package or when debugging this package.\ - %build_fflags %{optflags} %{?_fmoddir:-I%{_fmoddir}} - - # Link editor flags. This is usually called LDFLAGS in makefiles. --#%build_ldflags -Wl,-z,relro %{?_lto_cflags} -+#%build_ldflags -Wl,-z,relro - - # Expands to shell code to seot the compiler/linker environment - # variables CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS if they have -diff --git a/platform.in b/platform.in -index e1efc42b0..db6d2382f 100644 ---- a/platform.in -+++ b/platform.in -@@ -59,9 +59,6 @@ - - %_smp_mflags -j%{_smp_build_ncpus} - --# Enable LTO optimization with a maximal parallelism --%_lto_cflags -flto=%{_smp_build_ncpus} -- - #============================================================================== - # ---- Build policy macros. - # --- -2.21.0 - diff --git a/0001-Fix-build-code-thread-cap-logic-for-unlimited-CPUs.patch b/0001-Fix-build-code-thread-cap-logic-for-unlimited-CPUs.patch deleted file mode 100644 index d9d2d70..0000000 --- a/0001-Fix-build-code-thread-cap-logic-for-unlimited-CPUs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4d16d81a1af3e43b8392e7c335f616c9c0c6e41b Mon Sep 17 00:00:00 2001 -Message-Id: <4d16d81a1af3e43b8392e7c335f616c9c0c6e41b.1566558648.git.pmatilai@redhat.com> -From: Panu Matilainen -Date: Fri, 23 Aug 2019 11:09:40 +0300 -Subject: [PATCH 1/2] Fix build code thread cap logic for unlimited CPUs - -If there's no clear cap set from rpm configuration, just let OMP do -its own thing (ie use all available CPUs) instead of artificially -limiting to 1. ---- - build/parseSpec.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/build/parseSpec.c b/build/parseSpec.c -index 055bdf012..737a1233c 100644 ---- a/build/parseSpec.c -+++ b/build/parseSpec.c -@@ -1036,9 +1036,8 @@ static rpmSpec parseSpec(const char *specFile, rpmSpecFlags flags, - #ifdef ENABLE_OPENMP - /* Set number of OMP threads centrally */ - int ncpus = rpmExpandNumeric("%{?_smp_build_ncpus}"); -- if (ncpus <= 0) -- ncpus = 1; -- omp_set_num_threads(ncpus); -+ if (ncpus > 0) -+ omp_set_num_threads(ncpus); - #endif - - if (spec->clean == NULL) { --- -2.21.0 - diff --git a/0001-Support-running-rpmfcExec-without-any-piped-input-ou.patch b/0001-Support-running-rpmfcExec-without-any-piped-input-ou.patch deleted file mode 100644 index bdc5a5c..0000000 --- a/0001-Support-running-rpmfcExec-without-any-piped-input-ou.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ad4673589428db6e3b9fecd6f151eb899500336d Mon Sep 17 00:00:00 2001 -Message-Id: -From: Panu Matilainen -Date: Thu, 15 Aug 2019 14:00:43 +0300 -Subject: [PATCH 1/3] Support running rpmfcExec() without any piped - input/output - -Having a function called getOutputFrom() which doesn't is a wee bit -weird but what the hey... - -No behavior changes here, but this is needed for the next steps. ---- - build/rpmfc.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 80da96f3a..94b4620d2 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -268,8 +268,9 @@ static int getOutputFrom(ARGV_t argv, - int status; - int myerrno = 0; - int ret = 1; /* assume failure */ -+ int doio = (writePtr || sb_stdout || dup); - -- if (pipe(toProg) < 0 || pipe(fromProg) < 0) { -+ if (doio && (pipe(toProg) < 0 || pipe(fromProg) < 0)) { - rpmlog(RPMLOG_ERR, _("Couldn't create pipe for %s: %m\n"), argv[0]); - return -1; - } -@@ -303,6 +304,9 @@ static int getOutputFrom(ARGV_t argv, - return -1; - } - -+ if (!doio) -+ goto reap; -+ - close(toProg[0]); - close(fromProg[1]); - -@@ -376,6 +380,7 @@ static int getOutputFrom(ARGV_t argv, - if (fromProg[0] >= 0) - close(fromProg[0]); - -+reap: - /* Collect status from prog */ - reaped = waitpid(child, &status, 0); - rpmlog(RPMLOG_DEBUG, "\twaitpid(%d) rc %d status %x\n", --- -2.21.0 - diff --git a/0002-Cap-number-of-threads-on-32bit-platforms-add-a-tunab.patch b/0002-Cap-number-of-threads-on-32bit-platforms-add-a-tunab.patch deleted file mode 100644 index 2b8a4b7..0000000 --- a/0002-Cap-number-of-threads-on-32bit-platforms-add-a-tunab.patch +++ /dev/null @@ -1,81 +0,0 @@ -From fa70eaa852aab38857b3c8663386e8759f121bbe Mon Sep 17 00:00:00 2001 -Message-Id: -From: Panu Matilainen -Date: Fri, 23 Aug 2019 11:17:21 +0300 -Subject: [PATCH] Cap number of threads on 32bit platforms, add tunables - (RhBug:1729382) - -On 32bit plaforms, address space is easily exhausted with multiple -threads, causing arbitrary builds failure regressions (RhBug:1729382). -Simply cap the number of threads to maximum of four on any 32bit -platform to play it safe. It's still three more than we were able to -use on older releases... - -In addition, introduce tunables for controlling the number of threads -used similarly to what is available for number of CPUs: forced number -and a separate ceiling. - -The max logic gets surprisingly tricky with the mixed OMP and rpm -tunables and different semantics. Notably, OMP does not have a nice -way to set a maximum from inside a program (this is only possible -from an environment variable so we can't use it here), so we need -to jump through a lot of hoops to figure out whether an *unlimited* -setting would go above the platform limitation. I'm not entirely -convinced this is 100% bulletproof, but then it's all going to change -and become even more complicated when we start taking memory limitations -into account... ---- - build/parseSpec.c | 20 +++++++++++++++++--- - platform.in | 5 +++++ - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/build/parseSpec.c b/build/parseSpec.c -index 737a1233c..ed5c3ef63 100644 ---- a/build/parseSpec.c -+++ b/build/parseSpec.c -@@ -1035,9 +1035,23 @@ static rpmSpec parseSpec(const char *specFile, rpmSpecFlags flags, - - #ifdef ENABLE_OPENMP - /* Set number of OMP threads centrally */ -- int ncpus = rpmExpandNumeric("%{?_smp_build_ncpus}"); -- if (ncpus > 0) -- omp_set_num_threads(ncpus); -+ int nthreads = rpmExpandNumeric("%{?_smp_build_nthreads}"); -+ int nthreads_max = rpmExpandNumeric("%{?_smp_nthreads_max}"); -+ if (nthreads <= 0) -+ nthreads = omp_get_max_threads(); -+ if (nthreads_max > 0 && nthreads > nthreads_max) -+ nthreads = nthreads_max; -+#if __WORDSIZE == 32 -+ /* On 32bit platforms, address space shortage is an issue. Play safe. */ -+ int platlimit = 4; -+ if (nthreads > platlimit) { -+ nthreads = platlimit; -+ rpmlog(RPMLOG_DEBUG, -+ "limiting number of threads to %d due to platform\n", platlimit); -+ } -+#endif -+ if (nthreads > 0) -+ omp_set_num_threads(nthreads); - #endif - - if (spec->clean == NULL) { -diff --git a/platform.in b/platform.in -index db6d2382f..61f5e18a0 100644 ---- a/platform.in -+++ b/platform.in -@@ -59,6 +59,11 @@ - - %_smp_mflags -j%{_smp_build_ncpus} - -+# Maximum number of threads to use when building, 0 for unlimited -+#%_smp_nthreads_max 0 -+ -+%_smp_build_nthreads %{_smp_build_ncpus} -+ - #============================================================================== - # ---- Build policy macros. - # --- -2.21.0 - diff --git a/0002-Restore-strict-order-of-build-scriptlet-stdout-stder.patch b/0002-Restore-strict-order-of-build-scriptlet-stdout-stder.patch deleted file mode 100644 index 3b74b95..0000000 --- a/0002-Restore-strict-order-of-build-scriptlet-stdout-stder.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 3a510926449f1dd779a2933dfaa17de3d03a4ea4 Mon Sep 17 00:00:00 2001 -Message-Id: <3a510926449f1dd779a2933dfaa17de3d03a4ea4.1566556207.git.pmatilai@redhat.com> -In-Reply-To: -References: -From: Panu Matilainen -Date: Thu, 15 Aug 2019 14:10:07 +0300 -Subject: [PATCH 2/3] Restore strict order of build scriptlet stdout/stderr - output (#794) - -Commit 18e8f4e9b2dd170d090843adf5b5084658d68cf7 and related changes -caused us to capture and re-emit stdout of all build scriptlets, -whether we actually use the output for anything or not. Besides doing -a whole bunch of work for nothing, this can disrupt the output of -build scriptlets by making the output jerky and out of order, at least -inside mock and other tools which in turn grab rpm output. This makes -troubleshooting failed builds unnecessarily hard for no good reason. - -Handle the whole thing in a different way: on regular builds, don't -capture anything where we don't actually need to. This restores the -natural flow of output. We still need to somehow handle quiet builds -though, and we can't use redirect to /dev/null from %___build_pre like -we used to, because dynamic buildrequires need to provide output even -on quiet builds. So somewhat counter-intuitively, we need to capture -the output in order to discard it. - -Closes: #794 ---- - build/build.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/build/build.c b/build/build.c -index 3887457d3..dc196090f 100644 ---- a/build/build.c -+++ b/build/build.c -@@ -60,7 +60,6 @@ rpmRC doScript(rpmSpec spec, rpmBuildFlags what, const char *name, - int argc = 0; - const char **argv = NULL; - FILE * fp = NULL; -- FILE * cmdOut = rpmIsVerbose() ? stdout : NULL; - - FD_t fd = NULL; - rpmRC rc = RPMRC_FAIL; /* assume failure */ -@@ -156,7 +155,7 @@ rpmRC doScript(rpmSpec spec, rpmBuildFlags what, const char *name, - - rpmlog(RPMLOG_NOTICE, _("Executing(%s): %s\n"), name, buildCmd); - if (rpmfcExec((ARGV_const_t)argv, NULL, sb_stdoutp, 1, -- spec->buildSubdir, cmdOut)) { -+ spec->buildSubdir, NULL)) { - rpmlog(RPMLOG_ERR, _("Bad exit status from %s (%s)\n"), - scriptName, name); - goto exit; -@@ -242,6 +241,9 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what) - int missing_buildreqs = 0; - int test = (what & RPMBUILD_NOBUILD); - char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL; -+ /* handle quiet mode by capturing the output into a sink buffer */ -+ StringBuf sink = NULL; -+ StringBuf *sbp = rpmIsVerbose() ? NULL : &sink; - - if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") && - getenv("SOURCE_DATE_EPOCH") == NULL) { -@@ -292,7 +294,7 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what) - - if ((what & RPMBUILD_PREP) && - (rc = doScript(spec, RPMBUILD_PREP, "%prep", -- getStringBuf(spec->prep), test, NULL))) -+ getStringBuf(spec->prep), test, sbp))) - goto exit; - - if (what & RPMBUILD_BUILDREQUIRES) -@@ -321,17 +323,17 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what) - - if ((what & RPMBUILD_BUILD) && - (rc = doScript(spec, RPMBUILD_BUILD, "%build", -- getStringBuf(spec->build), test, NULL))) -+ getStringBuf(spec->build), test, sbp))) - goto exit; - - if ((what & RPMBUILD_INSTALL) && - (rc = doScript(spec, RPMBUILD_INSTALL, "%install", -- getStringBuf(spec->install), test, NULL))) -+ getStringBuf(spec->install), test, sbp))) - goto exit; - - if ((what & RPMBUILD_CHECK) && - (rc = doScript(spec, RPMBUILD_CHECK, "%check", -- getStringBuf(spec->check), test, NULL))) -+ getStringBuf(spec->check), test, sbp))) - goto exit; - - if ((what & RPMBUILD_PACKAGESOURCE) && -@@ -358,11 +360,11 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what) - - if ((what & RPMBUILD_CLEAN) && - (rc = doScript(spec, RPMBUILD_CLEAN, "%clean", -- getStringBuf(spec->clean), test, NULL))) -+ getStringBuf(spec->clean), test, sbp))) - goto exit; - - if ((what & RPMBUILD_RMBUILD) && -- (rc = doScript(spec, RPMBUILD_RMBUILD, "--clean", NULL, test, NULL))) -+ (rc = doScript(spec, RPMBUILD_RMBUILD, "--clean", NULL, test, sbp))) - goto exit; - } - -@@ -373,6 +375,7 @@ static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what) - (void) unlink(spec->specFile); - - exit: -+ freeStringBuf(sink); - free(cookie); - spec->rootDir = NULL; - if (rc != RPMRC_OK && rc != RPMRC_MISSINGBUILDREQUIRES && --- -2.21.0 - diff --git a/0003-Drop-the-no-longer-needed-rpmfcExec-output-duplicati.patch b/0003-Drop-the-no-longer-needed-rpmfcExec-output-duplicati.patch deleted file mode 100644 index 39efd1e..0000000 --- a/0003-Drop-the-no-longer-needed-rpmfcExec-output-duplicati.patch +++ /dev/null @@ -1,131 +0,0 @@ -From d472c20a5f6f4046d461c1148a29fba154b2e78b Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: -From: Panu Matilainen -Date: Thu, 15 Aug 2019 14:45:31 +0300 -Subject: [PATCH 3/3] Drop the no longer needed rpmfcExec() output duplication - support - -This effectively reverts commit 5fe8c9e6d55fe101c81399423a1e1b0f42882143, -but no functional changes as nothing was using this anymore. ---- - build/build.c | 2 +- - build/files.c | 2 +- - build/rpmbuild_internal.h | 3 +-- - build/rpmfc.c | 14 ++++++-------- - 4 files changed, 9 insertions(+), 12 deletions(-) - -diff --git a/build/build.c b/build/build.c -index dc196090f..08c2df1e4 100644 ---- a/build/build.c -+++ b/build/build.c -@@ -155,7 +155,7 @@ rpmRC doScript(rpmSpec spec, rpmBuildFlags what, const char *name, - - rpmlog(RPMLOG_NOTICE, _("Executing(%s): %s\n"), name, buildCmd); - if (rpmfcExec((ARGV_const_t)argv, NULL, sb_stdoutp, 1, -- spec->buildSubdir, NULL)) { -+ spec->buildSubdir)) { - rpmlog(RPMLOG_ERR, _("Bad exit status from %s (%s)\n"), - scriptName, name); - goto exit; -diff --git a/build/files.c b/build/files.c -index d54d67f38..ad4f462f1 100644 ---- a/build/files.c -+++ b/build/files.c -@@ -2781,7 +2781,7 @@ static int checkFiles(const char *buildRoot, StringBuf fileList) - - rpmlog(RPMLOG_NOTICE, _("Checking for unpackaged file(s): %s\n"), s); - -- rc = rpmfcExec(av_ckfile, fileList, &sb_stdout, 0, buildRoot, NULL); -+ rc = rpmfcExec(av_ckfile, fileList, &sb_stdout, 0, buildRoot); - if (rc < 0) - goto exit; - -diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h -index 16d72ec9f..f3c8b5658 100644 ---- a/build/rpmbuild_internal.h -+++ b/build/rpmbuild_internal.h -@@ -490,11 +490,10 @@ rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg); - * @retval *sb_stdoutp helper output - * @param failnonzero IS non-zero helper exit status a failure? - * @param buildRoot buildRoot directory (or NULL) -- * @param dup duplicate output (or NULL) - */ - RPM_GNUC_INTERNAL - int rpmfcExec(ARGV_const_t av, StringBuf sb_stdin, StringBuf * sb_stdoutp, -- int failnonzero, const char *buildRoot, FILE *dup); -+ int failnonzero, const char *buildRoot); - - /** \ingroup rpmbuild - * Post-build processing for policies in binary package(s). -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 94b4620d2..abfee8332 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -260,7 +260,7 @@ static rpmds rpmdsSingleNS(rpmstrPool pool, - static int getOutputFrom(ARGV_t argv, - const char * writePtr, size_t writeBytesLeft, - StringBuf sb_stdout, -- int failNonZero, const char *buildRoot, FILE *dup) -+ int failNonZero, const char *buildRoot) - { - pid_t child, reaped; - int toProg[2] = { -1, -1 }; -@@ -268,7 +268,7 @@ static int getOutputFrom(ARGV_t argv, - int status; - int myerrno = 0; - int ret = 1; /* assume failure */ -- int doio = (writePtr || sb_stdout || dup); -+ int doio = (writePtr || sb_stdout); - - if (doio && (pipe(toProg) < 0 || pipe(fromProg) < 0)) { - rpmlog(RPMLOG_ERR, _("Couldn't create pipe for %s: %m\n"), argv[0]); -@@ -369,8 +369,6 @@ static int getOutputFrom(ARGV_t argv, - buf[iorc] = '\0'; - if (sb_stdout) - appendStringBuf(sb_stdout, buf); -- if (dup) -- fprintf(dup, "%s", buf); - } - } - -@@ -402,7 +400,7 @@ exit: - } - - int rpmfcExec(ARGV_const_t av, StringBuf sb_stdin, StringBuf * sb_stdoutp, -- int failnonzero, const char *buildRoot, FILE *dup) -+ int failnonzero, const char *buildRoot) - { - char * s = NULL; - ARGV_t xav = NULL; -@@ -448,7 +446,7 @@ int rpmfcExec(ARGV_const_t av, StringBuf sb_stdin, StringBuf * sb_stdoutp, - sb = newStringBuf(); - } - ec = getOutputFrom(xav, buf_stdin, buf_stdin_len, sb, -- failnonzero, buildRoot, dup); -+ failnonzero, buildRoot); - if (ec) { - sb = freeStringBuf(sb); - goto exit; -@@ -498,7 +496,7 @@ static ARGV_t runCmd(const char *cmd, - argvAdd(&av, cmd); - - appendLineStringBuf(sb_stdin, fn); -- if (rpmfcExec(av, sb_stdin, &sb_stdout, 0, buildRoot, NULL) == 0) { -+ if (rpmfcExec(av, sb_stdin, &sb_stdout, 0, buildRoot) == 0) { - argvSplit(&output, getStringBuf(sb_stdout), "\n\r"); - } - -@@ -1359,7 +1357,7 @@ static rpmRC rpmfcApplyExternal(rpmfc fc) - free(s); - - if (rpmfcExec(dm->argv, sb_stdin, &sb_stdout, -- failnonzero, fc->buildRoot, NULL) == -1) -+ failnonzero, fc->buildRoot) == -1) - continue; - - if (sb_stdout == NULL) { --- -2.21.0 - diff --git a/rpm.spec b/rpm.spec index 87dfbc8..cc3d432 100644 --- a/rpm.spec +++ b/rpm.spec @@ -20,8 +20,8 @@ %define rpmhome /usr/lib/rpm %global rpmver 4.15.0 -%global snapver beta -%global rel 6 +%global snapver rc1 +%global rel 1 %global srcver %{version}%{?snapver:-%{snapver}} %global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(echo %{version} | cut -d'.' -f1-2).x} @@ -51,18 +51,8 @@ Patch5: rpm-4.12.0-rpm2cpio-hack.patch Patch6: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch # Patches already upstream: -# https://github.com/rpm-software-management/rpm/commit/4b15a9e48bd3d4bef96e8a8865044346be20d6dc -Patch101: 0001-Do-not-set-RPMTAG_BUILDTIME-to-SOURCE_DATE_EPOCH-whe.patch - -Patch110: 0001-Support-running-rpmfcExec-without-any-piped-input-ou.patch -Patch111: 0002-Restore-strict-order-of-build-scriptlet-stdout-stder.patch -Patch112: 0003-Drop-the-no-longer-needed-rpmfcExec-output-duplicati.patch -Patch113: 0001-Drop-_lto_cflags-macro-afterall.patch # These are not yet upstream -Patch200: 0001-Fix-build-code-thread-cap-logic-for-unlimited-CPUs.patch -Patch201: 0002-Cap-number-of-threads-on-32bit-platforms-add-a-tunab.patch - Patch906: rpm-4.7.1-geode-i686.patch # Probably to be upstreamed in slightly different form Patch907: rpm-4.15.x-ldflags.patch @@ -547,6 +537,9 @@ make check || (cat tests/rpmtests.log; exit 0) %doc doc/librpm/html/* %changelog +* Wed Aug 28 2019 Panu Matilainen - 4.15.0-0.rc1.1 +- Update to 4.15.0-rc1 + * Tue Aug 27 2019 Panu Matilainen - 4.15.0-0.beta.6 - Fix some issues in the thread cap logic diff --git a/sources b/sources index 1346f44..9495097 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rpm-4.15.0-beta.tar.bz2) = 4aaa4cc43297ed1b75f36b500cf45b0e92cb7a61788a05f20306ecf035b5dca612a6afb46676dcd148458fb3538905ada276dd4c6f1cff5a5de75c7a642262b4 +SHA512 (rpm-4.15.0-rc1.tar.bz2) = 810d01b13de5ffaee8937faf093b87ede72b676a402de92e77aa7ddfc23468152151d59d35480440ba0d615146d8f4c9e86d1e74fca34220281d3e069ddc802d