diff --git a/.files b/.files
index 284cf7b..18e4953 100644
Binary files a/.files and b/.files differ
diff --git a/.rev b/.rev
index 1b5ddd2..db6c251 100644
--- a/.rev
+++ b/.rev
@@ -2138,4 +2138,12 @@ Note that this will require adding `Preinstall: libzstd1` to the `openSUSE:Facto
732635
+
+ 7e19e72a51b0564b9c25d72c5d76994c
+ 4.15.1
+
+ dimstar_suse
+ - update to rpm-4.15.1
+ 755878
+
diff --git a/0001-Stop-papering-over-the-security-disaster-known-as-pr.patch b/0001-Stop-papering-over-the-security-disaster-known-as-pr.patch
deleted file mode 100644
index 107a9d2..0000000
--- a/0001-Stop-papering-over-the-security-disaster-known-as-pr.patch
+++ /dev/null
@@ -1,275 +0,0 @@
-From 5bc138a7663e471edad24cc662366bc743d3d3e0 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen
-Date: Fri, 10 May 2019 13:10:00 +0300
-Subject: [PATCH 1/2] Stop papering over the security disaster known as prelink
-
-Back in the turn of the century somebody thought it was a neat idea
-to completely compromise system security to improve program start-up
-start-up times a wee bit. Since then, people have thankfully started
-coming to their senses and removed prelink from distros entirely.
-
-Lets stop papering over the security disaster: we obviously cannot
-stop people from using prelink, but instead of trying to undo the
-damage for verification purposes, we'll now report such a system as
-compromised. Which is how it should be, IMNSHO.
-
-This eliminates a whole lot of extra junk from each and every file
-digest calculation that we do, so it might even show up on somebodys
-performance charts. It also gets rid of libelf dependency outside
-librpmbuild, which is a nice little bonus.
-
-Inspired by a patch to eliminate a rendundant double open of regular
-files in rpmDoDigest() from Denys Vlasenko, taken a little further...
----
- macros.in | 10 ---
- rpmio/Makefile.am | 1 -
- rpmio/rpmfileutil.c | 176 +++-----------------------------------------
- 3 files changed, 9 insertions(+), 178 deletions(-)
-
-diff --git a/macros.in b/macros.in
-index a6069ee4d..32c453479 100644
---- a/macros.in
-+++ b/macros.in
-@@ -685,16 +685,6 @@ package or when debugging this package.\
- # gpg --batch --no-verbose --verify --no-secmem-warning \
- # %{__signature_filename} %{__plaintext_filename}
- #
--# XXX rpm-4.1 verifies prelinked libraries using a prelink undo helper.
--# Normally this macro is defined in /etc/rpm/macros.prelink, installed
--# with the prelink package. If the macro is undefined, then prelinked
--# shared libraries contents are MD5 digest verified (as usual), rather
--# than MD5 verifying the output of the prelink undo helper.
--#
--# Note: The 2nd token is used as argv[0] and "library" is a
--# placeholder that will be deleted and replaced with the appropriate
--# library file path.
--#%__prelink_undo_cmd /usr/sbin/prelink prelink -y library
-
- # Horowitz Key Protocol server configuration
- #
-diff --git a/rpmio/Makefile.am b/rpmio/Makefile.am
-index 6024ae4e2..cedd784de 100644
---- a/rpmio/Makefile.am
-+++ b/rpmio/Makefile.am
-@@ -42,7 +42,6 @@ librpmio_la_LIBADD = \
- @WITH_OPENSSL_LIB@ \
- @WITH_BZ2_LIB@ \
- @WITH_ZLIB_LIB@ \
-- @WITH_LIBELF_LIB@ \
- @WITH_POPT_LIB@ \
- @WITH_LZMA_LIB@ \
- $(ZSTD_LIBS) \
-diff --git a/rpmio/rpmfileutil.c b/rpmio/rpmfileutil.c
-index 98f19e8a6..4349c64a7 100644
---- a/rpmio/rpmfileutil.c
-+++ b/rpmio/rpmfileutil.c
-@@ -1,18 +1,5 @@
- #include "system.h"
-
--#if HAVE_GELF_H
--
--#include
--
--#if !defined(DT_GNU_PRELINKED)
--#define DT_GNU_PRELINKED 0x6ffffdf5
--#endif
--#if !defined(DT_GNU_LIBLIST)
--#define DT_GNU_LIBLIST 0x6ffffef9
--#endif
--
--#endif
--
- #include
- #include
- #include
-@@ -34,178 +21,33 @@
- static const char *rpm_config_dir = NULL;
- static pthread_once_t configDirSet = PTHREAD_ONCE_INIT;
-
--static int is_prelinked(int fdno)
--{
-- int prelinked = 0;
--#if HAVE_GELF_H && HAVE_LIBELF
-- Elf *elf = NULL;
-- Elf_Scn *scn = NULL;
-- Elf_Data *data = NULL;
-- GElf_Ehdr ehdr;
-- GElf_Shdr shdr;
-- GElf_Dyn dyn;
--
-- (void) elf_version(EV_CURRENT);
--
-- if ((elf = elf_begin (fdno, ELF_C_READ, NULL)) == NULL ||
-- elf_kind(elf) != ELF_K_ELF || gelf_getehdr(elf, &ehdr) == NULL ||
-- !(ehdr.e_type == ET_DYN || ehdr.e_type == ET_EXEC))
-- goto exit;
--
-- while (!prelinked && (scn = elf_nextscn(elf, scn)) != NULL) {
-- (void) gelf_getshdr(scn, &shdr);
-- if (shdr.sh_type != SHT_DYNAMIC || shdr.sh_entsize == 0)
-- continue;
-- while (!prelinked && (data = elf_getdata (scn, data)) != NULL) {
-- int maxndx = data->d_size / shdr.sh_entsize;
--
-- for (int ndx = 0; ndx < maxndx; ++ndx) {
-- (void) gelf_getdyn (data, ndx, &dyn);
-- if (!(dyn.d_tag == DT_GNU_PRELINKED || dyn.d_tag == DT_GNU_LIBLIST))
-- continue;
-- prelinked = 1;
-- break;
-- }
-- }
-- }
--
--exit:
-- if (elf) (void) elf_end(elf);
--#endif
-- return prelinked;
--}
--
--static int open_dso(const char * path, pid_t * pidp, rpm_loff_t *fsizep)
--{
-- static const char * cmd = NULL;
-- static int initted = 0;
-- int fdno;
--
-- if (!initted) {
-- cmd = rpmExpand("%{?__prelink_undo_cmd}", NULL);
-- initted++;
-- }
--
-- if (pidp) *pidp = 0;
--
-- if (fsizep) {
-- struct stat sb, * st = &sb;
-- if (stat(path, st) < 0)
-- return -1;
-- *fsizep = st->st_size;
-- }
--
-- fdno = open(path, O_RDONLY);
-- if (fdno < 0)
-- return fdno;
--
-- if (!(cmd && *cmd))
-- return fdno;
--
-- if (pidp != NULL && is_prelinked(fdno)) {
-- int pipes[2];
-- pid_t pid;
--
-- close(fdno);
-- pipes[0] = pipes[1] = -1;
-- if (pipe(pipes) < 0)
-- return -1;
--
-- pid = fork();
-- if (pid < 0) {
-- close(pipes[0]);
-- close(pipes[1]);
-- return -1;
-- }
--
-- if (pid == 0) {
-- ARGV_t av, lib;
-- int dfd;
-- argvSplit(&av, cmd, " ");
--
-- close(pipes[0]);
-- dfd = dup2(pipes[1], STDOUT_FILENO);
-- close(pipes[1]);
-- if (dfd >= 0 && (lib = argvSearch(av, "library", NULL)) != NULL) {
-- *lib = (char *) path;
-- unsetenv("MALLOC_CHECK_");
-- execve(av[0], av+1, environ);
-- }
-- _exit(127); /* not normally reached */
-- } else {
-- *pidp = pid;
-- fdno = pipes[0];
-- close(pipes[1]);
-- }
-- }
--
-- return fdno;
--}
--
- int rpmDoDigest(int algo, const char * fn,int asAscii,
- unsigned char * digest, rpm_loff_t * fsizep)
- {
-- const char * path;
-- urltype ut = urlPath(fn, &path);
- unsigned char * dig = NULL;
- size_t diglen, buflen = 32 * BUFSIZ;
- unsigned char *buf = xmalloc(buflen);
-- FD_t fd;
- rpm_loff_t fsize = 0;
-- pid_t pid = 0;
- int rc = 0;
-- int fdno;
-
-- fdno = open_dso(path, &pid, &fsize);
-- if (fdno < 0) {
-- rc = 1;
-- goto exit;
-- }
-+ FD_t fd = Fopen(fn, "r.ufdio");
-
-- switch (ut) {
-- case URL_IS_PATH:
-- case URL_IS_UNKNOWN:
-- case URL_IS_HTTPS:
-- case URL_IS_HTTP:
-- case URL_IS_FTP:
-- case URL_IS_HKP:
-- case URL_IS_DASH:
-- default:
-- /* Either use the pipe to prelink -y or open the URL. */
-- fd = (pid != 0) ? fdDup(fdno) : Fopen(fn, "r.ufdio");
-- (void) close(fdno);
-- if (fd == NULL || Ferror(fd)) {
-- rc = 1;
-- if (fd != NULL)
-- (void) Fclose(fd);
-- break;
-- }
--
-+ if (fd) {
- fdInitDigest(fd, algo, 0);
-- fsize = 0;
- while ((rc = Fread(buf, sizeof(*buf), buflen, fd)) > 0)
- fsize += rc;
- fdFiniDigest(fd, algo, (void **)&dig, &diglen, asAscii);
-- if (dig == NULL || Ferror(fd))
-- rc = 1;
--
-- (void) Fclose(fd);
-- break;
-+ Fclose(fd);
- }
-
-- /* Reap the prelink -y helper. */
-- if (pid) {
-- int status;
-- (void) waitpid(pid, &status, 0);
-- if (!WIFEXITED(status) || WEXITSTATUS(status))
-- rc = 1;
-+ if (dig == NULL || Ferror(fd)) {
-+ rc = 1;
-+ } else {
-+ memcpy(digest, dig, diglen);
-+ if (fsizep)
-+ *fsizep = fsize;
- }
-
--exit:
-- if (fsizep)
-- *fsizep = fsize;
-- if (!rc)
-- memcpy(digest, dig, diglen);
- dig = _free(dig);
- free(buf);
-
---
-2.20.1
-
diff --git a/0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch b/0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch
deleted file mode 100644
index c83b846..0000000
--- a/0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a35fbd503d944fa1d2a0e893d2ca97f244299b35 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen
-Date: Tue, 14 May 2019 13:55:52 +0300
-Subject: [PATCH 2/2] Fix use-after-free introduced in
- 0f21bdd0d7b2c45564ddb5a24bbebd530867bd54
-
-Unlike typical fooFree() functions in rpm, Fclose() doesn't set the
-pointer to NULL so there's a use-after-free in checking for Ferror()
-that segfaults and stuff. Delay Fclose() until the end so we actually
-catch io errors too, that was another thing that went missing in
-commit 0f21bdd0d7b2c45564ddb5a24bbebd530867bd54 (although it would've
-probably caused an error via null digest instead)
----
- rpmio/rpmfileutil.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rpmio/rpmfileutil.c b/rpmio/rpmfileutil.c
-index 4349c64a7..16a954a10 100644
---- a/rpmio/rpmfileutil.c
-+++ b/rpmio/rpmfileutil.c
-@@ -37,7 +37,6 @@ int rpmDoDigest(int algo, const char * fn,int asAscii,
- while ((rc = Fread(buf, sizeof(*buf), buflen, fd)) > 0)
- fsize += rc;
- fdFiniDigest(fd, algo, (void **)&dig, &diglen, asAscii);
-- Fclose(fd);
- }
-
- if (dig == NULL || Ferror(fd)) {
-@@ -50,6 +49,7 @@ int rpmDoDigest(int algo, const char * fn,int asAscii,
-
- dig = _free(dig);
- free(buf);
-+ Fclose(fd);
-
- return rc;
- }
---
-2.20.1
-
diff --git a/adopt-language-specific-build_fooflags-macros-from-F.patch b/adopt-language-specific-build_fooflags-macros-from-F.patch
deleted file mode 100644
index 9e87110..0000000
--- a/adopt-language-specific-build_fooflags-macros-from-F.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 9a50846ceeef2add2344dd463c5562bd69496a23 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen
-Date: Mon, 6 May 2019 14:44:30 +0300
-Subject: [PATCH] Adopt language-specific %build_fooflags macros from Fedora
-
-%{optflags} has been the catchall for all compiler options but this
-is quite limiting as there's no way to add for example C++ specific
-options distro-wide. This adds separate %build_cflags, %build_cxxflags,
-%build_fflags for the gcc-supported languages, and additionally
-%build_ldflags for distro-wide LDFLAGS setting.
-
-Based on Florian Weimer's work in Fedoras redhat-rpm-config macros.
----
- macros.in | 26 +++++++++++++++++++++++---
- 1 file changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/macros.in b/macros.in
-index 2ab108776..b6cb52951 100644
---- a/macros.in
-+++ b/macros.in
-@@ -999,6 +999,24 @@ package or when debugging this package.\
- %_target_vendor %{_host_vendor}
- %_target_os %{_host_os}
-
-+#==============================================================================
-+# ---- compiler flags.
-+
-+# C compiler flags. This is traditionally called CFLAGS in makefiles.
-+# Historically also available as %%{optflags}, and %%build sets the
-+# environment variable RPM_OPT_FLAGS to this value.
-+%build_cflags %{optflags}
-+
-+# C++ compiler flags. This is traditionally called CXXFLAGS in makefiles.
-+%build_cxxflags %{optflags}
-+
-+# Fortran compiler flags. Makefiles use both FFLAGS and FCFLAGS as
-+# the corresponding variable names.
-+%build_fflags %{optflags} %{?_fmoddir:-I%{_fmoddir}}
-+
-+# Link editor flags. This is usually called LDFLAGS in makefiles.
-+#%build_ldflags -Wl,-z,relro %{?_lto_cflags}
-+
- #==============================================================================
- # ---- specfile macros.
- # Macro(s) here can be used reliably for reproducible builds.
-@@ -1010,9 +1028,11 @@ package or when debugging this package.\
- #
- %_configure ./configure
- %configure \
-- CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
-- CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
-- FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
-+ CFLAGS="${CFLAGS:-%{?build_cflags}}" ; export CFLAGS ; \
-+ CXXFLAGS="${CXXFLAGS:-%{?build_cxxflags}}" ; export CXXFLAGS ; \
-+ FFLAGS="${FFLAGS:-%{?build_fflags}}" ; export FFLAGS ; \
-+ FCFLAGS="${FCFLAGS:-%{?build_fflags}}" ; export FCFLAGS ; \
-+ LDFLAGS="${LDFLAGS:-%{?build_ldflags}}" ; export LDFLAGS ; \
- %{_configure} --host=%{_host} --build=%{_build} \\\
- --program-prefix=%{?_program_prefix} \\\
- --disable-dependency-tracking \\\
---
-2.21.0
-
diff --git a/auto-config-update-aarch64-ppc64le.diff b/auto-config-update-aarch64-ppc64le.diff
index 661d1e8..5d61865 100644
--- a/auto-config-update-aarch64-ppc64le.diff
+++ b/auto-config-update-aarch64-ppc64le.diff
@@ -1,28 +1,28 @@
-Index: build/parseBuildInstallClean.c
-===================================================================
---- build/parseBuildInstallClean.c.orig
-+++ build/parseBuildInstallClean.c
-@@ -46,7 +46,22 @@ int parseBuildInstallClean(rpmSpec spec,
- } else if (rc < 0) {
- goto exit;
- }
--
-+
-+ if (parsePart == PART_BUILD) {
-+ char* buf = strdup(
-+ "ref=/usr/lib/rpm\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"
-+ " grep -q aarch64 $c || install -m 755 $ref/config.$s $c\n"
-+ " grep -q ppc64le $c || install -m 755 $ref/config.$s $c\n"
-+ " done\n"
-+ "done\n"
-+ );
-+ appendLineStringBuf(*sbp, buf);
-+ free(buf);
-+ }
-+
- while (! (nextPart = isPart(spec->line))) {
- appendStringBuf(*sbp, spec->line);
- if ((rc = readLine(spec, STRIP_NOTHING)) > 0) {
+--- ./build/parseSpec.c.orig 2019-10-02 12:38:51.836127743 +0000
++++ ./build/parseSpec.c 2019-10-02 12:52:33.818447657 +0000
+@@ -926,7 +926,24 @@ 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"
++ "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"
++ " grep -q aarch64 $c || install -m 755 $ref/config.$s $c\n"
++ " grep -q ppc64le $c || install -m 755 $ref/config.$s $c\n"
++ " grep -q 'riscv64[-:]' $c || 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));
diff --git a/auto-config-update-riscv64.diff b/auto-config-update-riscv64.diff
deleted file mode 100644
index a1ed78c..0000000
--- a/auto-config-update-riscv64.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./build/parseBuildInstallClean.c.orig 2018-02-22 10:11:50.088160024 +0000
-+++ ./build/parseBuildInstallClean.c 2018-02-22 10:11:37.592198130 +0000
-@@ -55,6 +55,7 @@ int parseBuildInstallClean(rpmSpec spec,
- " grep -q config-patches@ $c || continue\n"
- " grep -q aarch64 $c || install -m 755 $ref/config.$s $c\n"
- " grep -q ppc64le $c || install -m 755 $ref/config.$s $c\n"
-+ " grep -q 'riscv64[-:]' $c || install -m 755 $ref/config.$s $c\n"
- " done\n"
- "done\n"
- );
diff --git a/brp-compress-no-img.patch b/brp-compress-no-img.patch
index b21f386..0ed2573 100644
--- a/brp-compress-no-img.patch
+++ b/brp-compress-no-img.patch
@@ -1,10 +1,10 @@
---- scripts/brp-compress 2013-09-02 19:00:09.000000000 +0200
-+++ scripts/brp-compress 2013-09-02 19:03:12.000000000 +0200
-@@ -47,6 +47,7 @@ do
+--- ./scripts/brp-compress.orig 2019-10-02 12:09:46.263708258 +0000
++++ ./scripts/brp-compress 2019-10-02 12:09:52.055696056 +0000
+@@ -50,6 +50,7 @@ do
find $d -type f ! -name dir | while read f
do
[ -f "$f" ] || continue
+ case $(file "$f") in *"image data"*) continue;; esac
case "$f" in
- *.gz|*.Z) gunzip "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
+ *.gz|*.Z) gunzip -f "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
diff --git a/brpcompress.diff b/brpcompress.diff
index 5d027fd..f0d512a 100644
--- a/brpcompress.diff
+++ b/brpcompress.diff
@@ -1,16 +1,16 @@
---- ./scripts/brp-compress.orig 2018-01-31 13:07:37.130104408 +0000
-+++ ./scripts/brp-compress 2018-01-31 13:07:16.234159981 +0000
-@@ -5,51 +5,78 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD
+--- ./scripts/brp-compress.orig 2019-10-02 09:59:40.403995534 +0000
++++ ./scripts/brp-compress 2019-10-02 10:03:27.075537047 +0000
+@@ -5,6 +5,9 @@ if [ -z "$RPM_BUILD_ROOT" ] || [ "$RPM_B
exit 0
fi
+LC_ALL=
+LANG=
+LC_TIME=POSIX
-+
- cd "$RPM_BUILD_ROOT"
+ PREFIX=${1:-/usr}
- # Compress man pages
+ cd "$RPM_BUILD_ROOT"
+@@ -13,6 +16,29 @@ cd "$RPM_BUILD_ROOT"
COMPRESS=${COMPRESS:-gzip -9 -n}
COMPRESS_EXT=${COMPRESS_EXT:-.gz}
@@ -37,10 +37,11 @@
+ done
+}
+
- for d in ./usr/man/man* ./usr/man/*/man* ./usr/info \
- ./usr/share/man/man* ./usr/share/man/*/man* ./usr/share/info \
- ./usr/kerberos/man ./usr/X11R6/man/man* ./usr/lib/perl5/man/man* \
- ./usr/share/doc/*/man/man* ./usr/lib/*/man/man* ./usr/share/fish/man/man*
+ for d in .${PREFIX}/man/man* .${PREFIX}/man/*/man* .${PREFIX}/info \
+ .${PREFIX}/share/man/man* .${PREFIX}/share/man/*/man* \
+ .${PREFIX}/share/info .${PREFIX}/kerberos/man \
+@@ -21,39 +47,39 @@ for d in .${PREFIX}/man/man* .${PREFIX}/
+ .${PREFIX}/share/fish/man/man*
do
[ -d $d ] || continue
- for f in `find $d -type f ! -name dir`
@@ -52,11 +53,10 @@
- *.gz|*.Z) gunzip -f $f; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
- *.bz2) bunzip2 -f $f; b=`echo $f | sed -e 's/\.bz2$//'`;;
- *.xz|*.lzma) unxz -f $f; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;;
-- *) b=$f;;
-+ *.gz|*.Z) gunzip "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
-+ *.bz2) bunzip2 "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.bz2$//'`;;
-+ *.xz|*.lzma) unxz "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;;
-+ *) b="$f";;
++ *.gz|*.Z) gunzip -f "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
++ *.bz2) bunzip2 -f "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.bz2$//'`;;
++ *.xz|*.lzma) unxz -f "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;;
+ *) b=$f;;
esac
- $COMPRESS $b /dev/null || {
diff --git a/checksepwarn.diff b/checksepwarn.diff
index 04d75bc..f2edd4d 100644
--- a/checksepwarn.diff
+++ b/checksepwarn.diff
@@ -1,5 +1,5 @@
---- ./build/parseReqs.c.orig 2017-10-05 10:04:56.887602165 +0000
-+++ ./build/parseReqs.c 2017-12-01 16:00:06.956343096 +0000
+--- ./build/parseReqs.c.orig 2019-06-26 14:17:31.396985719 +0000
++++ ./build/parseReqs.c 2019-10-02 12:10:51.879570016 +0000
@@ -42,7 +42,7 @@ static rpmRC checkEpoch(const char *s, c
return RPMRC_OK;
}
@@ -54,11 +54,11 @@
+ if (checkDep(spec, tagflags, N, EVR, &emsg))
goto exit;
- if (nametag == RPMTAG_FILETRIGGERNAME ||
---- ./macros.in.orig 2017-12-01 16:00:02.705355493 +0000
-+++ ./macros.in 2017-12-01 16:00:06.957343106 +0000
-@@ -456,7 +456,7 @@ package or when debugging this package.\
- %_invalid_encoding_terminates_build 0
+ if (nametag == RPMTAG_OBSOLETENAME) {
+--- ./macros.in.orig 2019-10-02 12:10:45.431583601 +0000
++++ ./macros.in 2019-10-02 12:10:51.879570016 +0000
+@@ -452,7 +452,7 @@ package or when debugging this package.\
+ %_invalid_encoding_terminates_build 1
# Should invalid version format in requires, provides, ... terminate a build?
-%_wrong_version_format_terminate_build 1
diff --git a/debugedit-macro.diff b/debugedit-macro.diff
deleted file mode 100644
index e2b8cd3..0000000
--- a/debugedit-macro.diff
+++ /dev/null
@@ -1,94 +0,0 @@
---- ./tools/debugedit.c.orig 2017-12-15 12:17:02.564975374 +0000
-+++ ./tools/debugedit.c 2017-12-15 12:17:29.058901941 +0000
-@@ -71,6 +71,14 @@
- #define DW_FORM_ref_udata 0x15
- #define DW_FORM_indirect 0x16
-
-+#define DW_MACRO_GNU_define 1
-+#define DW_MACRO_GNU_undef 2
-+#define DW_MACRO_GNU_start_file 3
-+#define DW_MACRO_GNU_end_file 4
-+#define DW_MACRO_GNU_define_indirect 5
-+#define DW_MACRO_GNU_undef_indirect 6
-+#define DW_MACRO_GNU_transparent_include 7
-+
- /* Unfortunately strtab manipulation functions were only officially added
- to elfutils libdw in 0.167. Before that there were internal unsupported
- ebl variants. While libebl.h isn't supported we'll try to use it anyway
-@@ -2209,6 +2217,67 @@ edit_dwarf2 (DSO *dso)
- }
- }
-
-+ /* the macro section also contains offsets into the str section,
-+ * so we need to update those as well if we update the strings
-+ */
-+ if (need_strp_update && debug_sections[DEBUG_MACRO].data)
-+ {
-+ ptr = debug_sections[DEBUG_MACRO].data;
-+ endsec = ptr + debug_sections[DEBUG_MACRO].size;
-+ int op = 0, macro_version, macro_flags;
-+
-+ while (ptr < endsec)
-+ {
-+ if (!op)
-+ {
-+ macro_version = read_16 (ptr);
-+ macro_flags = read_8 (ptr);
-+ if (macro_version != 4 || (macro_flags & ~2) != 0)
-+ error (1, 0, "unhandled .debug_macro version/flags");
-+ if ((macro_flags & 2) != 0)
-+ ptr += 4;
-+ }
-+ op = read_8 (ptr);
-+ if (!op)
-+ continue;
-+ switch(op)
-+ {
-+ case DW_MACRO_GNU_define:
-+ case DW_MACRO_GNU_undef:
-+ read_uleb128 (ptr);
-+ ptr = (unsigned char *) strchr ((char *) ptr, '\0') + 1;
-+ break;
-+ case DW_MACRO_GNU_start_file:
-+ read_uleb128 (ptr);
-+ read_uleb128 (ptr);
-+ break;
-+ case DW_MACRO_GNU_define_indirect:
-+ case DW_MACRO_GNU_undef_indirect:
-+ read_uleb128 (ptr);
-+ if (phase == 0)
-+ {
-+ size_t idx = read_32 (ptr);
-+ record_existing_string_entry_idx (&dso->strings, idx);
-+ }
-+ else
-+ {
-+ struct stridxentry *entry;
-+ size_t idx, new_idx;
-+ idx = do_read_32 (ptr);
-+ entry = string_find_entry (&dso->strings, idx);
-+ new_idx = strent_offset (entry->entry);
-+ write_32 (ptr, new_idx);
-+ }
-+ break;
-+ case DW_MACRO_GNU_transparent_include:
-+ ptr += 4;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ }
-+
- /* Same for the debug_str section. Make sure everything is
- in place for phase 1 updating of debug_info
- references. */
-@@ -2238,6 +2307,8 @@ edit_dwarf2 (DSO *dso)
- new strp, strings and/or linep offsets. */
- if (need_strp_update || need_string_replacement || need_stmt_update)
- dirty_section (DEBUG_INFO);
-+ if (need_strp_update)
-+ dirty_section (DEBUG_MACRO);
-
- /* Update any debug_info relocations addends we might have touched. */
- if (relbuf != NULL && reltype == SHT_RELA)
diff --git a/debugedit.diff b/debugedit.diff
index 733fc19..c8cf989 100644
--- a/debugedit.diff
+++ b/debugedit.diff
@@ -1,8 +1,8 @@
Make debugedit build without dwarf.h
---- ./Makefile.am.orig 2017-12-01 14:15:13.963574699 +0000
-+++ ./Makefile.am 2017-12-01 14:16:10.634407860 +0000
-@@ -154,7 +154,6 @@ rpm2archive_LDADD += @WITH_POPT_LIB@ @WI
+--- ./Makefile.am.orig 2019-06-26 14:17:31.394985722 +0000
++++ ./Makefile.am 2019-10-02 09:48:35.949316743 +0000
+@@ -167,7 +167,6 @@ rpm2archive_LDADD += @WITH_POPT_LIB@ @WI
if LIBELF
@@ -10,7 +10,7 @@ Make debugedit build without dwarf.h
if LIBDW
rpmconfig_SCRIPTS += scripts/find-debuginfo.sh
-@@ -168,7 +167,6 @@ else
+@@ -181,7 +180,6 @@ else
debugedit_LDADD += @WITH_LIBDW_LIB@ -lebl
endif # HAVE_LIBDW_STRTAB
endif # LIBDW
@@ -18,9 +18,9 @@ Make debugedit build without dwarf.h
rpmlibexec_PROGRAMS += elfdeps
elfdeps_SOURCES = tools/elfdeps.c
elfdeps_LDADD = rpmio/librpmio.la
---- ./tools/debugedit.c.orig 2017-10-05 10:04:57.714602011 +0000
-+++ ./tools/debugedit.c 2017-12-01 14:15:13.965574668 +0000
-@@ -39,7 +39,37 @@
+--- ./tools/debugedit.c.orig 2019-06-26 14:17:31.462985619 +0000
++++ ./tools/debugedit.c 2019-10-02 09:48:35.953316735 +0000
+@@ -39,7 +39,45 @@
#include
#include
@@ -56,6 +56,14 @@ Make debugedit build without dwarf.h
+#define DW_FORM_ref8 0x14
+#define DW_FORM_ref_udata 0x15
+#define DW_FORM_indirect 0x16
++
++#define DW_MACRO_GNU_define 1
++#define DW_MACRO_GNU_undef 2
++#define DW_MACRO_GNU_start_file 3
++#define DW_MACRO_GNU_end_file 4
++#define DW_MACRO_GNU_define_indirect 5
++#define DW_MACRO_GNU_undef_indirect 6
++#define DW_MACRO_GNU_transparent_include 7
+
/* Unfortunately strtab manipulation functions were only officially added
- to elfutils libdw in 0.167. Before that there were internal unsupported
diff --git a/dwz-compression.patch b/dwz-compression.patch
deleted file mode 100644
index dc8e28a..0000000
--- a/dwz-compression.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
-index 73275a11c..3dc438ce5 100755
---- scripts/find-debuginfo.sh
-+++ scripts/find-debuginfo.sh
-@@ -486,6 +486,7 @@ if $run_dwz \
- && [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then
- readarray dwz_files < <(cd "${RPM_BUILD_ROOT}/usr/lib/debug"; find -type f -name \*.debug | LC_ALL=C sort)
- if [ ${#dwz_files[@]} -gt 0 ]; then
-+ size_before=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1)
- dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}"
- dwz_multifile_suffix=
- dwz_multifile_idx=0
-@@ -508,6 +509,8 @@ if $run_dwz \
- echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed"
- exit 2
- fi
-+ size_after=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1)
-+ echo "original debug info size: ${size_before}kB, size after compression: ${size_after}kB"
- # Remove .dwz directory if empty
- rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null
- if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then
diff --git a/enable-postin-scripts-error.diff b/enable-postin-scripts-error.diff
index 251488b..4672a15 100644
--- a/enable-postin-scripts-error.diff
+++ b/enable-postin-scripts-error.diff
@@ -1,21 +1,29 @@
---- ./lib/transaction.c.orig 2018-07-02 14:51:41.328051671 +0000
-+++ ./lib/transaction.c 2018-07-02 14:51:46.264038824 +0000
-@@ -1462,7 +1462,9 @@ rpmRC runScript(rpmts ts, rpmte te, Head
- int warn_only = (stag != RPMTAG_PREIN &&
- stag != RPMTAG_PREUN &&
- stag != RPMTAG_PRETRANS &&
-- stag != RPMTAG_VERIFYSCRIPT);
-+ stag != RPMTAG_VERIFYSCRIPT &&
-+ !(stag == RPMTAG_POSTIN &&
-+ rpmExpandNumeric("%{_fail_on_postinstall_errors}")));
- rpmdb rdb = rpmtsGetRdb(ts);
+--- ./lib/rpmscript.c.orig 2019-10-02 12:19:15.694519983 +0000
++++ ./lib/rpmscript.c 2019-10-02 12:22:32.838112185 +0000
+@@ -411,7 +411,7 @@ rpmRC rpmScriptRun(rpmScript script, int
+ if (script == NULL) return RPMRC_OK;
- /* Fake up a transaction element for triggers from rpmdb */
---- ./macros.in.orig 2018-07-02 14:51:41.340051640 +0000
-+++ ./macros.in 2018-07-02 14:51:46.264038824 +0000
-@@ -1290,5 +1290,10 @@ end}
- %{expand:%__scm_setup_%{__scm} %{!-v:-q}}\
- %{!-N:%autopatch %{-v} %{-p:-p%{-p*}}}
+ ARGV_t args = NULL;
+- rpmlogLvl lvl = (script->flags & RPMSCRIPT_FLAG_CRITICAL) ?
++ rpmlogLvl lvl = (rpmScriptFlags(script) & RPMSCRIPT_FLAG_CRITICAL) ?
+ RPMLOG_ERR : RPMLOG_WARNING;
+ rpmRC rc;
+ int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC;
+@@ -654,5 +654,8 @@ rpmscriptTypes rpmScriptType(rpmScript s
+
+ rpmscriptFlags rpmScriptFlags(rpmScript script)
+ {
+- return (script != NULL) ? script->flags : 0;
++ rpmscriptFlags flags = (script != NULL) ? script->flags : 0;
++ if (script && script->tag == RPMTAG_POSTIN && rpmExpandNumeric("%{_fail_on_postinstall_errors}"))
++ flags |= RPMSCRIPT_FLAG_CRITICAL;
++ return flags;
+ }
+--- ./macros.in.orig 2019-10-02 12:12:13.027399050 +0000
++++ ./macros.in 2019-10-02 12:12:19.799384783 +0000
+@@ -1318,5 +1318,10 @@ end}
+ %requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
+ %requires_ge() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
+# Should errors in %post scriptlet be propagated as errors?
+#
diff --git a/fileattrs.diff b/fileattrs.diff
index 204bb0a..29038d7 100644
--- a/fileattrs.diff
+++ b/fileattrs.diff
@@ -1,15 +1,15 @@
---- ./fileattrs/Makefile.am.orig 2017-12-01 15:46:21.021741182 +0000
-+++ ./fileattrs/Makefile.am 2017-12-01 15:48:54.108298271 +0000
+--- ./fileattrs/Makefile.am.orig 2019-10-02 11:39:56.095525981 +0000
++++ ./fileattrs/Makefile.am 2019-10-02 11:40:20.695473538 +0000
@@ -8,6 +8,6 @@ fattrsdir = $(rpmconfigdir)/fileattrs
fattrs_DATA = \
debuginfo.attr desktop.attr elf.attr font.attr libtool.attr metainfo.attr \
- perl.attr perllib.attr pkgconfig.attr python.attr ocaml.attr script.attr \
-- mono.attr
-+ mono.attr elflib.attr
+ perl.attr perllib.attr pkgconfig.attr python.attr pythondist.attr ocaml.attr \
+- script.attr
++ script.attr elflib.attr
EXTRA_DIST = $(fattrs_DATA)
---- ./fileattrs/elf.attr.orig 2017-12-01 15:46:28.171720501 +0000
-+++ ./fileattrs/elf.attr 2017-12-01 15:47:49.339485678 +0000
+--- ./fileattrs/elf.attr.orig 2019-06-26 14:17:31.404985707 +0000
++++ ./fileattrs/elf.attr 2019-10-02 11:39:56.095525981 +0000
@@ -1,4 +1,5 @@
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
@@ -17,23 +17,23 @@
+%__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*executable
%__elf_flags exeonly
+%__elf_exclude_path ^/usr/lib/debug/
---- ./fileattrs/elflib.attr.orig 2017-12-01 15:46:28.171720501 +0000
-+++ ./fileattrs/elflib.attr 2017-12-01 15:46:28.171720501 +0000
+--- ./fileattrs/elflib.attr.orig 2019-10-02 11:39:56.095525981 +0000
++++ ./fileattrs/elflib.attr 2019-10-02 11:39:56.095525981 +0000
@@ -0,0 +1,4 @@
+%__elflib_provides %{_rpmconfigdir}/elfdeps --assume-exec --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
+%__elflib_requires %{_rpmconfigdir}/elfdeps --assume-exec --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
+%__elflib_magic ^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*shared object
+%__elflib_exclude_path ^/usr/lib/debug/
---- ./fileattrs/perl.attr.orig 2017-08-10 08:08:07.113108701 +0000
-+++ ./fileattrs/perl.attr 2017-12-01 15:46:28.172720497 +0000
+--- ./fileattrs/perl.attr.orig 2019-06-26 14:17:31.404985707 +0000
++++ ./fileattrs/perl.attr 2019-10-02 11:39:56.095525981 +0000
@@ -1,3 +1,4 @@
-%__perl_requires %{_rpmconfigdir}/perl.req
+# disabled for now
+#%__perl_requires %{_rpmconfigdir}/perl.req
%__perl_magic ^.*[Pp]erl .*$
%__perl_flags exeonly
---- ./fileattrs/perllib.attr.orig 2017-08-10 08:08:07.113108701 +0000
-+++ ./fileattrs/perllib.attr 2017-12-01 15:46:28.172720497 +0000
+--- ./fileattrs/perllib.attr.orig 2019-06-26 14:17:31.404985707 +0000
++++ ./fileattrs/perllib.attr 2019-10-02 11:39:56.095525981 +0000
@@ -1,5 +1,6 @@
%__perllib_provides %{_rpmconfigdir}/perl.prov
-%__perllib_requires %{_rpmconfigdir}/perl.req
@@ -42,3 +42,11 @@
%__perllib_magic ^Perl[[:digit:]] module source.*
%__perllib_path \\.pm$
%__perllib_flags magic_and_path
+--- ./fileattrs/pythondist.attr.orig 2019-12-06 14:32:57.245328376 +0000
++++ ./fileattrs/pythondist.attr 2019-12-06 14:33:35.345238073 +0000
+@@ -1,3 +1,4 @@
+ %__pythondist_provides %{_rpmconfigdir}/pythondistdeps.py --provides --majorver-provides
+-%__pythondist_requires %{_rpmconfigdir}/pythondistdeps.py --requires
++#disabled for now
++#%__pythondist_requires %{_rpmconfigdir}/pythondistdeps.py --requires
+ %__pythondist_path /lib(64)?/python[[:digit:]]\\.[[:digit:]]+/site-packages/[^/]+\\.(dist-info|egg-info|egg-link)$
diff --git a/finddebuginfo.diff b/finddebuginfo.diff
index a7c3810..d956166 100644
--- a/finddebuginfo.diff
+++ b/finddebuginfo.diff
@@ -1,15 +1,15 @@
---- ./scripts/find-debuginfo.sh.orig 2017-10-05 10:04:57.586602035 +0000
-+++ ./scripts/find-debuginfo.sh 2017-12-01 14:45:15.439290101 +0000
-@@ -326,12 +326,18 @@ trap 'rm -rf "$temp"' EXIT
+--- ./scripts/find-debuginfo.sh.orig 2019-09-09 07:56:53.377788842 +0000
++++ ./scripts/find-debuginfo.sh 2019-10-02 11:11:56.878979662 +0000
+@@ -348,12 +348,18 @@ trap 'rm -rf "$temp"' EXIT
# Build a list of unstripped ELF files and their hardlinks
touch "$temp/primary"
-find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
- \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
-- -print |
+- -print | LC_ALL=C sort |
-file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped.*/\1/p' |
-xargs --no-run-if-empty stat -c '%h %D_%i %n' |
-+find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \( -perm /111 -or -name "*.so*" -or -name "*.ko" \) ! -name "*.a" -print0 | sort -z |
++find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \( -perm /111 -or -name "*.so*" -or -name "*.ko" \) ! -name "*.a" -print0 | LC_ALL=C sort -z |
+xargs --no-run-if-empty -0 stat -c '%h %D_%i %n' |
while read nlinks inum f; do
+ case $(objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
@@ -24,7 +24,7 @@
if [ $nlinks -gt 1 ]; then
var=seen_$inum
if test -n "${!var}"; then
-@@ -364,6 +370,8 @@ do_file()
+@@ -386,6 +392,8 @@ do_file()
if [ "$no_recompute_build_id" = "true" ]; then
no_recompute="-n"
fi
@@ -33,7 +33,7 @@
id=$(${lib_rpm_dir}/debugedit -b "$debug_base_name" -d "$debug_dest_name" \
$no_recompute -i \
${build_id_seed:+--build-id-seed="$build_id_seed"} \
-@@ -387,17 +395,30 @@ do_file()
+@@ -413,17 +421,30 @@ do_file()
# just has its file names collected and adjusted.
case "$dn" in
/usr/lib/debug/*)
@@ -71,16 +71,7 @@
# strip -g implies we have full symtab, don't add mini symtab in that case.
# It only makes sense to add a minisymtab for executables and shared
-@@ -507,7 +528,7 @@ if $run_dwz \
- rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null
- if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then
- id="`readelf -Wn "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" \
-- 2>/dev/null | sed -n 's/^ Build ID: \([0-9a-f]\+\)/\1/p'`"
-+ 2>/dev/null | sed -n 's/^.* Build ID: \([0-9a-f]\+\)/\1/p'`"
- fi
-
- # dwz invalidates .gnu_debuglink CRC32 in the main files.
-@@ -551,12 +572,14 @@ if [ -s "$SOURCEFILE" ]; then
+@@ -581,12 +602,14 @@ if [ -s "$SOURCEFILE" ]; then
# and non-standard modes may be inherented from original directories, fixup
find "${RPM_BUILD_ROOT}${debug_dest_name}" -type d -print0 |
xargs --no-run-if-empty -0 chmod 0755
@@ -88,7 +79,7 @@
+ xargs --no-run-if-empty -0 chmod a+r
fi
- if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
+ if [ -d "${RPM_BUILD_ROOT}/usr/lib" ] || [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
((nout > 0)) ||
test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
- (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
diff --git a/findlang.diff b/findlang.diff
index 3f99898..3ce28f5 100644
--- a/findlang.diff
+++ b/findlang.diff
@@ -1,5 +1,5 @@
---- ./scripts/find-lang.sh.orig 2018-01-16 09:02:23.879253043 +0000
-+++ ./scripts/find-lang.sh 2018-01-31 13:20:30.938048419 +0000
+--- ./scripts/find-lang.sh.orig 2019-09-09 07:56:53.377788842 +0000
++++ ./scripts/find-lang.sh 2019-10-02 11:12:53.774861485 +0000
@@ -22,11 +22,11 @@ the top of the tree containing the files
PACKAGE_NAME is the %{name} of the package. This should also be
the basename of the .mo files. the output is written to
@@ -137,7 +137,7 @@
+/^$/d' >> $MO_NAME_NEW
KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null`
- if [ x"$KDE3_HTML" != x -a -d "$TOP_DIR$KDE3_HTML" ]; then
+ if [ x"$KDE3_HTML" != x ] && [ -d "$TOP_DIR$KDE3_HTML" ]; then
@@ -193,7 +203,7 @@ s:'"$TOP_DIR"'::
'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
s:^\([^%].*\)::
diff --git a/findsupplements.diff b/findsupplements.diff
index b5eb730..c45c0e1 100644
--- a/findsupplements.diff
+++ b/findsupplements.diff
@@ -1,25 +1,25 @@
---- ./scripts/Makefile.am.orig 2018-07-02 14:43:19.345357110 +0000
-+++ ./scripts/Makefile.am 2018-07-02 14:43:47.245284542 +0000
-@@ -17,7 +17,7 @@ EXTRA_DIST = \
- python-macro-helper \
+--- ./scripts/Makefile.am.orig 2019-06-26 14:17:31.452985634 +0000
++++ ./scripts/Makefile.am 2019-10-02 12:27:55.885450155 +0000
+@@ -16,7 +16,7 @@ EXTRA_DIST = \
+ perl.prov perl.req pythondeps.sh pythondistdeps.py \
rpmdb_loadcvt rpm.daily rpm.log rpm.supp rpm2cpio.sh \
tgpg vpkg-provides.sh \
- find-requires find-provides \
+ find-requires find-provides find-supplements \
find-requires.php find-provides.php \
- mono-find-requires mono-find-provides \
ocaml-find-requires.sh ocaml-find-provides.sh \
-@@ -32,7 +32,7 @@ rpmconfig_SCRIPTS = \
+ pkgconfigdeps.sh libtooldeps.sh metainfo.prov \
+@@ -29,7 +29,7 @@ rpmconfig_SCRIPTS = \
check-files check-prereqs \
check-buildroot check-rpaths check-rpaths-worker \
debuginfo.prov \
- find-lang.sh find-requires find-provides \
+ find-lang.sh find-requires find-provides find-supplements \
perl.prov perl.req pythondeps.sh pythondistdeps.py \
- python-macro-helper \
metainfo.prov \
---- ./scripts/find-supplements.orig 2018-07-02 14:43:12.877373928 +0000
-+++ ./scripts/find-supplements 2018-07-02 14:43:59.325253127 +0000
+ pkgconfigdeps.sh libtooldeps.sh \
+--- ./scripts/find-supplements.orig 2019-10-02 12:27:55.885450155 +0000
++++ ./scripts/find-supplements 2019-10-02 12:27:55.885450155 +0000
@@ -0,0 +1,3 @@
+#!/bin/sh
+
diff --git a/getncpus.diff b/getncpus.diff
deleted file mode 100644
index 0abfde4..0000000
--- a/getncpus.diff
+++ /dev/null
@@ -1,109 +0,0 @@
---- ./configure.ac.orig 2019-02-07 14:26:10.800566817 +0000
-+++ ./configure.ac 2019-02-07 14:26:30.944514306 +0000
-@@ -770,6 +770,7 @@ AC_CHECK_FUNCS(lutimes)
- AC_CHECK_FUNCS(mergesort)
- AC_CHECK_FUNCS(getauxval)
- AC_CHECK_FUNCS(setprogname, [], [], [#include ])
-+AC_CHECK_FUNCS(sched_getaffinity, [], [], [#include ])
-
- AC_MSG_CHECKING([whether __progname is defined])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([extern const char *__progname;],
---- ./macros.in.orig 2019-02-07 14:20:03.257524913 +0000
-+++ ./macros.in 2019-02-07 14:22:46.105100409 +0000
-@@ -1056,7 +1056,7 @@ package or when debugging this package.\
-
- #------------------------------------------------------------------------------
- # The "make" analogue, hiding the _smp_mflags magic from specs
--%make_build %{__make} %{_make_output_sync} %{?_smp_mflags}
-+%make_build %{__make} %{_make_output_sync} %{?_smp_mflags} V=1 VERBOSE=1
-
- #------------------------------------------------------------------------------
- # The make install analogue of %configure for modern autotools:
---- ./platform.in.orig 2019-02-07 14:23:06.641046876 +0000
-+++ ./platform.in 2019-02-07 14:41:12.462256547 +0000
-@@ -50,11 +50,17 @@
-
- # Maximum number of CPU's to use when building, 0 for unlimited.
- #%_smp_ncpus_max 0
--%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\
-- && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
-+
-+%_smp_build_ncpus %([ -z "$RPM_BUILD_NCPUS" ] \\\
-+ && RPM_BUILD_NCPUS="%{getncpus}"; \\\
- ncpus_max=%{?_smp_ncpus_max}; \\\
- if [ -n "$ncpus_max" ] && [ "$ncpus_max" -gt 0 ] && [ "$RPM_BUILD_NCPUS" -gt "$ncpus_max" ]; then RPM_BUILD_NCPUS="$ncpus_max"; fi; \\\
-- if [ "$RPM_BUILD_NCPUS" -gt 1 ]; then echo "-j$RPM_BUILD_NCPUS"; fi)
-+ echo "$RPM_BUILD_NCPUS";)
-+
-+%_smp_mflags -j%{_smp_build_ncpus}
-+
-+# Enable LTO optimization with a maximal parallelism
-+%_lto_cflags -flto=%{_smp_build_ncpus}
-
- #==============================================================================
- # ---- Build policy macros.
---- ./rpmio/macro.c.orig 2019-02-07 14:26:48.768468081 +0000
-+++ ./rpmio/macro.c 2019-02-07 14:38:59.286597550 +0000
-@@ -12,6 +12,9 @@
- extern char *optarg;
- extern int optind;
- #endif
-+#if HAVE_SCHED_GETAFFINITY
-+#include
-+#endif
-
- #if !defined(isblank)
- #define isblank(_c) ((_c) == ' ' || (_c) == '\t')
-@@ -445,6 +448,23 @@ exit:
- _free(buf);
- }
-
-+static unsigned int getncpus(void)
-+{
-+ unsigned int ncpus = 0;
-+#if HAVE_SCHED_GETAFFINITY
-+ cpu_set_t set;
-+ if (sched_getaffinity (0, sizeof(set), &set) == 0)
-+ ncpus = CPU_COUNT(&set);
-+#endif
-+ /* Fallback to sysconf() if the above isn't supported or didn't work */
-+ if (ncpus < 1)
-+ ncpus = sysconf(_SC_NPROCESSORS_ONLN);
-+ /* If all else fails, there's always the one we're running on... */
-+ if (ncpus < 1)
-+ ncpus = 1;
-+ return ncpus;
-+}
-+
- /**
- * Parse (and execute) new macro definition.
- * @param mb macro expansion state
-@@ -975,6 +995,9 @@ doFoo(MacroBuf mb, int negate, const cha
- } else if (STREQ("getconfdir", f, fn)) {
- sprintf(buf, "%s", rpmConfigDir());
- b = buf;
-+ } else if (STREQ("getncpus", f, fn)) {
-+ sprintf(buf, "%u", getncpus());
-+ b = buf;
- } else if (STREQ("S", f, fn)) {
- for (b = buf; (c = *b) && risdigit(c);)
- b++;
-@@ -1271,6 +1294,7 @@ expandMacro(MacroBuf mb, const char *src
- STREQ("u2p", f, fn) ||
- STREQ("getenv", f, fn) ||
- STREQ("getconfdir", f, fn) ||
-+ STREQ("getncpus", f, fn) ||
- STREQ("S", f, fn) ||
- STREQ("P", f, fn) ||
- STREQ("F", f, fn))
---- ./rpmio/rpmio.c.orig 2019-02-07 14:39:20.886542242 +0000
-+++ ./rpmio/rpmio.c 2019-02-07 14:39:41.670489024 +0000
-@@ -796,7 +796,7 @@ static LZFILE *lzopen_internal(const cha
- #ifdef HAVE_LZMA_MT
- } else {
- if (threads == -1)
-- threads = sysconf(_SC_NPROCESSORS_ONLN);
-+ threads = rpmExpandNumeric("%{getncpus}");
- lzma_mt mt_options = {
- .flags = 0,
- .threads = threads,
diff --git a/ignore-auxv.diff b/ignore-auxv.diff
index cea4dd9..0b0de33 100644
--- a/ignore-auxv.diff
+++ b/ignore-auxv.diff
@@ -1,6 +1,6 @@
---- ./lib/rpmrc.c.orig 2014-07-03 15:11:48.572096075 +0000
-+++ ./lib/rpmrc.c 2014-09-17 12:04:27.330717791 +0000
-@@ -79,10 +79,12 @@ struct rpmOption {
+--- ./lib/rpmrc.c.orig 2019-06-26 14:17:31.416985688 +0000
++++ ./lib/rpmrc.c 2019-10-02 09:52:05.076903733 +0000
+@@ -79,11 +79,13 @@ struct rpmOption {
int localize;
};
@@ -8,21 +8,22 @@
static struct rpmat_s {
const char *platform;
uint64_t hwcap;
+ uint64_t hwcap2;
} rpmat;
+#endif
typedef struct defaultEntry_s {
char * name;
-@@ -936,7 +938,7 @@ static int is_geode(void)
+@@ -950,7 +952,7 @@ static int is_geode(void)
#endif
-#if defined(__linux__)
+#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP)))
- /**
- * Populate rpmat structure with auxv values
- */
-@@ -993,7 +995,7 @@ static void defaultMachine(rpmrcCtx ctx,
+ #ifndef AT_HWCAP2 /* glibc < 2.18 */
+ #define AT_HWCAP2 26
+ #endif
+@@ -1013,7 +1015,7 @@ static void defaultMachine(rpmrcCtx ctx,
canonEntry canon;
int rc;
diff --git a/macrosin.diff b/macrosin.diff
index 026443e..e8efb9c 100644
--- a/macrosin.diff
+++ b/macrosin.diff
@@ -1,6 +1,6 @@
---- ./macros.in.orig 2018-07-02 14:46:14.912900534 +0000
-+++ ./macros.in 2018-07-02 14:50:35.356223235 +0000
-@@ -184,7 +184,7 @@
+--- ./macros.in.orig 2019-10-02 11:13:35.966773848 +0000
++++ ./macros.in 2019-10-02 11:17:37.210282271 +0000
+@@ -177,7 +177,7 @@
%{?_unique_build_ids:--build-id-seed "%{VERSION}-%{RELEASE}"} \\\
%{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
%{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
@@ -9,7 +9,7 @@
%{?_find_debuginfo_opts} \\\
%{?_debugsource_packages:-S debugsourcefiles.list} \\\
"%{_builddir}/%{?buildsubdir}"\
-@@ -224,7 +224,8 @@ package or when debugging this package.\
+@@ -217,7 +217,8 @@ package or when debugging this package.\
%endif\
%{nil}
@@ -19,7 +19,7 @@
%_defaultlicensedir %{_datadir}/licenses
# Following macros for filtering auto deps must not be used in spec files.
-@@ -278,7 +279,8 @@ package or when debugging this package.\
+@@ -276,7 +277,8 @@ package or when debugging this package.\
%_tmppath %{_var}/tmp
# Path to top of build area.
@@ -29,8 +29,8 @@
# The path to the unzip executable (legacy, use %{__unzip} instead).
%_unzipbin %{__unzip}
-@@ -382,7 +384,7 @@ package or when debugging this package.\
- # "w6.lzdio" lzma-alone level 6, lzma's default
+@@ -388,7 +390,7 @@ package or when debugging this package.\
+ # "w.ufdio" uncompressed
#
#%_source_payload w9.gzdio
-#%_binary_payload w9.gzdio
@@ -38,7 +38,7 @@
# Algorithm to use for generating file checksum digests on build.
# If not specified or 0, MD5 is used.
-@@ -489,6 +491,19 @@ package or when debugging this package.\
+@@ -495,6 +497,19 @@ package or when debugging this package.\
#
#%_include_minidebuginfo 1
@@ -58,7 +58,7 @@
#
# Include a .gdb_index section in the .debug files.
# Requires _enable_debug_packages and gdb-add-index installed.
-@@ -521,7 +536,7 @@ package or when debugging this package.\
+@@ -527,7 +542,7 @@ package or when debugging this package.\
# 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
@@ -67,7 +67,7 @@
# Whether build-ids should be made unique between package version/releases
# when generating debuginfo packages. If set to 1 this will pass
-@@ -550,10 +565,10 @@ package or when debugging this package.\
+@@ -556,10 +571,10 @@ package or when debugging this package.\
%_unique_debug_srcs 1
# Whether rpm should put debug source files into its own subpackage
@@ -80,7 +80,7 @@
#
# Use internal dependency generator rather than external helpers?
-@@ -566,6 +581,10 @@ package or when debugging this package.\
+@@ -572,6 +587,10 @@ package or when debugging this package.\
# Directories whose contents should be considered as documentation.
%__docdir_path %{_datadir}/doc:%{_datadir}/man:%{_datadir}/info:%{_datadir}/gtk-doc/html:%{?_docdir}:%{?_mandir}:%{?_infodir}:%{?_javadocdir}:/usr/doc:/usr/man:/usr/info:/usr/X11R6/man
@@ -91,7 +91,7 @@
#
# Path to scripts to autogenerate package dependencies,
#
-@@ -576,6 +595,7 @@ package or when debugging this package.\
+@@ -582,6 +601,7 @@ package or when debugging this package.\
%__find_requires %{_rpmconfigdir}/find-requires
#%__find_conflicts ???
#%__find_obsoletes ???
@@ -99,7 +99,7 @@
#
# Path to file attribute classifications for automatic dependency
-@@ -654,10 +674,10 @@ package or when debugging this package.\
+@@ -660,10 +680,10 @@ package or when debugging this package.\
# Misc BDB tuning options
%__dbi_other mp_mmapsize=128Mb mp_size=1Mb
@@ -112,7 +112,7 @@
#==============================================================================
# ---- GPG/PGP/PGP5 signature macros.
-@@ -969,7 +989,7 @@ package or when debugging this package.\
+@@ -1000,7 +1020,7 @@ package or when debugging this package.\
%_build_vendor %{_host_vendor}
%_build_os %{_host_os}
%_host @host@
@@ -121,13 +121,13 @@
%_host_cpu @host_cpu@
%_host_vendor @host_vendor@
%_host_os @host_os@
-@@ -1095,7 +1115,9 @@ package or when debugging this package.\
+@@ -1119,7 +1139,9 @@ package or when debugging this package.\
#------------------------------------------------------------------------------
# arch macro for all supported ARM processors
--%arm armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
-+%arm armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
-+%arml armv3l armv4l armv5l armv5tel armv6l armv6hl armv7l armv7hl armv7hnl
+-%arm armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl
++%arm armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl
++%arml armv3l armv4l armv5l armv5tel armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl
+%armb armv4b armv5b armv5teb
#------------------------------------------------------------------------------
diff --git a/mono-find-requires.diff b/mono-find-requires.diff
deleted file mode 100644
index c097272..0000000
--- a/mono-find-requires.diff
+++ /dev/null
@@ -1,17 +0,0 @@
---- scripts/mono-find-requires
-+++ scripts/mono-find-requires
-@@ -42,8 +42,12 @@
- (START==1) && /^\tName=/ {
- sub(/Name=/, "", $1);
- LIBNAME=$1
--
-- print "mono(" LIBNAME ") = " VERSION
-+ # Allow rpm deps to be resolved for 1.0 profile version
-+ if (VERSION=="1.0.3300.0")
-+ OP=">="
-+ else
-+ OP="="
-+ print "mono(" LIBNAME ") " OP " " VERSION
- START=0
- }
- ') 2> /dev/null
diff --git a/nameversioncompare.diff b/nameversioncompare.diff
deleted file mode 100644
index e76a69a..0000000
--- a/nameversioncompare.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-Also compare the name/arch and not only the version when checking if
-two packages are the same. rh#104066
-
---- ./lib/depends.c.orig 2014-06-26 06:51:54.163820067 +0000
-+++ ./lib/depends.c 2014-08-04 12:22:24.030575105 +0000
-@@ -158,6 +158,24 @@ static int skipColor(rpm_color_t tscolor
- return tscolor && color && ocolor && !(color & ocolor);
- }
-
-+static int rpmNameVersionCompare(Header first, Header second)
-+{
-+ const char * one, * two;
-+ int rc;
-+
-+ one = headerGetString(first, RPMTAG_NAME);
-+ two = headerGetString(second, RPMTAG_NAME);
-+ rc = strcmp(one, two);
-+ if (rc)
-+ return rc;
-+ one = headerGetString(first, RPMTAG_ARCH);
-+ two = headerGetString(second, RPMTAG_ARCH);
-+ rc = strcmp(one, two);
-+ if (rc)
-+ return rc;
-+ return rpmVersionCompare(first, second);
-+}
-+
- /* Add erase elements for older packages of same color (if any). */
- static int addSelfErasures(rpmts ts, rpm_color_t tscolor, int op,
- rpmte p, rpm_color_t hcolor, Header h)
-@@ -172,7 +190,7 @@ static int addSelfErasures(rpmts ts, rpm
- if (skipColor(tscolor, hcolor, headerGetNumber(oh, RPMTAG_HEADERCOLOR)))
- continue;
-
-- cmp = rpmVersionCompare(h, oh);
-+ cmp = rpmNameVersionCompare(h, oh);
-
- /* On upgrade, skip packages that contain identical NEVR. */
- if ((op == RPMTE_UPGRADE) && (cmp == 0))
diff --git a/nomagiccheck.diff b/nomagiccheck.diff
index 368fbcf..7d56f44 100644
--- a/nomagiccheck.diff
+++ b/nomagiccheck.diff
@@ -1,13 +1,13 @@
Don't let rpm complain about a missing /etc/magic.mgc file
---- build/rpmfc.c.orig 2013-07-12 12:16:40.000000000 +0000
-+++ build/rpmfc.c 2013-07-12 12:17:15.000000000 +0000
-@@ -901,7 +901,7 @@ static int initAttrs(rpmfc fc)
+--- ./build/rpmfc.c.orig 2019-10-02 11:41:15.063357579 +0000
++++ ./build/rpmfc.c 2019-10-02 11:41:42.583298884 +0000
+@@ -1065,7 +1065,7 @@ static int initAttrs(rpmfc fc)
rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
{
- int msflags = MAGIC_CHECK | MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS;
+ int msflags = MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS;
- magic_t ms = NULL;
+ int nerrors = 0;
rpmRC rc = RPMRC_FAIL;
diff --git a/noprereqdeprec.diff b/noprereqdeprec.diff
index a6bc0ba..21ab5fe 100644
--- a/noprereqdeprec.diff
+++ b/noprereqdeprec.diff
@@ -1,20 +1,20 @@
---- ./build/parsePreamble.c.orig 2017-12-01 15:42:35.766392406 +0000
-+++ ./build/parsePreamble.c 2017-12-01 15:43:29.364237520 +0000
-@@ -996,7 +996,7 @@ static struct PreambleRec_s const preamb
- {RPMTAG_SUGGESTNAME, 0, 0, LEN_AND_STR("suggests")},
- {RPMTAG_SUPPLEMENTNAME, 0, 0, LEN_AND_STR("supplements")},
- {RPMTAG_ENHANCENAME, 0, 0, LEN_AND_STR("enhances")},
-- {RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")},
-+ {RPMTAG_PREREQ, 2, 0, LEN_AND_STR("prereq")},
- {RPMTAG_CONFLICTNAME, 0, 0, LEN_AND_STR("conflicts")},
- {RPMTAG_OBSOLETENAME, 0, 0, LEN_AND_STR("obsoletes")},
- {RPMTAG_PREFIXES, 0, 0, LEN_AND_STR("prefixes")},
-@@ -1005,7 +1005,7 @@ static struct PreambleRec_s const preamb
- {RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarchitectures")},
- {RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarch")},
- {RPMTAG_BUILDCONFLICTS, 0, 0, LEN_AND_STR("buildconflicts")},
-- {RPMTAG_BUILDPREREQ, 0, 1, LEN_AND_STR("buildprereq")},
-+ {RPMTAG_BUILDPREREQ, 0, 0, LEN_AND_STR("buildprereq")},
- {RPMTAG_BUILDREQUIRES, 0, 0, LEN_AND_STR("buildrequires")},
- {RPMTAG_AUTOREQPROV, 0, 0, LEN_AND_STR("autoreqprov")},
- {RPMTAG_AUTOREQ, 0, 0, LEN_AND_STR("autoreq")},
+--- ./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")},
diff --git a/python-rpm.changes b/python-rpm.changes
index 8d8a63f..f427ace 100644
--- a/python-rpm.changes
+++ b/python-rpm.changes
@@ -1,4 +1,14 @@
-------------------------------------------------------------------
+Tue Nov 19 11:09:08 CET 2019 - mls@suse.de
+
+- update to rpm-4.15.1
+
+-------------------------------------------------------------------
+Wed Oct 2 14:53:19 CEST 2019 - mls@suse.de
+
+- update to rpm-4.15.0
+
+-------------------------------------------------------------------
Thu Nov 22 09:50:36 UTC 2018 - asmorodskyi@suse.com
- Fix python-module compatibility with older distros
diff --git a/python-rpm.spec b/python-rpm.spec
index b354212..ab6775b 100644
--- a/python-rpm.spec
+++ b/python-rpm.spec
@@ -21,14 +21,13 @@
%global with_python 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-rpm
-Version: 4.14.2.1
+Version: 4.15.1
Release: 0
Summary: Python Bindings for Manipulating RPM Packages
License: GPL-2.0-or-later
Group: Development/Libraries/Python
URL: https://rpm.org/
#Git-Clone: https://github.com/rpm-software-management/rpm
-Source99: rpm.spec
BuildRequires: %{python_module devel}
BuildRequires: file-devel
BuildRequires: libacl-devel
@@ -47,6 +46,7 @@ BuildRequires: zlib-devel
BuildRequires: pkgconfig(libzstd)
Requires: rpm = %{version}
%{expand:%(sed -n -e '/^Source:/,/^BuildRoot:/p' <%{_sourcedir}/rpm.spec)}
+Source99: rpm.spec
%if "%{python_flavor}" == "python2"
Obsoletes: rpm-python < %{version}-%{release}
Provides: rpm-python = %{version}-%{release}
diff --git a/pythondistdeps.diff b/pythondistdeps.diff
index 8428fe6..ca4d46e 100644
--- a/pythondistdeps.diff
+++ b/pythondistdeps.diff
@@ -1,7 +1,8 @@
---- ./scripts/pythondistdeps.py.orig 2018-08-08 13:40:18.173941320 +0000
-+++ ./scripts/pythondistdeps.py 2018-10-16 09:30:49.271004917 +0000
-@@ -1,4 +1,3 @@
+--- ./scripts/pythondistdeps.py.orig 2019-06-26 10:17:31.454985631 -0400
++++ ./scripts/pythondistdeps.py 2019-10-31 16:30:37.685850605 -0400
+@@ -1,4 +1,4 @@
-#!/usr/bin/python
++#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Copyright 2010 Per Øyvind Karlsen
diff --git a/refreshtestarch.diff b/refreshtestarch.diff
index ea748bd..8612d9b 100644
--- a/refreshtestarch.diff
+++ b/refreshtestarch.diff
@@ -1,14 +1,9 @@
Also test architecture in "refresh" test when not colored. This allows
updates to different architectures.
---- ./lib/psm.c.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./lib/psm.c 2012-06-01 10:22:24.000000000 +0000
-@@ -680,13 +680,14 @@ void rpmpsmNotify(rpmpsm psm, int what,
- */
- static void markReplacedInstance(rpmts ts, rpmte te)
- {
-+ /* this must match rpmNameVersionCompare in depends.c */
- rpmdbMatchIterator mi = rpmtsInitIterator(ts, RPMDBI_NAME, rpmteN(te), 0);
+--- ./lib/psm.c.orig 2019-10-02 09:54:56.180565818 +0000
++++ ./lib/psm.c 2019-10-02 09:55:02.700552941 +0000
+@@ -518,9 +518,9 @@ static void markReplacedInstance(rpmts t
rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_STRCMP, rpmteE(te));
rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_STRCMP, rpmteV(te));
rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_STRCMP, rpmteR(te));
diff --git a/requires-ge-macro.diff b/requires-ge-macro.diff
index e94f0a2..7c75588 100644
--- a/requires-ge-macro.diff
+++ b/requires-ge-macro.diff
@@ -1,12 +1,12 @@
---- ./macros.in.orig 2011-05-11 15:36:05.000000000 +0000
-+++ ./macros.in 2011-05-11 15:38:44.000000000 +0000
-@@ -1027,7 +1027,8 @@ done \
- # %{perl_sitearch}/Image
- # %dir %{perl_sitearch}/auto/Image
- #
--%requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
-+%requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
-+%requires_ge() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
- %perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch)
- %perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib)
- %perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+--- ./macros.in.orig 2019-10-02 11:33:19.956358174 +0000
++++ ./macros.in 2019-10-02 11:35:01.496144862 +0000
+@@ -1312,5 +1312,9 @@ end}
+ %{expand:%__scm_setup_%{__scm} %{!-v:-q}}\
+ %{!-N:%autopatch %{-v} %{-p:-p%{-p*}}}
+
++# XXX: to be moved to rpm-config-SUSE
++%requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
++%requires_ge() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
++
+ # \endverbatim
+ #*/
diff --git a/rpm-4.14.2.1.tar.bz2 b/rpm-4.14.2.1.tar.bz2
deleted file mode 120000
index d7f7848..0000000
--- a/rpm-4.14.2.1.tar.bz2
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiabipjvntj5rw3m2jcvazizhkyhyg5dkrturw3ecnxffurqhbklou
\ No newline at end of file
diff --git a/rpm-4.15.1.tar.bz2 b/rpm-4.15.1.tar.bz2
new file mode 120000
index 0000000..8a401d0
--- /dev/null
+++ b/rpm-4.15.1.tar.bz2
@@ -0,0 +1 @@
+/ipfs/bafybeiaxjf7pqu5giweeilarjd34wdxab7v5ucrsssoauxjje62fsepq7a
\ No newline at end of file
diff --git a/rpm-shorten-changelog.diff b/rpm-shorten-changelog.diff
index 28402d1..db4aaff 100644
--- a/rpm-shorten-changelog.diff
+++ b/rpm-shorten-changelog.diff
@@ -1,7 +1,7 @@
---- ./build/pack.c.orig 2017-10-11 12:39:53.009897937 +0000
-+++ ./build/pack.c 2017-12-04 16:02:29.299440578 +0000
-@@ -641,6 +641,71 @@ static rpmRC checkPackages(char *pkgchec
- return RPMRC_OK;
+--- ./build/pack.c.orig 2019-06-26 14:17:31.395985720 +0000
++++ ./build/pack.c 2019-10-02 11:31:05.908639084 +0000
+@@ -743,11 +743,78 @@ static rpmRC packageBinary(rpmSpec spec,
+ return rc;
}
+static void trimChangelog(Header h)
@@ -71,18 +71,17 @@
+
rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
{
- rpmRC rc;
-@@ -648,6 +713,7 @@ rpmRC packageBinaries(rpmSpec spec, cons
+ rpmRC rc = RPMRC_OK;
Package pkg;
- char *pkglist = NULL;
+ trimChangelog(spec->packages->header);
- for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
- char *fn;
-
---- ./build/parseChangelog.c.orig 2017-10-05 10:04:56.859602170 +0000
-+++ ./build/parseChangelog.c 2017-12-04 14:47:41.249346774 +0000
-@@ -255,6 +255,11 @@ static rpmRC addChangelog(Header h, ARGV
++
+ /* Run binary creation in parallel */
+ #pragma omp parallel
+ #pragma omp single
+--- ./build/parseChangelog.c.orig 2019-06-26 14:17:31.395985720 +0000
++++ ./build/parseChangelog.c 2019-10-02 11:29:26.684840735 +0000
+@@ -253,6 +253,11 @@ static rpmRC addChangelog(Header h, ARGV
goto exit;
}
diff --git a/rpm.changes b/rpm.changes
index d50138f..16acd2d 100644
--- a/rpm.changes
+++ b/rpm.changes
@@ -1,4 +1,64 @@
-------------------------------------------------------------------
+Fri Dec 6 15:30:48 CET 2019 - mls@suse.de
+
+- disable pythondist requires generator for now
+ * modified patch: fileattrs.diff
+
+-------------------------------------------------------------------
+Wed Nov 20 11:56:20 CET 2019 - mls@suse.de
+
+- drop python3-setuptools dependency from rpm-build, the package
+ is not part of ring-0
+
+-------------------------------------------------------------------
+Tue Nov 19 11:09:08 CET 2019 - mls@suse.de
+
+- update to rpm-4.15.1
+ * bugfix release
+- dropped patches:
+ * fix_lua_cflags.diff
+
+-------------------------------------------------------------------
+Tue Nov 5 16:25:53 UTC 2019 - Neal Gompa
+
+- Fix shebang for pythondistdeps.py to use Python 3
+ + Modify patch: pythondistdeps.diff
+- Move pythondistdeps dependency generator to rpm-build
+- Add python3-setuptools and python3 dependencies to rpm-build for pythondistdeps
+
+-------------------------------------------------------------------
+Tue Oct 29 14:42:26 UTC 2019 - Ignaz Forster
+
+- Declare /var/lib/rpm as a ghost file (it is a link to /usr/lib/sysimage/rpm
+ generated in post script for quite some time now) [boo#1132796]
+
+-------------------------------------------------------------------
+Wed Oct 2 14:53:19 CEST 2019 - mls@suse.de
+
+- update to rpm-4.15.0
+ * dynamic build dependencies
+ * support for %elif, %elifos and %elifarch statements in spec
+ * caret version operator (the opposite of tilde)
+ * new %patchlist and %sourcelist spec sections
+ * new %{expr:#} built-in macro for evaluating expressions
+ * new %dnl macro primitive for comments
+- dropped patches:
+ * 0001-Stop-papering-over-the-security-disaster-known-as-pr.patch
+ * 0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch
+ * adopt-language-specific-build_fooflags-macros-from-F.patch
+ * auto-config-update-riscv64.diff
+ * debugedit-macro.diff
+ * dwz-compression.patch
+ * getncpus.diff
+ * nameversioncompare.diff
+ * mono-find-requires.diff
+ * rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch
+ * set-flto=auto-by-default.patch
+ * source_date_epoch_buildtime.diff
+- new patches:
+ * fix_lua_cflags.diff
+
+-------------------------------------------------------------------
Wed Aug 28 11:17:12 UTC 2019 - Fabian Vogt
- Split librpmbuild into a separate subpackage, it's pulled in by
diff --git a/rpm.spec b/rpm.spec
index a352b15..dc561b4 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -19,7 +19,7 @@
#Compat macro for new _fillupdir macro introduced in Nov 2017
%{?!_fillupdir:%define _fillupdir /var/adm/fillup-templates}
-%global librpmsover 8
+%global librpmsover 9
Name: rpm
BuildRequires: binutils
@@ -57,11 +57,11 @@ Requires: /usr/bin/awk
Summary: The RPM Package Manager
License: GPL-2.0-or-later
Group: System/Packages
-Version: 4.14.2.1
+Version: 4.15.1
Release: 0
URL: https://rpm.org/
#Git-Clone: https://github.com/rpm-software-management/rpm
-Source: http://ftp.rpm.org/releases/rpm-4.14.x/rpm-%{version}.tar.bz2
+Source: http://ftp.rpm.org/releases/rpm-4.15.x/rpm-%{version}.tar.bz2
Source1: RPM-HOWTO.tar.bz2
Source5: rpmsort
Source8: rpmconfigcheck
@@ -79,7 +79,6 @@ Patch5: usr-lib-sysimage-rpm.patch
Patch11: debugedit.diff
Patch13: ignore-auxv.diff
Patch12: localetag.diff
-Patch14: nameversioncompare.diff
Patch15: dbfsync.diff
Patch16: dbrointerruptable.diff
Patch18: refreshtestarch.diff
@@ -116,7 +115,6 @@ Patch69: nobuildcolor.diff
Patch70: fileattrs.diff
Patch71: nomagiccheck.diff
Patch73: assumeexec.diff
-Patch74: mono-find-requires.diff
Patch75: rpm-deptracking.patch
Patch77: langnoc.diff
Patch78: headerchk2.diff
@@ -127,19 +125,9 @@ Patch99: enable-postin-scripts-error.diff
Patch100: rpm-findlang-inject-metainfo.patch
Patch102: emptymanifest.diff
Patch103: find-lang-qt-qm.patch
-Patch108: debugedit-macro.diff
Patch109: pythondistdeps.diff
-Patch114: source_date_epoch_buildtime.diff
Patch117: findsupplements.diff
-Patch118: dwz-compression.patch
-Patch119: getncpus.diff
-Patch120: rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch
-Patch121: adopt-language-specific-build_fooflags-macros-from-F.patch
-Patch122: 0001-Stop-papering-over-the-security-disaster-known-as-pr.patch
-Patch123: 0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch
-Patch124: set-flto=auto-by-default.patch
Patch6464: auto-config-update-aarch64-ppc64le.diff
-Patch6465: auto-config-update-riscv64.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
# avoid bootstrapping problem
@@ -212,6 +200,10 @@ Requires: xz
# drop candidates
Requires: cpio
Requires: file
+# for pythondistdeps generator
+Requires: python3-base
+# The point of the split
+Conflicts: rpm < 4.15.0
%description build
If you want to build a rpm, you need this package. It provides rpmbuild
@@ -234,29 +226,21 @@ rm -f rpmdb/db.h
%patch3 -p1
%patch -P 4
%patch5 -p1
-%patch -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 18
+%patch -P 11 -P 12 -P 13 -P 15 -P 16 -P 18
%patch -P 20 -P 21 -P 24 -P 25 -P 26 -P 27 -P 29
%patch -P 30 -P 32 -P 33 -P 34 -P 35 -P 36 -P 38
%patch -P 43 -P 45 -P 46 -P 47 -P 49
%patch -P 51 -P 55 -P 56 -P 57 -P 58
%patch -P 60 -P 61 -P 66 -P 67 -P 68 -P 69
-%patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 77 -P 78
+%patch -P 70 -P 71 -P 73 -P 75 -P 77 -P 78
%patch -P 85
%patch -P 93 -P 94 -P 99
-%patch -P 100 -P 102 -P 103 -P 108
-%patch -P 109 -P 114 -P 117 -P 118
-%patch -P 119 -P 120
-%patch121 -p1
-%patch122 -p1
-%patch123 -p1
-%patch124 -p1
+%patch -P 100 -P 102 -P 103
+%patch -P 109 -P 117
%ifarch aarch64 ppc64le riscv64
%patch6464
%endif
-%ifarch riscv64
-%patch6465
-%endif
cp config.guess config.sub db/dist/
cp config.guess config.sub beecrypt/
@@ -286,13 +270,17 @@ popd
autoreconf -fi
./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
---libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --with-lua \
---without-external-db \
+--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib \
+--with-lua \
--with-vendor=suse \
--with-rundir=/run \
--without-archive \
---with-selinux --with-internal-beecrypt \
---with-acl --with-cap --enable-shared %{?with_python: --enable-python} $BUILDTARGET
+--with-selinux \
+--with-internal-beecrypt \
+--with-acl \
+--with-cap \
+--enable-zstd \
+--enable-shared %{?with_python: --enable-python} $BUILDTARGET
rm po/de.gmo
make %{?_smp_mflags}
@@ -327,7 +315,6 @@ for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do
chmod 755 %{buildroot}/usr/src/packages/RPMS/$dd
done
mkdir -p %{buildroot}/usr/lib/sysimage/rpm
-mkdir -p %{buildroot}/var/lib/rpm
gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18]
export RPM_BUILD_ROOT
%ifarch s390x
@@ -386,6 +373,7 @@ if test ! -L var/lib/rpm -a -f var/lib/rpm/Packages -a ! -f usr/lib/sysimage/rpm
fi
test -f usr/lib/sysimage/rpm/Packages || rpmdb --initdb
+test -e var/lib/rpm || ln -s ../../usr/lib/sysimage/rpm var/lib/rpm
%posttrans
# var/lib/rpm migration
@@ -405,7 +393,8 @@ if test ! -L var/lib/rpm ; then
mv -f var/lib/rpm/.[!.]* usr/lib/sysimage/rpm/
mv -f var/lib/rpm/* usr/lib/sysimage/rpm/
fi
- rmdir var/lib/rpm && ln -s ../../usr/lib/sysimage/rpm var/lib/rpm
+ test -d var/lib/rpm && rmdir var/lib/rpm
+ test -e var/lib/rpm || ln -s ../../usr/lib/sysimage/rpm var/lib/rpm
fi
%files -f rpm.lang
@@ -428,6 +417,8 @@ fi
%exclude /usr/lib/rpm/brp-*
%exclude /usr/lib/rpm/check-*
%exclude /usr/lib/rpm/*find*
+ %exclude /usr/lib/rpm/fileattrs/pythondist.attr
+ %exclude /usr/lib/rpm/pythondistdeps.py
/usr/sbin/rpmconfigcheck
/usr/lib/systemd/system/rpmconfigcheck.service
/usr/lib/rpm
@@ -438,7 +429,7 @@ fi
%doc %{_mandir}/man[18]/*.[18]*
%dir /usr/lib/sysimage
%dir /usr/lib/sysimage/rpm
-%dir /var/lib/rpm
+%ghost /var/lib/rpm
%dir %attr(755,root,root) /usr/src/packages/BUILD
%dir %attr(755,root,root) /usr/src/packages/SPECS
%dir %attr(755,root,root) /usr/src/packages/SOURCES
@@ -465,6 +456,8 @@ fi
/usr/lib/rpm/brp-*
/usr/lib/rpm/check-*
/usr/lib/rpm/*find*
+/usr/lib/rpm/fileattrs/pythondist.attr
+/usr/lib/rpm/pythondistdeps.py
%files devel
%defattr(644,root,root,755)
diff --git a/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch b/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch
deleted file mode 100644
index 158ba4b..0000000
--- a/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0d2176c9a3ae44fd0a67c9983b1a5ba0a00388fd Mon Sep 17 00:00:00 2001
-From: Igor Gnatenko
-Date: Mon, 15 Oct 2018 19:49:57 +0200
-Subject: [PATCH] rpmfc: push name/epoch/version/release macro before invoking
- depgens
-
-Fixes: https://github.com/rpm-software-management/rpm/issues/502
-Signed-off-by: Igor Gnatenko
----
- build/rpmfc.c | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git build/rpmfc.c build/rpmfc.c
-index 2fbfc69ab..eccd6582a 100644
---- build/rpmfc.c
-+++ build/rpmfc.c
-@@ -1334,9 +1334,31 @@ static rpmRC rpmfcApplyExternal(rpmfc fc)
- return rc;
- }
-
-+typedef const struct macroExport_s {
-+ const char * name;
-+ rpmTagVal tag;
-+} * macroExport;
-+
-+static struct macroExport_s const macroExportList[] = {
-+ { "name", RPMTAG_NAME },
-+ { "epoch", RPMTAG_EPOCH },
-+ { "version", RPMTAG_VERSION },
-+ { "release", RPMTAG_RELEASE },
-+ { NULL, 0 }
-+};
-+
- rpmRC rpmfcApply(rpmfc fc)
- {
- rpmRC rc;
-+ Package pkg = fc->pkg;
-+ macroExport me;
-+ for (me = macroExportList; me->name; me++) {
-+ char *val = headerGetAsString(pkg->header, me->tag);
-+ if (val) {
-+ rpmPushMacro(NULL, me->name, NULL, val, RMIL_SPEC);
-+ free(val);
-+ }
-+ }
- /* If new-fangled dependency generation is disabled ... */
- if (!rpmExpandNumeric("%{?_use_internal_dependency_generator}")) {
- /* ... then generate dependencies using %{__find_requires} et al. */
-@@ -1347,6 +1369,9 @@ rpmRC rpmfcApply(rpmfc fc)
- /* ... otherwise generate per-file dependencies */
- rc = rpmfcApplyInternal(fc);
- }
-+ for (me = macroExportList; me->name; me++)
-+ if (headerIsEntry(pkg->header, me->tag))
-+ rpmPopMacro(NULL, me->name);
- return rc;
- }
-
diff --git a/rpmrc.diff b/rpmrc.diff
index daa7bf4..21db092 100644
--- a/rpmrc.diff
+++ b/rpmrc.diff
@@ -1,5 +1,5 @@
---- ./rpmrc.in.orig 2017-10-05 10:04:57.571602038 +0000
-+++ ./rpmrc.in 2017-12-01 15:03:23.956144776 +0000
+--- ./rpmrc.in.orig 2019-06-26 14:17:31.451985635 +0000
++++ ./rpmrc.in 2019-10-02 11:24:49.601403844 +0000
@@ -12,16 +12,16 @@
# "fat" binary with both archs, for Darwin
optflags: fat -O2 -g -arch i386 -arch ppc
@@ -65,9 +65,9 @@
-optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16
+optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mthumb -mabi=aapcs-linux
optflags: armv7hnl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=neon
-
- optflags: m68k -O2 -g -fomit-frame-pointer
-@@ -91,8 +92,8 @@ optflags: atariclone -O2 -g -fomit-frame
+ optflags: armv8l -O2 -g -march=armv8-a
+ optflags: armv8hl -O2 -g -march=armv8-a -mfloat-abi=hard -mfpu=vfpv4
+@@ -95,8 +96,8 @@ optflags: atariclone -O2 -g -fomit-frame
optflags: milan -O2 -g -fomit-frame-pointer
optflags: hades -O2 -g -fomit-frame-pointer
@@ -78,7 +78,7 @@
optflags: sh3 -O2 -g
optflags: sh4 -O2 -g -mieee
-@@ -288,17 +289,17 @@ os_canon: MacOSX: macosx 21
+@@ -300,17 +301,17 @@ os_canon: MacOSX: macosx 21
#############################################################
# For a given uname().machine, the default build arch
@@ -104,7 +104,7 @@
buildarchtranslate: i486: i386
buildarchtranslate: i386: i386
-@@ -320,6 +321,7 @@ buildarchtranslate: sparc64v: sparc64
+@@ -332,6 +333,7 @@ buildarchtranslate: sparc64v: sparc64
buildarchtranslate: osfmach3_ppc: ppc
buildarchtranslate: powerpc: ppc
buildarchtranslate: powerppc: ppc
@@ -112,7 +112,7 @@
buildarchtranslate: ppc8260: ppc
buildarchtranslate: ppc8560: ppc
buildarchtranslate: ppc32dy4: ppc
-@@ -381,6 +383,15 @@ buildarchtranslate: aarch64: aarch64
+@@ -398,6 +400,15 @@ buildarchtranslate: arm64: aarch64
buildarchtranslate: riscv: riscv64
buildarchtranslate: riscv64: riscv64
@@ -128,7 +128,7 @@
#############################################################
# Architecture compatibility
-@@ -445,15 +456,21 @@ arch_compat: mips64r6el: mipsr6el
+@@ -462,16 +473,20 @@ arch_compat: mips64r6el: mipsr6el
arch_compat: hppa2.0: hppa1.2
arch_compat: hppa1.2: hppa1.1
arch_compat: hppa1.1: hppa1.0
@@ -140,9 +140,8 @@
+arch_compat: armv5teb: armv5b
+arch_compat: armv5b: armv4b
arch_compat: armv4b: noarch
-+arch_compat: armv7hl: armv7l
+ arch_compat: armv8l: armv7l
arch_compat: armv7l: armv6l
-+arch_compat: armv6hl: armv6l
arch_compat: armv6l: armv5tejl
arch_compat: armv5tejl: armv5tel
arch_compat: armv5tel: armv5tl
@@ -152,7 +151,7 @@
arch_compat: armv4tl: armv4l
arch_compat: armv4l: armv3l
arch_compat: armv3l: noarch
-@@ -475,7 +492,7 @@ arch_compat: i370: noarch
+@@ -497,7 +512,7 @@ arch_compat: i370: noarch
arch_compat: s390: noarch
arch_compat: s390x: s390 noarch
@@ -161,17 +160,7 @@
arch_compat: x86_64: amd64 em64t athlon noarch
arch_compat: amd64: x86_64 em64t athlon noarch
-@@ -578,7 +595,9 @@ buildarch_compat: mips64r6: noarch
- buildarch_compat: mips64r6el: noarch
-
- buildarch_compat: armv4b: noarch
-+buildarch_compat: armv7hl: armv7l
- buildarch_compat: armv7l: armv6l
-+buildarch_compat: armv6hl: armv6l
- buildarch_compat: armv6l: armv5tejl
- buildarch_compat: armv5tejl: armv5tel armv5tl
- buildarch_compat: armv5tel: armv4tl armv5tl
-@@ -594,7 +613,8 @@ buildarch_compat: armv6hl: noarch
+@@ -623,7 +638,8 @@ buildarch_compat: armv6hl: noarch
buildarch_compat: hppa2.0: hppa1.2
buildarch_compat: hppa1.2: hppa1.1
buildarch_compat: hppa1.1: hppa1.0
diff --git a/safeugid.diff b/safeugid.diff
index 1181fc6..0ce2e16 100644
--- a/safeugid.diff
+++ b/safeugid.diff
@@ -1,211 +1,214 @@
---- ./lib/rpmchroot.c.orig 2012-11-07 12:55:24.000000000 +0000
-+++ ./lib/rpmchroot.c 2014-02-20 12:50:05.360815211 +0000
-@@ -66,6 +66,7 @@ int rpmChrootIn(void)
- } else if (rootState.chrootDone == 0) {
- if (chdir("/") == 0 && chroot(rootState.rootDir) == 0) {
- rootState.chrootDone = 1;
-+ rpmugChroot(1);
- } else {
- rpmlog(RPMLOG_ERR, _("Unable to change root directory: %m\n"));
- rc = -1;
-@@ -91,6 +92,7 @@ int rpmChrootOut(void)
- } else if (rootState.chrootDone == 1) {
- if (chroot(".") == 0 && fchdir(rootState.cwd) == 0) {
- rootState.chrootDone = 0;
-+ rpmugChroot(0);
- } else {
- rpmlog(RPMLOG_ERR, _("Unable to restore root directory: %m\n"));
- rc = -1;
---- ./lib/rpmug.c.orig 2014-02-05 13:04:37.000000000 +0000
-+++ ./lib/rpmug.c 2014-02-20 12:50:05.361815211 +0000
-@@ -10,6 +10,47 @@
- #include "lib/rpmug.h"
- #include "debug.h"
-
-+#if defined(__GLIBC__)
-+
-+static int inchroot;
-+
-+/*
-+ * Unfortunatelly glibc caches nss/nscd data and there is no
-+ * good way to flush those caches when we did a chroot(). Thus
-+ * we need to parse /etc/passwd and /etc/group ourselfs.
-+ */
-+static int safe_lookup(const char * file, const char * name)
-+{
-+ FILE *fp;
-+ int l;
-+ char buf[4096], *p;
-+
-+ if (!name || !*name)
-+ return -1;
-+ l = strlen(name);
-+ if ((fp = fopen(file, "r")) == 0)
-+ return -1;
-+ while ((p = fgets(buf, sizeof(buf), fp)) != 0) {
-+ if (*p == '#')
-+ continue;
-+ while (*p && (*p == ' ' || *p == '\t'))
-+ p++;
-+ if (strncmp(p, name, l) != 0 || p[l] != ':')
-+ continue;
-+ p = strchr(p + l + 1, ':');
-+ if (!p)
-+ continue;
-+ fclose(fp);
-+ p++;
-+ while (*p && (*p == ' ' || *p == '\t'))
-+ p++;
-+ return atoi(p);
-+ }
-+ fclose(fp);
-+ return -1;
-+}
-+#endif
-+
- /*
- * These really ought to use hash tables. I just made the
- * guess that most files would be owned by root or the same person/group
-@@ -43,17 +84,28 @@ int rpmugUid(const char * thisUname, uid
- lastUnameAlloced = thisUnameLen + 10;
- lastUname = xrealloc(lastUname, lastUnameAlloced); /* XXX memory leak */
- }
-- strcpy(lastUname, thisUname);
-
-- pwent = getpwnam(thisUname);
-- if (pwent == NULL) {
-- /* FIX: shrug */
-- endpwent();
-+#if defined(__GLIBC__)
-+ if (inchroot) {
-+ int uid = safe_lookup("/etc/passwd", thisUname);
-+ if (uid < 0)
-+ return -1;
-+ lastUid = uid;
-+ } else
-+#endif
-+ {
- pwent = getpwnam(thisUname);
-- if (pwent == NULL) return -1;
-+ if (pwent == NULL) {
-+ /* FIX: shrug */
-+ endpwent();
-+ pwent = getpwnam(thisUname);
-+ if (pwent == NULL) return -1;
-+ }
-+ lastUid = pwent->pw_uid;
- }
-
-- lastUid = pwent->pw_uid;
-+ strcpy(lastUname, thisUname);
-+ lastUnameLen = thisUnameLen;
- }
-
- *uid = lastUid;
-@@ -86,18 +138,29 @@ int rpmugGid(const char * thisGname, gid
- lastGnameAlloced = thisGnameLen + 10;
- lastGname = xrealloc(lastGname, lastGnameAlloced); /* XXX memory leak */
- }
-- strcpy(lastGname, thisGname);
-
-- grent = getgrnam(thisGname);
-- if (grent == NULL) {
-- /* FIX: shrug */
-- endgrent();
-+#if defined(__GLIBC__)
-+ if (inchroot) {
-+ int gid = safe_lookup("/etc/group", thisGname);
-+ if (gid < 0)
-+ return -1;
-+ lastGid = gid;
-+ } else
-+#endif
-+ {
- grent = getgrnam(thisGname);
- if (grent == NULL) {
-- return -1;
-+ /* FIX: shrug */
-+ endgrent();
-+ grent = getgrnam(thisGname);
-+ if (grent == NULL) {
-+ return -1;
-+ }
- }
-+ lastGid = grent->gr_gid;
- }
-- lastGid = grent->gr_gid;
-+ strcpy(lastGname, thisGname);
-+ lastGnameLen = thisGnameLen;
- }
-
- *gid = lastGid;
-@@ -109,7 +172,7 @@ const char * rpmugUname(uid_t uid)
- {
- static uid_t lastUid = (uid_t) -1;
- static char * lastUname = NULL;
-- static size_t lastUnameLen = 0;
-+ static size_t lastUnameAlloced = 0;
-
- if (uid == (uid_t) -1) {
- lastUid = (uid_t) -1;
-@@ -126,9 +189,9 @@ const char * rpmugUname(uid_t uid)
-
- lastUid = uid;
- len = strlen(pwent->pw_name);
-- if (lastUnameLen < len + 1) {
-- lastUnameLen = len + 20;
-- lastUname = xrealloc(lastUname, lastUnameLen);
-+ if (lastUnameAlloced < len + 1) {
-+ lastUnameAlloced = len + 20;
-+ lastUname = xrealloc(lastUname, lastUnameAlloced);
- }
- strcpy(lastUname, pwent->pw_name);
-
-@@ -140,7 +203,7 @@ const char * rpmugGname(gid_t gid)
- {
- static gid_t lastGid = (gid_t) -1;
- static char * lastGname = NULL;
-- static size_t lastGnameLen = 0;
-+ static size_t lastGnameAlloced = 0;
-
- if (gid == (gid_t) -1) {
- lastGid = (gid_t) -1;
-@@ -157,9 +220,9 @@ const char * rpmugGname(gid_t gid)
-
- lastGid = gid;
- len = strlen(grent->gr_name);
-- if (lastGnameLen < len + 1) {
-- lastGnameLen = len + 20;
-- lastGname = xrealloc(lastGname, lastGnameLen);
-+ if (lastGnameAlloced < len + 1) {
-+ lastGnameAlloced = len + 20;
-+ lastGname = xrealloc(lastGname, lastGnameAlloced);
- }
- strcpy(lastGname, grent->gr_name);
-
-@@ -189,3 +252,16 @@ void rpmugFree(void)
- rpmugUname(-1);
- rpmugGname(-1);
- }
-+
-+void rpmugChroot(int in)
-+{
-+ /* tell libc to drop caches / file descriptors */
-+ endpwent();
-+ endgrent();
-+ /* drop our own caches */
-+ rpmugUid(NULL, NULL);
-+ rpmugGid(NULL, NULL);
-+#if defined(__GLIBC__)
-+ inchroot = in;
-+#endif
-+}
---- ./lib/rpmug.h.orig 2014-02-05 13:04:02.000000000 +0000
-+++ ./lib/rpmug.h 2014-02-20 12:50:05.362815211 +0000
-@@ -15,4 +15,6 @@ int rpmugInit(void);
-
- void rpmugFree(void);
-
-+void rpmugChroot(int in);
-+
- #endif /* _RPMUG_H */
+--- ../safeugid.diff 2019-10-02 13:37:13.191868203 +0200
++++ P 2019-10-02 13:36:09.036002978 +0200
+@@ -0,0 +1,211 @@
++--- ./lib/rpmchroot.c.orig 2019-06-26 14:17:31.411985696 +0000
+++++ ./lib/rpmchroot.c 2019-10-02 11:35:58.788024507 +0000
++@@ -126,6 +126,7 @@ int rpmChrootIn(void)
++
++ if (chdir("/") == 0 && chroot(rootState.rootDir) == 0) {
++ rootState.chrootDone = 1;
+++ rpmugChroot(1);
++ } else {
++ rpmlog(RPMLOG_ERR, _("Unable to change root directory: %m\n"));
++ rc = -1;
++@@ -151,6 +152,7 @@ int rpmChrootOut(void)
++ } else if (rootState.chrootDone == 1) {
++ if (chroot(".") == 0 && fchdir(rootState.cwd) == 0) {
++ rootState.chrootDone = 0;
+++ rpmugChroot(0);
++ } else {
++ rpmlog(RPMLOG_ERR, _("Unable to restore root directory: %m\n"));
++ rc = -1;
++--- ./lib/rpmug.c.orig 2019-06-26 14:17:31.418985685 +0000
+++++ ./lib/rpmug.c 2019-10-02 11:35:58.788024507 +0000
++@@ -11,6 +11,47 @@
++ #include "lib/rpmug.h"
++ #include "debug.h"
++
+++#if defined(__GLIBC__)
+++
+++static int inchroot;
+++
+++/*
+++ * Unfortunatelly glibc caches nss/nscd data and there is no
+++ * good way to flush those caches when we did a chroot(). Thus
+++ * we need to parse /etc/passwd and /etc/group ourselfs.
+++ */
+++static int safe_lookup(const char * file, const char * name)
+++{
+++ FILE *fp;
+++ int l;
+++ char buf[4096], *p;
+++
+++ if (!name || !*name)
+++ return -1;
+++ l = strlen(name);
+++ if ((fp = fopen(file, "r")) == 0)
+++ return -1;
+++ while ((p = fgets(buf, sizeof(buf), fp)) != 0) {
+++ if (*p == '#')
+++ continue;
+++ while (*p && (*p == ' ' || *p == '\t'))
+++ p++;
+++ if (strncmp(p, name, l) != 0 || p[l] != ':')
+++ continue;
+++ p = strchr(p + l + 1, ':');
+++ if (!p)
+++ continue;
+++ fclose(fp);
+++ p++;
+++ while (*p && (*p == ' ' || *p == '\t'))
+++ p++;
+++ return atoi(p);
+++ }
+++ fclose(fp);
+++ return -1;
+++}
+++#endif
+++
++ /*
++ * These really ought to use hash tables. I just made the
++ * guess that most files would be owned by root or the same person/group
++@@ -44,17 +85,28 @@ int rpmugUid(const char * thisUname, uid
++ lastUnameAlloced = thisUnameLen + 10;
++ lastUname = xrealloc(lastUname, lastUnameAlloced); /* XXX memory leak */
++ }
++- strcpy(lastUname, thisUname);
++
++- pwent = getpwnam(thisUname);
++- if (pwent == NULL) {
++- /* FIX: shrug */
++- endpwent();
+++#if defined(__GLIBC__)
+++ if (inchroot) {
+++ int uid = safe_lookup("/etc/passwd", thisUname);
+++ if (uid < 0)
+++ return -1;
+++ lastUid = uid;
+++ } else
+++#endif
+++ {
++ pwent = getpwnam(thisUname);
++- if (pwent == NULL) return -1;
+++ if (pwent == NULL) {
+++ /* FIX: shrug */
+++ endpwent();
+++ pwent = getpwnam(thisUname);
+++ if (pwent == NULL) return -1;
+++ }
+++ lastUid = pwent->pw_uid;
++ }
++
++- lastUid = pwent->pw_uid;
+++ strcpy(lastUname, thisUname);
+++ lastUnameLen = thisUnameLen;
++ }
++
++ *uid = lastUid;
++@@ -87,18 +139,29 @@ int rpmugGid(const char * thisGname, gid
++ lastGnameAlloced = thisGnameLen + 10;
++ lastGname = xrealloc(lastGname, lastGnameAlloced); /* XXX memory leak */
++ }
++- strcpy(lastGname, thisGname);
++
++- grent = getgrnam(thisGname);
++- if (grent == NULL) {
++- /* FIX: shrug */
++- endgrent();
+++#if defined(__GLIBC__)
+++ if (inchroot) {
+++ int gid = safe_lookup("/etc/group", thisGname);
+++ if (gid < 0)
+++ return -1;
+++ lastGid = gid;
+++ } else
+++#endif
+++ {
++ grent = getgrnam(thisGname);
++ if (grent == NULL) {
++- return -1;
+++ /* FIX: shrug */
+++ endgrent();
+++ grent = getgrnam(thisGname);
+++ if (grent == NULL) {
+++ return -1;
+++ }
++ }
+++ lastGid = grent->gr_gid;
++ }
++- lastGid = grent->gr_gid;
+++ strcpy(lastGname, thisGname);
+++ lastGnameLen = thisGnameLen;
++ }
++
++ *gid = lastGid;
++@@ -110,7 +173,7 @@ const char * rpmugUname(uid_t uid)
++ {
++ static uid_t lastUid = (uid_t) -1;
++ static char * lastUname = NULL;
++- static size_t lastUnameLen = 0;
+++ static size_t lastUnameAlloced = 0;
++
++ if (uid == (uid_t) -1) {
++ lastUid = (uid_t) -1;
++@@ -127,9 +190,9 @@ const char * rpmugUname(uid_t uid)
++
++ lastUid = uid;
++ len = strlen(pwent->pw_name);
++- if (lastUnameLen < len + 1) {
++- lastUnameLen = len + 20;
++- lastUname = xrealloc(lastUname, lastUnameLen);
+++ if (lastUnameAlloced < len + 1) {
+++ lastUnameAlloced = len + 20;
+++ lastUname = xrealloc(lastUname, lastUnameAlloced);
++ }
++ strcpy(lastUname, pwent->pw_name);
++
++@@ -141,7 +204,7 @@ const char * rpmugGname(gid_t gid)
++ {
++ static gid_t lastGid = (gid_t) -1;
++ static char * lastGname = NULL;
++- static size_t lastGnameLen = 0;
+++ static size_t lastGnameAlloced = 0;
++
++ if (gid == (gid_t) -1) {
++ lastGid = (gid_t) -1;
++@@ -158,9 +221,9 @@ const char * rpmugGname(gid_t gid)
++
++ lastGid = gid;
++ len = strlen(grent->gr_name);
++- if (lastGnameLen < len + 1) {
++- lastGnameLen = len + 20;
++- lastGname = xrealloc(lastGname, lastGnameLen);
+++ if (lastGnameAlloced < len + 1) {
+++ lastGnameAlloced = len + 20;
+++ lastGname = xrealloc(lastGname, lastGnameAlloced);
++ }
++ strcpy(lastGname, grent->gr_name);
++
++@@ -192,3 +255,16 @@ void rpmugFree(void)
++ rpmugUname(-1);
++ rpmugGname(-1);
++ }
+++
+++void rpmugChroot(int in)
+++{
+++ /* tell libc to drop caches / file descriptors */
+++ endpwent();
+++ endgrent();
+++ /* drop our own caches */
+++ rpmugUid(NULL, NULL);
+++ rpmugGid(NULL, NULL);
+++#if defined(__GLIBC__)
+++ inchroot = in;
+++#endif
+++}
++--- ./lib/rpmug.h.orig 2019-06-26 14:17:31.418985685 +0000
+++++ ./lib/rpmug.h 2019-10-02 11:35:58.788024507 +0000
++@@ -15,4 +15,6 @@ int rpmugInit(void);
++
++ void rpmugFree(void);
++
+++void rpmugChroot(int in);
+++
++ #endif /* _RPMUG_H */
diff --git a/set-flto=auto-by-default.patch b/set-flto=auto-by-default.patch
deleted file mode 100644
index e8fcc4f..0000000
--- a/set-flto=auto-by-default.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/platform.in b/platform.in
-index fa3921f..cff01e1 100644
---- a/platform.in
-+++ b/platform.in
-@@ -60,7 +60,7 @@
- %_smp_mflags -j%{_smp_build_ncpus}
-
- # Enable LTO optimization with a maximal parallelism
--%_lto_cflags -flto=%{_smp_build_ncpus}
-+%_lto_cflags -flto=auto
-
- #==============================================================================
- # ---- Build policy macros.
diff --git a/source_date_epoch_buildtime.diff b/source_date_epoch_buildtime.diff
deleted file mode 100644
index e08fce5..0000000
--- a/source_date_epoch_buildtime.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./build/pack.c.orig 2018-03-27 12:21:03.036841297 +0000
-+++ ./build/pack.c 2018-03-27 12:29:56.050400820 +0000
-@@ -161,7 +161,7 @@ static rpm_time_t * getBuildTime(void)
-
- if (buildTime[0] == 0) {
- 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/suspendlock.diff b/suspendlock.diff
index 0947093..6082f6f 100644
--- a/suspendlock.diff
+++ b/suspendlock.diff
@@ -2,8 +2,8 @@ Suspend exclusive database lock when scriptlets get called, allowing
read access in scriptlets. Only needed for DB_PRIVATE (aka global)
locking.
---- ./lib/backend/db3.c.orig 2017-12-01 14:27:03.193486711 +0000
-+++ ./lib/backend/db3.c 2017-12-01 14:27:23.747426200 +0000
+--- ./lib/backend/db3.c.orig 2019-10-02 09:56:46.416347458 +0000
++++ ./lib/backend/db3.c 2019-10-02 09:56:52.084335992 +0000
@@ -552,6 +552,46 @@ static void db3_dbSetFSync(rpmdb rdb, in
static int db3_Ctrl(rpmdb rdb, dbCtrlOp ctrl)
@@ -51,8 +51,8 @@ locking.
return 0;
}
---- ./lib/backend/dbi.h.orig 2017-12-01 14:27:03.193486711 +0000
-+++ ./lib/backend/dbi.h 2017-12-01 14:27:23.747426200 +0000
+--- ./lib/backend/dbi.h.orig 2019-10-02 09:56:46.416347458 +0000
++++ ./lib/backend/dbi.h 2019-10-02 09:56:52.084335992 +0000
@@ -17,7 +17,9 @@ typedef enum dbCtrlOp_e {
DB_CTRL_UNLOCK_RO = 2,
DB_CTRL_LOCK_RW = 3,
@@ -64,9 +64,9 @@ locking.
} dbCtrlOp;
typedef struct dbiIndex_s * dbiIndex;
---- ./lib/rpmdb.c.orig 2017-12-01 14:27:03.190486720 +0000
-+++ ./lib/rpmdb.c 2017-12-01 14:27:23.748426197 +0000
-@@ -2639,6 +2639,12 @@ int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl
+--- ./lib/rpmdb.c.orig 2019-10-02 09:56:46.416347458 +0000
++++ ./lib/rpmdb.c 2019-10-02 09:56:52.084335992 +0000
+@@ -2644,6 +2644,12 @@ int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl
case RPMDB_CTRL_INDEXSYNC:
dbctrl = DB_CTRL_INDEXSYNC;
break;
@@ -79,8 +79,8 @@ locking.
}
return dbctrl ? dbCtrl(db, dbctrl) : 1;
}
---- ./lib/rpmdb.h.orig 2017-10-05 10:04:57.035602138 +0000
-+++ ./lib/rpmdb.h 2017-12-01 14:27:23.748426197 +0000
+--- ./lib/rpmdb.h.orig 2019-06-26 14:17:31.412985694 +0000
++++ ./lib/rpmdb.h 2019-10-02 09:56:52.088335984 +0000
@@ -35,7 +35,9 @@ typedef enum rpmdbCtrlOp_e {
RPMDB_CTRL_UNLOCK_RO = 2,
RPMDB_CTRL_LOCK_RW = 3,
@@ -92,24 +92,24 @@ locking.
} rpmdbCtrlOp;
/** \ingroup rpmdb
---- ./lib/transaction.c.orig 2017-12-01 14:27:23.750426192 +0000
-+++ ./lib/transaction.c 2017-12-01 14:28:43.232192224 +0000
-@@ -1457,6 +1457,7 @@ rpmRC runScript(rpmts ts, rpmte te, Head
- stag != RPMTAG_PREUN &&
- stag != RPMTAG_PRETRANS &&
- stag != RPMTAG_VERIFYSCRIPT);
+--- ./lib/transaction.c.orig 2019-10-02 09:56:52.088335984 +0000
++++ ./lib/transaction.c 2019-10-02 09:58:36.956123870 +0000
+@@ -1601,6 +1601,7 @@ rpmRC runScript(rpmts ts, rpmte te, Head
+ rpmTagVal stag = rpmScriptTag(script);
+ FD_t sfd = NULL;
+ int warn_only = !(rpmScriptFlags(script) & RPMSCRIPT_FLAG_CRITICAL);
+ rpmdb rdb = rpmtsGetRdb(ts);
- /* Fake up a transaction element for triggers from rpmdb */
+ /* Create a temporary transaction element for triggers from rpmdb */
if (te == NULL) {
-@@ -1468,10 +1469,12 @@ rpmRC runScript(rpmts ts, rpmte te, Head
+@@ -1612,10 +1613,12 @@ rpmRC runScript(rpmts ts, rpmte te, Head
if (sfd == NULL)
sfd = rpmtsScriptFd(ts);
+ rpmdbCtrl(rdb, RPMDB_CTRL_SUSPEND_DBLOCK);
rpmswEnter(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0);
rc = rpmScriptRun(script, arg1, arg2, sfd,
- prefixes, warn_only, rpmtsPlugins(ts));
+ prefixes, rpmtsPlugins(ts));
rpmswExit(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0);
+ rpmdbCtrl(rdb, RPMDB_CTRL_RESUME_DBLOCK);