Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rpm for openSUSE:Factory checked in at 2022-02-22 21:17:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpm (Old) and /work/SRC/openSUSE:Factory/.rpm.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpm" Tue Feb 22 21:17:35 2022 rev:294 rq:955873 version:4.17.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rpm/rpm.changes 2022-02-05 23:22:54.236039299 +0100 +++ /work/SRC/openSUSE:Factory/.rpm.new.1958/rpm.changes 2022-02-22 21:17:36.410279786 +0100 @@ -6,0 +7,6 @@ +Fri Jan 28 17:00:15 CEST 2022 - simon.v...@gmx.net + +- Fix minimize_writes not minimizing writes since 4.15 regression + new patch: 0001-fix-minimize_writes.patch + +------------------------------------------------------------------- New: ---- 0001-fix-minimize_writes.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpm.spec ++++++ --- /var/tmp/diff_new_pack.sgK6v6/_old 2022-02-22 21:17:37.958280071 +0100 +++ /var/tmp/diff_new_pack.sgK6v6/_new 2022-02-22 21:17:37.974280074 +0100 @@ -118,6 +118,7 @@ Patch133: zstdpool.diff Patch134: zstdthreaded.diff Patch135: ocaml-cmxs.diff +Patch136: 0001-fix-minimize_writes.patch Patch200: finddebuginfo.diff Patch201: finddebuginfo-absolute-links.diff Patch202: debugsubpkg.diff @@ -246,7 +247,7 @@ %patch -P 100 -P 102 -P 103 %patch -P 117 %patch -P 122 -P 123 -P 131 -P 132 -P 133 -P 134 -%patch -P 135 +%patch -P 135 -P 136 # debugedit patches pushd debugedit-5.0 ++++++ 0001-fix-minimize_writes.patch ++++++ commit 03f146e955e099c24f7a49eff461645e1c0a0fd7 Author: Panu Matilainen <pmati...@redhat.com> Date: Thu Jan 13 11:25:30 2022 +0200 Fix minimize_writes not minimizing writes since 4.15 regression Commit 13f70e3710b2df49a923cc6450ff4a8f86e65666 caused minimize_writes to actually not minimize anything since fsmVerify() only "verifies" the thing does NOT exist anymore when it exist. Sigh. FA_TOUCH needs different kind of verification, stat the file instead to see if it needs creating afterall. This is all soooo broken... Fixes: #1881 --- lib/fsm.c.orig +++ lib/fsm.c @@ -945,7 +945,12 @@ int rpmPackageFilesInstall(rpmts ts, rpmte te, rpmfiles files, } /* Assume file does't exist when tmp suffix is in use */ if (!fp->suffix) { - rc = fsmVerify(fp->fpath, fi); + if (fp->action == FA_TOUCH) { + struct stat sb; + rc = fsmStat(fp->fpath, 1, &sb); + } else { + rc = fsmVerify(fp->fpath, fi); + } } else { rc = RPMERR_ENOENT; }