[packages/rpm/rpm.org] - finished patch review, some patches require update (mst notableis x32) - switch to openssl and ddb
baggins
baggins at pld-linux.org
Thu Dec 26 16:23:30 CET 2019
commit fb35e2d9d54505d58b8e4787525e5a9c54e49ce8
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Fri Dec 27 00:22:37 2019 +0900
- finished patch review, some patches require update (mst notableis x32)
- switch to openssl and ddb5.3
disable-header-verification.patch | 20 --
do_not_write_before_macro_buffer.patch | 23 ---
extension-based-compression-detection.patch | 29 ---
fast_python_deps.patch | 86 --------
gcc6-stdlib.patch | 31 ---
glibc.patch | 56 -----
py-disable-fetch.patch | 34 ---
python-libx32.patch | 10 -
python-rpmsense-missingok.patch | 12 --
python2_explicit.patch | 11 -
rpm-5.4.15-use-DSA-sig.patch | 11 -
rpm-CVE-2013-6435.patch | 72 -------
rpm-CVE-2014-8118.patch | 11 -
rpm-DB_CONFIG.patch | 13 --
rpm-bug-420.patch | 22 --
rpm-changelog-encoding.patch | 22 --
rpm-clean-docdir.patch | 20 +-
rpm-cppcompat.patch | 56 -----
rpm-db5.2.patch | 29 ---
rpm-disable-hmac-verify.patch | 23 ---
rpm-dont-treat-gstreamer-modules-as-font.patch | 11 -
rpm-double_check_file_deps.patch | 94 ---------
rpm-double_check_unpackaged_subdirs.patch | 46 -----
rpm-file-magic-can-be-mixed-case.patch | 20 --
rpm-file-output-for-ELF.patch | 34 ---
rpm-fix-___build_pre-macro.patch | 22 --
rpm-fix-filedigests-verify.patch | 10 -
rpm-fix-internal-lua-build.patch | 40 ----
rpm-gpg-pinentry.patch | 24 ---
rpm-gst-inspect-typo.patch | 11 -
rpm-ignore-missing-macro-files.patch | 55 +----
rpm-lua-enable-extra-libs.patch | 21 --
rpm-lua-expat.patch | 14 --
rpm-macros.patch | 34 ---
rpm-missing-patch-file-fails-build.patch | 13 --
rpm-null-term-ascii-digest.patch | 19 --
rpm-parseSpec-skip-empty-tags.patch | 11 -
rpm-pattern_Release.patch | 11 -
rpm-payload-use-hashed-inode.patch | 105 ----------
rpm-perl-magic.patch | 16 +-
rpm-preserve-iterator.patch | 23 ---
rpm-preserve-tag-type.patch | 55 -----
rpm-python-enable-compat-RPMSENSE.patch | 11 -
rpm-python-sitescriptdir.patch | 25 ---
rpm-python-spec-header.patch | 56 -----
rpm-pythoneggs.patch | 82 --------
rpm-query-always-noisy.patch | 99 ---------
rpm-remove-misleading-missing-patch-message.patch | 20 --
rpm-repackage-dont-force-max-compression.patch | 11 -
rpm-revert-gpg-argv-parsing.patch | 39 ----
rpm-rpmspec.patch | 239 ----------------------
rpm-rpmtdnext.patch | 12 --
rpm-verify-ghosts-broken-logic.patch | 11 -
rpm.spec | 144 ++-----------
skip-ldconfig-optimization.patch | 74 -------
x32.patch | 163 ++++++++-------
56 files changed, 127 insertions(+), 2139 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index 1b95ba8..fb7b770 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -12,7 +12,7 @@
%bcond_without python # don't build python bindings
%bcond_without selinux # build without selinux support
%bcond_without suggest_tags # build without Suggest tag (bootstrapping)
-%bcond_with db61 # use DB 6.1 instead of 5.2
+%bcond_with db61 # use DB 6.1 instead of 5.3
%bcond_with neon # build with HTTP/WebDAV support (neon library)
%bcond_with sqlite # build with SQLite support
%bcond_without system_pcre # use system pcre
@@ -29,12 +29,12 @@
%define reqdb_ver 6.1
%define reqdb_pkgver 6.1.19
%else
-%define reqdb_pkg db5.2
-%define reqdb_ver 5.2
-%define reqdb_pkgver 5.2.36.0-4
+%define reqdb_pkg db5.3
+%define reqdb_ver 5.3
+%define reqdb_pkgver 5.3.28.0
%endif
%define reqpopt_ver 1.15
-%define beecrypt_ver 2:4.2.0
+%define openssl_ver 1.1.1d
%define sover 5.4
Summary: RPM Package Manager
@@ -103,62 +103,11 @@ Patch29: %{name}-builddir-readlink.patch
Patch30: %{name}-changelog_order_check_nonfatal.patch
Patch35: %{name}-namespace-compare.patch
Patch37: %{name}-postun-nofail.patch
-Patch42: %{name}-pattern_Release.patch
-Patch43: %{name}-fix-___build_pre-macro.patch
-Patch44: %{name}-missing-patch-file-fails-build.patch
-Patch45: %{name}-remove-misleading-missing-patch-message.patch
-Patch46: %{name}-file-magic-can-be-mixed-case.patch
-Patch47: %{name}-query-always-noisy.patch
-Patch48: %{name}-verify-ghosts-broken-logic.patch
-Patch49: %{name}-python-enable-compat-RPMSENSE.patch
-Patch50: %{name}-dont-treat-gstreamer-modules-as-font.patch
-Patch51: %{name}-gst-inspect-typo.patch
-Patch52: %{name}-null-term-ascii-digest.patch
-Patch53: %{name}-lua-enable-extra-libs.patch
-Patch54: %{name}-fix-filedigests-verify.patch
-Patch55: %{name}-disable-hmac-verify.patch
-Patch56: %{name}-macros.patch
-Patch57: %{name}-db5.2.patch
-Patch58: %{name}-preserve-iterator.patch
-Patch59: gcc6-stdlib.patch
-Patch60: %{name}-python-sitescriptdir.patch
Patch61: %{name}-clean-docdir.patch
-Patch62: %{name}-DB_CONFIG.patch
-Patch63: %{name}-pythoneggs.patch
Patch64: %{name}-fix-compress-doc.patch
-Patch65: %{name}-parseSpec-skip-empty-tags.patch
-Patch66: %{name}-payload-use-hashed-inode.patch
-Patch67: %{name}-repackage-dont-force-max-compression.patch
-Patch68: rpm-bug-420.patch
-Patch70: python-%{name}sense-missingok.patch
-Patch71: %{name}-changelog-encoding.patch
-Patch72: %{name}-preserve-tag-type.patch
-Patch74: %{name}-fix-internal-lua-build.patch
-Patch75: %{name}-double_check_file_deps.patch
-Patch77: %{name}-lua-expat.patch
-Patch78: %{name}-double_check_unpackaged_subdirs.patch
-Patch79: %{name}-rpmspec.patch
-Patch80: %{name}-revert-gpg-argv-parsing.patch
Patch81: %{name}-perl-magic.patch
-Patch82: %{name}-5.4.15-use-DSA-sig.patch
Patch83: %{name}-ignore-missing-macro-files.patch
Patch84: x32.patch
-Patch85: rpm-CVE-2013-6435.patch
-Patch86: rpm-CVE-2014-8118.patch
-Patch87: %{name}-file-output-for-ELF.patch
-Patch88: %{name}-rpmtdnext.patch
-Patch89: disable-header-verification.patch
-Patch90: %{name}-cppcompat.patch
-Patch91: py-disable-fetch.patch
-Patch92: fast_python_deps.patch
-Patch93: python2_explicit.patch
-Patch94: do_not_write_before_macro_buffer.patch
-Patch95: rpm-python-spec-header.patch
-Patch96: skip-ldconfig-optimization.patch
-Patch97: glibc.patch
-Patch98: extension-based-compression-detection.patch
-Patch99: %{name}-gpg-pinentry.patch
-Patch100: python-libx32.patch
URL: http://rpm5.org/
BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
@@ -169,7 +118,7 @@ BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
%endif
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.4
-BuildRequires: beecrypt-devel >= %{beecrypt_ver}
+BuildRequires: openssl-devel >= %{openssl_ver}
BuildRequires: bzip2-devel >= 1.0.2-17
BuildRequires: elfutils-devel >= 0.108
BuildRequires: gettext-tools >= 0.19.2
@@ -206,7 +155,7 @@ BuildRequires: tetex-pdftex
%if %{with static}
# Require static library only for static build
BuildRequires: %{reqdb_pkg}-static >= %{reqdb_pkgver}
-BuildRequires: beecrypt-static >= %{beecrypt_ver}
+BuildRequires: openssl-static >= %{openssl_ver}
BuildRequires: bzip2-static >= 1.0.2-17
BuildRequires: elfutils-static
BuildRequires: glibc-static >= 2.2.94
@@ -223,7 +172,7 @@ Requires(posttrans): coreutils
Requires: FHS >= 3.0-2
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
-Requires: beecrypt >= %{beecrypt_ver}
+Requires: openssl >= %{openssl_ver}
Requires: popt >= %{reqpopt_ver}
Provides: rpm-db-ver = %{reqdb_ver}
Obsoletes: rpm-getdeps
@@ -328,7 +277,7 @@ Requires: sqlite3 >= %{sqlite_build_version}
%else
Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver}
%endif
-Requires: beecrypt >= %{beecrypt_ver}
+Requires: openssl >= %{openssl_ver}
Requires: libmagic >= 1.15-2
%{?with_selinux:Requires: libselinux >= 2.1.0}
Requires: popt >= %{reqpopt_ver}
@@ -353,7 +302,7 @@ Summary(uk.UTF-8): Хедери та бібліотеки для програм,
Group: Development/Libraries
Requires: %{name}-lib = %{version}-%{release}
Requires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
-Requires: beecrypt-devel >= %{beecrypt_ver}
+Requires: openssl-devel >= %{openssl_ver}
Requires: bzip2-devel
Requires: elfutils-devel
%{?with_keyutils:Requires: keyutils-devel}
@@ -421,7 +370,7 @@ Summary(uk.UTF-8): Статична бібліотека для програм,
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: %{reqdb_pkg}-static >= %{reqdb_pkgver}
-Requires: beecrypt-static >= %{beecrypt_ver}
+Requires: openssl-static >= %{openssl_ver}
Requires: bzip2-static
Requires: elfutils-static
%{?with_keyutils:Requires: keyutils-static}
@@ -741,74 +690,19 @@ cd -
%patch30 -p1
#%patch35 -p1
%patch37 -p1
-%patch42 -p1
-%patch43 -p1
-%patch44 -p1
-%patch45 -p1
-%patch46 -p1
-%patch47 -p1
-%patch48 -p1
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
-%patch52 -p0
-%patch53 -p1
-%patch54 -p1
-%patch55 -p1
-%patch56 -p1
-%{!?with_db61:%patch57 -p1}
-%patch58 -p1
-%patch59 -p1
-%patch60 -p1
%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch68 -p1
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1
-%patch74 -p1
-%patch75 -p1
-%patch77 -p0
-%patch78 -p1
-%patch79 -p1
-%patch80 -p1
-%patch81 -p0
-%patch82 -p1
-%patch84 -p1
-%patch85 -p1
-%patch86 -p1
-%patch87 -p1
-%patch88 -p1
-%patch89 -p1
-%patch90 -p1
-%patch91 -p1
-%patch99 -p1
-
+#%patch64 -p1
+%patch81 -p1
%patch83 -p1
-%patch92 -p1
-%patch93 -p1
-%patch94 -p1
-%patch95 -p1
-%patch96 -p1
-%patch97 -p1
-%patch98 -p1
-
-%patch100 -p1
+#%patch84 -p1
-install %{SOURCE2} macros/pld.in
+install %{SOURCE2} pld.in
#install %{SOURCE8} scripts/php.prov.in
#install %{SOURCE9} scripts/php.req.in
install %{SOURCE11} scripts/perl.prov.in
cp -p %{SOURCE30} scripts/rubygems.rb
cp -p %{SOURCE31} scripts/gem_helper.rb
-rm scripts/find-php*
-
%{__mv} -f scripts/perl.req{,.in}
# generate Group translations to *.po
@@ -817,7 +711,7 @@ awk -f %{SOURCE6} %{SOURCE1}
install %{SOURCE26} tools/rpmdb_checkversion.c
install %{SOURCE28} tools/rpmdb_reset.c
-for extlib in beecrypt neon %{?with_system_pcre:pcre} popt; do
+for extlib in openssl neon %{?with_system_pcre:pcre} popt; do
[ -d $extlib ] && %{__rm} -r $extlib
done
@@ -834,7 +728,7 @@ sed -i \
-e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
-e 's|@host_cpu@|%{_target_cpu}|' \
-e 's|@host_os@|%{_target_os}|' \
- macros/macros.in
+ macros.in
CPPFLAGS="-I/usr/include/lua51 %{rpmcppflags}"
%configure \
@@ -845,7 +739,7 @@ CPPFLAGS="-I/usr/include/lua51 %{rpmcppflags}"
--enable-shared \
--enable-static \
%{!?with_apidocs:--without-apidocs} \
- --with-beecrypt=external \
+ --with-crypto=openssl \
--with-bugreport="http://bugs.pld-linux.org/" \
--with-bzip2=external \
--with-db=external \
@@ -862,7 +756,7 @@ CPPFLAGS="-I/usr/include/lua51 %{rpmcppflags}"
--with-popt=external \
%{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
%{!?with_python:--without-python} \
- --with-selinux=%{!?with_selinux:no}%{?with_selinux:external} \
+ --with-selinux=%{!?with_selinux:no}%{?with_selinux:yes} \
--with-semanage=%{!?with_selinux:no}%{?with_selinux:external} \
--with-sepol=%{!?with_selinux:no}%{?with_selinux:external} \
--with-sqlite=%{?with_sqlite:yes}%{!?with_sqlite:no} \
diff --git a/disable-header-verification.patch b/disable-header-verification.patch
deleted file mode 100644
index ab553fe..0000000
--- a/disable-header-verification.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2015-February/024241.html
-
---- rpm-5.4.15/lib/verify.c~ 2015-02-11 12:07:41.000000000 +0200
-+++ rpm-5.4.15/lib/verify.c 2015-02-11 17:31:05.418447510 +0200
-@@ -563,6 +563,7 @@
-
- {
- /* Verify header digest/signature. */
-+#if NOTYET
- if (qva->qva_flags & (VERIFY_DIGEST | VERIFY_SIGNATURE))
- {
- const char * horigin = headerGetOrigin(h);
-@@ -577,6 +578,7 @@
- uh = _free(uh);
- msg = _free(msg);
- }
-+#endif
-
- /* Verify file digests. */
- if (fc > 0 && (qva->qva_flags & VERIFY_FILES))
diff --git a/do_not_write_before_macro_buffer.patch b/do_not_write_before_macro_buffer.patch
deleted file mode 100644
index 14fbd82..0000000
--- a/do_not_write_before_macro_buffer.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2015-November/thread.html#24537
-
---- rpm-5.4.15.orig/rpmio/macro.c 2015-11-28 20:47:15.000000000 +0100
-+++ rpm-5.4.15/rpmio/macro.c 2015-11-28 20:51:05.634724202 +0100
-@@ -706,7 +706,9 @@
- FILE *shf;
- int rc;
- int c;
-+ char * start;
-
-+ start = mb->t;
- strncpy(buf, cmd, clen);
- buf[clen] = '\0';
- rc = expandU(mb, buf, bufn);
-@@ -720,7 +722,7 @@
- (void) pclose(shf);
-
- /* XXX delete trailing \r \n */
-- while (iseol(mb->t[-1])) {
-+ while (mb->t > start && iseol(mb->t[-1])) {
- *(mb->t--) = '\0';
- mb->nb++;
- }
diff --git a/extension-based-compression-detection.patch b/extension-based-compression-detection.patch
deleted file mode 100644
index 112b161..0000000
--- a/extension-based-compression-detection.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- rpm-5.4.15/rpmio/macro.c~ 2018-08-19 13:11:28.000000000 +0200
-+++ rpm-5.4.15/rpmio/macro.c 2018-08-19 13:18:39.102655981 +0200
-@@ -3122,7 +3122,7 @@
- ssize_t nb;
- int rc = -1;
- unsigned char magic[13];
--#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_FEDORA) || defined(RPM_VENDOR_MANDRIVA) /* extension-based-compression-detection */
-+#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_FEDORA) || defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_PLD) /* extension-based-compression-detection */
- size_t file_len;
- #endif
-
-@@ -3139,7 +3139,7 @@
- return 0;
- #endif
-
--#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_FEDORA) || defined(RPM_VENDOR_MANDRIVA) /* extension-based-compression-detection */
-+#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_FEDORA) || defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_PLD) /* extension-based-compression-detection */
- file_len = strlen(file);
- if ((file_len > 4 && strcasecmp(file+file_len-4, ".tbz") == 0)
- || (file_len > 4 && strcasecmp(file+file_len-4, ".bz2") == 0)) {
-@@ -3208,7 +3208,7 @@
- && magic[2] == 'Z' && magic[3] == 'O') /* lzop */
- *compressed = COMPRESSED_LZOP;
- else
--#if !defined(RPM_VENDOR_OPENPKG) && !defined(RPM_VENDOR_FEDORA) && !defined(RPM_VENDOR_MANDRIVA) /* extension-based-compression-detection */
-+#if !defined(RPM_VENDOR_OPENPKG) && !defined(RPM_VENDOR_FEDORA) && !defined(RPM_VENDOR_MANDRIVA) && !defined(RPM_VENDOR_PLD) /* extension-based-compression-detection */
- /* XXX Ick, LZMA has no magic. See http://lkml.org/lkml/2005/6/13/285 */
- if (magic[ 9] == (unsigned char) 0x00 && magic[10] == (unsigned char) 0x00 &&
- magic[11] == (unsigned char) 0x00 && magic[12] == (unsigned char) 0x00) /* lzmash */
diff --git a/fast_python_deps.patch b/fast_python_deps.patch
deleted file mode 100644
index f22e1b0..0000000
--- a/fast_python_deps.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -dur -x '*~' -x '*.orig' rpm-5.4.15.orig/lib/rpmfc.c rpm-5.4.15/lib/rpmfc.c
---- rpm-5.4.15.orig/lib/rpmfc.c 2015-11-29 09:57:16.945204643 +0100
-+++ rpm-5.4.15/lib/rpmfc.c 2015-11-29 09:59:24.804768239 +0100
-@@ -604,8 +604,6 @@
- /* XXX "a /usr/bin/python -t script text executable" */
- /* XXX "python 2.3 byte-compiled" */
- { " /usr/bin/python", RPMFC_PYTHON|RPMFC_INCLUDE },
-- { "python ", RPMFC_PYTHON|RPMFC_INCLUDE },
-- { "Python script", RPMFC_PYTHON|RPMFC_INCLUDE },
-
- { "libtool library ", RPMFC_LIBTOOL|RPMFC_INCLUDE },
- { "pkgconfig ", RPMFC_PKGCONFIG|RPMFC_INCLUDE },
-@@ -1114,6 +1112,9 @@
- int i;
- int xx;
- int skipping;
-+ int l;
-+ const char * lastPycDir = NULL;
-+ const char * p;
-
- miRE mire;
- int skipProv = fc->skipProv;
-@@ -1156,8 +1157,29 @@
- if ((fn[0] == '3' && fn[1] == '2') ||
- (fn[0] == '6' && fn[1] == '4'))
- fn += 2;
-- if (!strncmp(fn, "/python", sizeof("/python")-1))
-- fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ if (!strncmp(fn, "/python", sizeof("/python")-1)) {
-+ l = strlen(fn);
-+ if (fn[l-4] == '.' && fn[l-3] == 'p' && fn[l-2] == 'y'
-+ && (fn[l-1] == 'c' || fn[l-1] == 'o')) {
-+ p = strchr(fn, '/');
-+ if (p) {
-+ l = p - fc->fn[fc->ix];
-+ if (!lastPycDir || strncmp(lastPycDir, fc->fn[fc->ix], l)) {
-+ /* one pyc/pyo file per python library directory should be enough to get the dependency */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ lastPycDir = fc->fn[fc->ix];
-+ }
-+ }
-+ }
-+ else if (l > 17 && !strcmp(fn + l - 17, "egg-info/PKG-INFO")) {
-+ /* get all PKG-INFO files for egg-info data */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ }
-+ else if (l > 8 && !strcmp(fn + l - 8, "egg-info")) {
-+ /* get all .egg-info files too */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ }
-+ }
- else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) {
- fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
- if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
-@@ -1184,8 +1206,29 @@
- fn = strstr(fc->fn[fc->ix], "/usr/share");
- if (fn) {
- fn += sizeof("/usr/share")-1;
-- if (!strncmp(fn, "/python", sizeof("/python")-1))
-- fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ if (!strncmp(fn, "/python", sizeof("/python")-1)) {
-+ l = strlen(fn);
-+ if (fn[l-4] == '.' && fn[l-3] == 'p' && fn[l-2] == 'y'
-+ && (fn[l-1] == 'c' || fn[l-1] == 'o')) {
-+ p = strchr(fn, '/');
-+ if (p) {
-+ l = p - fc->fn[fc->ix];
-+ if (!lastPycDir || strncmp(lastPycDir, fc->fn[fc->ix], l)) {
-+ /* one pyc/pyo file per python library directory should be enough to get the dependency */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ lastPycDir = fc->fn[fc->ix];
-+ }
-+ }
-+ }
-+ else if (l > 17 && !strcmp(fn + l - 17, "egg-info/PKG-INFO")) {
-+ /* get all PKG-INFO files for egg-info data */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ }
-+ else if (l > 8 && !strcmp(fn + l - 8, "egg-info")) {
-+ /* get all .egg-info files too */
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ }
-+ }
- else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1) || !strncmp(fn, "/gems/specifications", sizeof("/gems/specifications")-1)) {
- fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
- if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
diff --git a/gcc6-stdlib.patch b/gcc6-stdlib.patch
deleted file mode 100644
index 4274a97..0000000
--- a/gcc6-stdlib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-gcc6 hack
-
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2017-June/025365.html
-https://patchwork.openembedded.org/patch/122245/
-
- ---
-
-gcc6 has fixed a long standing c++ include issue where <cheader>
-was different from <header.h> inclusion via
-
-https://gcc.gnu.org/ml/libstdc++/2016-01/msg00025.html
-
-and its also descibed in https://gcc.gnu.org/gcc-6/porting_to.html
-rpmio component uses some .cpp and .cc fies which need to use
-C stdlib.h from C library and not the C++ libstdc++ header
-therefore we pass _GLIBCXX_INCLUDE_NEXT_C_HEADERS so that it
-keeps the old behavior
---- rpm-5.4.15/rpmio/rpmjni.cc~ 2014-08-09 01:08:50.000000000 +0300
-+++ rpm-5.4.15/rpmio/rpmjni.cc 2017-06-25 16:42:23.383464974 +0300
-@@ -1,3 +1,4 @@
-+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
- #include "system.h"
- #include <rpmlog.h>
- #include <rpmmacro.h>
---- rpm-5.4.15/rpmqv.cc~ 2017-06-25 17:37:53.000000000 +0300
-+++ rpm-5.4.15/rpmqv.cc 2017-06-25 18:01:37.158939691 +0300
-@@ -1,3 +1,4 @@
-+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
- #include "system.h"
- extern const char *__progname;
-
diff --git a/glibc.patch b/glibc.patch
deleted file mode 100644
index 84a9b0f..0000000
--- a/glibc.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -upr rpm-5.4.15.org/rpmio/gzdio.c rpm-5.4.15/rpmio/gzdio.c
---- rpm-5.4.15.org/rpmio/gzdio.c 2012-04-16 05:21:22.000000000 +0200
-+++ rpm-5.4.15/rpmio/gzdio.c 2018-08-11 12:36:48.761296851 +0200
-@@ -380,7 +380,7 @@ static int gzdSeek(void * cookie, _libio
- int rc;
- #if defined(HAVE_GZSEEK)
- #ifdef USE_COOKIE_SEEK_POINTER
-- _IO_off64_t p = *pos;
-+ off64_t p = *pos;
- #else
- off_t p = pos;
- #endif
-diff -upr rpm-5.4.15.org/rpmio/rpmio.c rpm-5.4.15/rpmio/rpmio.c
---- rpm-5.4.15.org/rpmio/rpmio.c 2014-08-05 00:47:16.000000000 +0200
-+++ rpm-5.4.15/rpmio/rpmio.c 2018-08-11 12:36:48.757963417 +0200
-@@ -481,7 +481,7 @@ static int fdSeek(void * cookie, _libio_
- /*@modifies fileSystem, internalState @*/
- {
- #ifdef USE_COOKIE_SEEK_POINTER
-- _IO_off64_t p = *pos;
-+ off64_t p = *pos;
- #else
- off_t p = pos;
- #endif
-@@ -2458,7 +2458,7 @@ int Fseek(FD_t fd, _libio_off_t offset,
- {
- fdio_seek_function_t _seek;
- #ifdef USE_COOKIE_SEEK_POINTER
-- _IO_off64_t o64 = offset;
-+ off64_t o64 = offset;
- _libio_pos_t pos = &o64;
- #else
- _libio_pos_t pos = offset;
-diff -upr rpm-5.4.15.org/rpmio/rpmio.h rpm-5.4.15/rpmio/rpmio.h
---- rpm-5.4.15.org/rpmio/rpmio.h 2014-07-20 01:01:26.000000000 +0200
-+++ rpm-5.4.15/rpmio/rpmio.h 2018-08-11 12:36:48.761296851 +0200
-@@ -1,6 +1,10 @@
- #ifndef H_RPMIO
- #define H_RPMIO
-
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- /** \ingroup rpmio
- * \file rpmio/rpmio.h
- *
-@@ -25,7 +25,7 @@
- #if !defined(__LCLINT__) && !defined(__UCLIBC__) && defined(__GLIBC__) && \
- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))
- #define USE_COOKIE_SEEK_POINTER 1
--typedef _IO_off64_t _libio_off_t;
-+typedef off64_t _libio_off_t;
- typedef _libio_off_t * _libio_pos_t;
- #else
- typedef off_t _libio_off_t;
diff --git a/py-disable-fetch.patch b/py-disable-fetch.patch
deleted file mode 100644
index 6035867..0000000
--- a/py-disable-fetch.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-disable fetching sources.
-annoying if you just want to get .spec structure!
-
-it could be parameter to s.parseSpec(), but as prevous code hardcoded, i'll
-just "hardcode" different value here.
-
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2015-November/024529.html
-
-one could play with '__urlgetfile' macro, and just tell it 'OK':
-%__urlgetfile OK
-
-but then ugly "Fetching" messages are still displayed, which maybe even more confusing.
-
-http://comments.gmane.org/gmane.comp.package-management.rpm.user/159
-
---- rpm-5.4.15/python/rpmts-py.c~ 2014-07-28 00:52:21.000000000 +0300
-+++ rpm-5.4.15/python/rpmts-py.c 2015-11-04 22:00:33.989058412 +0200
-@@ -1333,13 +1333,15 @@
- char * passPhrase = "";
- char *cookie = NULL;
- int anyarch = 1;
-- int verify = 1;
-+ int verify;
- int force = 1;
- char * kwlist[] = {"specfile", NULL};
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "s:Parse", kwlist, &specfile))
- return NULL;
-
-+ verify = rpmExpandNumeric("%{?_py_parsespec_verify}%{?!_py_parsespec_verify:0}");
-+
- if (parseSpec(s->ts, specfile,"/", recursing, passPhrase,
- cookie, anyarch, force, verify)!=0) {
- PyErr_SetString(pyrpmError, "can't parse specfile\n");
diff --git a/python-libx32.patch b/python-libx32.patch
deleted file mode 100644
index 59626dd..0000000
--- a/python-libx32.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- rpm-5.4.15/lib/rpmfc.c.old 2015-02-27 14:41:47.000000000 +0000
-+++ rpm-5.4.15/lib/rpmfc.c 2015-02-27 14:59:44.000000000 +0000
-@@ -1153,6 +1153,7 @@ assert(fc->fn != NULL);
- { fn = strstr(fc->fn[fc->ix], "/usr/lib");
- if (fn) {
- fn += sizeof("/usr/lib")-1;
-+ if (fn[0] == 'x') fn++;
- if ((fn[0] == '3' && fn[1] == '2') ||
- (fn[0] == '6' && fn[1] == '4'))
- fn += 2;
diff --git a/python-rpmsense-missingok.patch b/python-rpmsense-missingok.patch
deleted file mode 100644
index d9a0731..0000000
--- a/python-rpmsense-missingok.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rpm-5.4.10/python/rpmmodule.c~ 2013-04-27 22:07:40.000000000 +0300
-+++ rpm-5.4.10/python/rpmmodule.c 2013-04-27 22:07:54.410867637 +0300
-@@ -500,6 +500,9 @@
- REGISTER_ENUM(RPMSENSE_SCRIPT_PREUN);
- REGISTER_ENUM(RPMSENSE_SCRIPT_POSTUN)
- #endif
-+#if defined(RPM_VENDOR_PLD)
-+ REGISTER_ENUM(RPMSENSE_MISSINGOK);
-+#endif
-
- REGISTER_ENUM(RPMDEPS_FLAG_NOUPGRADE);
- REGISTER_ENUM(RPMDEPS_FLAG_NOREQUIRES);
diff --git a/python2_explicit.patch b/python2_explicit.patch
deleted file mode 100644
index acc6e2e..0000000
--- a/python2_explicit.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.15/configure.ac~ 2015-11-28 13:11:46.816903917 +0100
-+++ rpm-5.4.15/configure.ac 2015-11-28 13:14:39.887776863 +0100
-@@ -604,7 +604,7 @@
- AC_PATH_PROG(__PERL, perl, %{_bindir}/perl, $MYPATH)
- AC_PATH_PROG(__PGP, pgp, %{_bindir}/pgp, $MYPATH)
- AC_PATH_PROG(__PHP, php, %{_bindir}/php, $MYPATH)
--AC_PATH_PROG(__PYTHON, python, %{_bindir}/python, $MYPATH)
-+AC_PATH_PROG(__PYTHON, python2, %{_bindir}/python2, $MYPATH)
- AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
- AC_PATH_PROG(__RMDIR, rmdir, /bin/rmdir, $MYPATH)
- AC_PATH_PROG(__RSH, rsh, %{_bindir}/rsh, $MYPATH)
diff --git a/rpm-5.4.15-use-DSA-sig.patch b/rpm-5.4.15-use-DSA-sig.patch
deleted file mode 100644
index e6d9799..0000000
--- a/rpm-5.4.15-use-DSA-sig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.15/macros/macros.rpmbuild.in~ 2014-11-15 19:23:32.000000000 +0100
-+++ rpm-5.4.15/macros/macros.rpmbuild.in 2014-11-15 19:24:15.545692422 +0100
-@@ -282,7 +282,7 @@
- # ECDSA/SHA384 (using NIST P-384)
- # ECDSA/SHA512 (using NIST P-521)
- #
--%_build_sign RSA/SHA1
-+%_build_sign DSA
-
- #
- # Choose metadata file digest algorithm:
diff --git a/rpm-CVE-2013-6435.patch b/rpm-CVE-2013-6435.patch
deleted file mode 100644
index d96fd44..0000000
--- a/rpm-CVE-2013-6435.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- rpm-5.4.15/rpmio/iosm.c~ 2014-06-11 19:58:04.000000000 +0200
-+++ rpm-5.4.15/rpmio/iosm.c 2015-01-25 21:53:27.659197235 +0100
-@@ -2627,7 +2627,7 @@
- iosm->rfd = NULL;
- break;
- case IOSM_WOPEN:
-- iosm->wfd = Fopen(iosm->path, "w.fdio");
-+ iosm->wfd = Fopen(iosm->path, "wU.fdio");
- if (iosm->wfd == NULL || Ferror(iosm->wfd)) {
- if (iosm->wfd != NULL) (void) iosmNext(iosm, IOSM_WCLOSE);
- iosm->wfd = NULL;
---- rpm-5.4.15/rpmio/rpmio.c~ 2014-08-05 00:47:16.000000000 +0200
-+++ rpm-5.4.15/rpmio/rpmio.c 2015-01-25 21:50:59.409202466 +0100
-@@ -2638,16 +2638,20 @@
- * - bzopen: 'q' sets verbosity to 0
- * - bzopen: 'v' does verbosity++ (up to 4)
- * - HACK: '.' terminates, rest is type of I/O
-+ * - 'U' sets *mode to zero (no permissions) instead of 0666
- */
- static inline void cvtfmode (const char *m,
- /*@out@*/ char *stdio, size_t nstdio,
- /*@out@*/ char *other, size_t nother,
-- /*@out@*/ const char **end, /*@out@*/ int * f)
-+ /*@out@*/ const char **end, /*@out@*/ int * f, mode_t *mode)
- /*@modifies *stdio, *other, *end, *f @*/
- {
- int flags = 0;
- char c;
-
-+ if (mode)
-+ *mode = 0666;
-+
- switch (*m) {
- case 'a':
- flags |= O_WRONLY | O_CREAT | O_APPEND;
-@@ -2661,6 +2665,9 @@
- flags |= O_RDONLY;
- if (--nstdio > 0) *stdio++ = *m;
- break;
-+ case 'U':
-+ if (mode) *mode = 0;
-+ break;
- default:
- *stdio = '\0';
- return;
-@@ -2729,7 +2736,7 @@
- if (fmode == NULL)
- return NULL;
-
-- cvtfmode(fmode, stdio, sizeof(stdio), other, sizeof(other), &end, NULL);
-+ cvtfmode(fmode, stdio, sizeof(stdio), other, sizeof(other), &end, NULL, NULL);
- if (stdio[0] == '\0')
- return NULL;
- zstdio[0] = '\0';
-@@ -2835,7 +2842,7 @@
- const char * fmode = NULL;
- char stdio[20], other[20];
- const char *end = NULL;
-- mode_t perms = 0666;
-+ mode_t perms;
- int flags = 0;
- FD_t fd = NULL;
-
-@@ -2849,7 +2856,7 @@
- fprintf(stderr, "==> Fopen(%s, %s)\n", path, fmode);
-
- stdio[0] = '\0';
-- cvtfmode(fmode, stdio, sizeof(stdio), other, sizeof(other), &end, &flags);
-+ cvtfmode(fmode, stdio, sizeof(stdio), other, sizeof(other), &end, &flags, &perms);
- if (stdio[0] == '\0')
- goto exit;
-
diff --git a/rpm-CVE-2014-8118.patch b/rpm-CVE-2014-8118.patch
deleted file mode 100644
index dfd27f4..0000000
--- a/rpm-CVE-2014-8118.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.15/rpmio/cpio.c.orig 2012-04-16 05:21:22.000000000 +0200
-+++ rpm-5.4.15/rpmio/cpio.c 2015-01-25 15:50:23.017311712 +0100
-@@ -136,7 +136,7 @@
- /*@=shiftimplementation@*/
-
- GET_NUM_FIELD(hdr->namesize, nb);
-- if (nb >= iosm->wrsize)
-+ if (nb <= 0 || nb >= iosm->wrsize)
- return IOSMERR_BAD_HEADER;
-
- /* Read file name. */
diff --git a/rpm-DB_CONFIG.patch b/rpm-DB_CONFIG.patch
deleted file mode 100644
index 238c385..0000000
--- a/rpm-DB_CONFIG.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- rpm-5.4.10/rpmdb/DB_CONFIG.in~ 2012-02-18 20:19:37.000000000 +0100
-+++ rpm-5.4.10/rpmdb/DB_CONFIG.in 2012-11-22 17:32:56.647805060 +0100
-@@ -5,6 +5,10 @@
- set_lg_dir ./log
- set_tmp_dir ./tmp
-
-+# prevent recovery logs (log/log.*) from growing forever and keep only active log by default
-+# this makes BDB "catastrophic" (re-creation of db from logs) recovery impossible
-+log_set_config DB_LOG_AUTO_REMOVE
-+
- # -- thread_count must be >= 8
- set_thread_count 64
-
diff --git a/rpm-bug-420.patch b/rpm-bug-420.patch
deleted file mode 100644
index 9581736..0000000
--- a/rpm-bug-420.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- rpm-5.4.15/rpmdb/legacy.c~ 2019-03-09 00:37:45.000000000 +0100
-+++ rpm-5.4.15/rpmdb/legacy.c 2019-03-09 00:38:28.799270580 +0100
-@@ -113,7 +113,7 @@ ANNOTATE_IGNORE_READS_AND_WRITES_END();
- bingo = 0;
- while (!bingo && (scn = elf_nextscn(elf, scn)) != NULL) {
- (void) gelf_getshdr(scn, &shdr);
-- if (shdr.sh_type != SHT_DYNAMIC)
-+ if (shdr.sh_type != SHT_DYNAMIC || shdr.sh_entsize == 0)
- continue;
- while (!bingo && (data = elf_getdata (scn, data)) != NULL) {
- unsigned maxndx = (unsigned) (data->d_size / shdr.sh_entsize);
---- rpm-5.4.15/lib/rpmds.c~ 2019-03-09 01:04:27.000000000 +0100
-+++ rpm-5.4.15/lib/rpmds.c 2019-03-09 01:11:06.792636867 +0100
-@@ -3187,7 +3187,7 @@ fprintf(stderr, "*** rpmdsELF(%s, %d, %p
- case SHT_DYNAMIC:
- data = NULL;
- while ((data = elf_getdata (scn, data)) != NULL) {
-- for (cnt = 0; cnt < (int)(shdr->sh_size / shdr->sh_entsize); ++cnt) {
-+ for (cnt = 0; shdr->sh_entsize && cnt < (int)(shdr->sh_size / shdr->sh_entsize); ++cnt) {
- dyn = gelf_getdyn (data, cnt, &dyn_mem);
- if (dyn == NULL)
- /*@innerbreak@*/ break;
diff --git a/rpm-changelog-encoding.patch b/rpm-changelog-encoding.patch
deleted file mode 100644
index d48b50f..0000000
--- a/rpm-changelog-encoding.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 1f9882b38b046c7752ec3e1200b17b7edfc995cd
-Author: Kacper Kornet <draenog at pld-linux.org>
-Date: Sat May 4 20:27:19 2013 +0100
-
- Don't use tagFunction during copying headers
-
- It fixes error when the changelog in subpackage was converted
- to encoding determined by environment.
-
-diff --git a/rpmdb/header.c b/rpmdb/header.c
-index 01056c3..1cec5cc 100644
---- a/rpmdb/header.c
-+++ b/rpmdb/header.c
-@@ -2213,7 +2213,7 @@ void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy)
- if (headerIsEntry(headerTo, *tagno))
- continue;
- he->tag = *tagno;
-- if (!headerGet(headerFrom, he, 0))
-+ if (!headerGet(headerFrom, he, HEADERGET_NOEXTENSION))
- continue;
- xx = headerPut(headerTo, he, 0);
- he->p.ptr = _free(he->p.ptr);
diff --git a/rpm-clean-docdir.patch b/rpm-clean-docdir.patch
index 5b8c858..800e2c0 100644
--- a/rpm-clean-docdir.patch
+++ b/rpm-clean-docdir.patch
@@ -1,10 +1,14 @@
--- rpm-5.4.10/build/files.c~ 2013-01-24 14:24:39.161982722 +0100
+++ rpm-5.4.10/build/files.c 2013-01-24 14:27:50.620325354 +0100
-@@ -1045,6 +1045,7 @@
- pkg->specialDoc = rpmiobAppend(pkg->specialDoc, "DOCDIR=\"$RPM_BUILD_ROOT\"", 0);
- pkg->specialDoc = rpmiobAppend(pkg->specialDoc, buf, 1);
- pkg->specialDoc = rpmiobAppend(pkg->specialDoc, "export DOCDIR", 1);
-+ pkg->specialDoc = rpmiobAppend(pkg->specialDoc, "if test -d \"$DOCDIR\" ; then rmdir \"$DOCDIR\" ; fi", 1);
- mkdir_p = rpmExpand("%{?__mkdir_p}%{!?__mkdir_p:mkdir -p}", NULL);
- if (!mkdir_p)
- mkdir_p = xstrdup("mkdir -p");
+@@ -2363,6 +2363,11 @@
+ appendLineStringBuf(docScript, "export LC_ALL=C");
+ appendStringBuf(docScript, "export ");
+ appendLineStringBuf(docScript, sdenv);
++ appendStringBuf(docScript, "if test -d \"$");
++ appendStringBuf(docScript, sdenv);
++ appendStringBuf(docScript, "\" ; then rmdir \"$");
++ appendStringBuf(docScript, sdenv);
++ appendLineStringBuf(docScript, "\" ; fi");
+ appendLineStringBuf(docScript, mkdocdir);
+
+ for (ARGV_const_t fn = sd->files; fn && *fn; fn++) {
diff --git a/rpm-cppcompat.patch b/rpm-cppcompat.patch
deleted file mode 100644
index 2943b79..0000000
--- a/rpm-cppcompat.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- rpm-5.4.15/rpmdb/rpmdb.h.orig 2015-01-27 21:01:38.147301133 +0100
-+++ rpm-5.4.15/rpmdb/rpmdb.h 2015-02-16 20:01:30.571602097 +0100
-@@ -939,7 +939,7 @@
- /*@unused@*/ static inline
- int rpmlgcGet(rpmdb rpmdb, DB_LSN * _lsn, DBT * data, uint32_t flags)
- {
-- DB_LOGC * _logc = rpmdb->db_logc;
-+ DB_LOGC * _logc = (DB_LOGC*)rpmdb->db_logc;
- int rc = (_logc ? _logc->get(_logc, _lsn, data, flags) : ENOTSUP);
- if (_rpmdb_debug)
- fprintf(stderr, "<-- %s(%p,%p,%p,0x%x) rc %d\n", "logc->get", _logc, _lsn, data, flags, rc);
-@@ -949,7 +949,7 @@
- /*@unused@*/ static inline
- int rpmlgcClose(rpmdb rpmdb)
- {
-- DB_LOGC * _logc = rpmdb->db_logc;
-+ DB_LOGC * _logc = (DB_LOGC*)rpmdb->db_logc;
- uint32_t _flags = 0;
- int rc = (_logc ? _logc->close(_logc, _flags) : ENOTSUP);
- rpmdb->db_logc = NULL;
-@@ -1027,7 +1027,7 @@
- /*@unused@*/ static inline
- int rpmmpfClose(rpmdb rpmdb)
- {
-- DB_MPOOLFILE * mpf = rpmdb->db_mpf;
-+ DB_MPOOLFILE * mpf = (DB_MPOOLFILE*)rpmdb->db_mpf;
- uint32_t _flags = 0;
- int rc = (mpf ? mpf->close(mpf, _flags) : ENOTSUP);
- rpmdb->db_mpf = NULL;
-@@ -1039,7 +1039,7 @@
- /*@unused@*/ static inline
- int rpmmpfGet(rpmdb rpmdb, uint32_t * _pgnop, uint32_t _flags, void ** _pagep)
- {
-- DB_MPOOLFILE * mpf = rpmdb->db_mpf;
-+ DB_MPOOLFILE * mpf = (DB_MPOOLFILE*)rpmdb->db_mpf;
- DB_TXN * _txnid = (DB_TXN*)rpmdb->db_txn;
- int rc = mpf->get(mpf, _pgnop, _txnid, _flags, _pagep);
- if (_rpmdb_debug)
-@@ -1073,7 +1073,7 @@
- /*@unused@*/ static inline
- int rpmmpfPut(rpmdb rpmdb, void * _page, uint32_t flags)
- {
-- DB_MPOOLFILE * mpf = rpmdb->db_mpf;
-+ DB_MPOOLFILE * mpf = (DB_MPOOLFILE*)rpmdb->db_mpf;
- uint32_t _priority = DB_PRIORITY_DEFAULT;
- int rc = mpf->put(mpf, _page, (DB_CACHE_PRIORITY)_priority, flags);
- if (_rpmdb_debug)
-@@ -1084,7 +1084,7 @@
- /*@unused@*/ static inline
- int rpmmpfSync(rpmdb rpmdb)
- {
-- DB_MPOOLFILE * mpf = rpmdb->db_mpf;
-+ DB_MPOOLFILE * mpf = (DB_MPOOLFILE*)rpmdb->db_mpf;
- int rc = (mpf ? mpf->sync(mpf) : ENOTSUP);
- if (_rpmdb_debug)
- fprintf(stderr, "<-- %s(%p) rc %d\n", "mpf->close", mpf, rc);
diff --git a/rpm-db5.2.patch b/rpm-db5.2.patch
deleted file mode 100644
index 08e5602..0000000
--- a/rpm-db5.2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- rpm-5.4.10/configure.ac~ 2012-07-18 21:42:22.133130256 +0200
-+++ rpm-5.4.10/configure.ac 2012-07-18 21:45:04.726457854 +0200
-@@ -543,7 +543,7 @@
- MYPATH=$PATH
- fi
-
--DBXY=db61
-+DBXY=db5.2
-
- AC_PATH_PROG(__BASH, bash, %{_bindir}/bash, $MYPATH)
- AC_PATH_PROG(__BZIP2, bzip2, %{_bindir}/bzip2, $MYPATH)
-@@ -1582,7 +1582,7 @@
- CPPFLAGS="${CPPFLAGS} -I${prefix}/include/${DBXY}"
- RPM_CHECK_LIB(
- [Berkeley-DB], [db],
-- [db-6.1], [db_create], [db.h],
-+ [db-5.2], [db_create], [db.h],
- [yes,external], [db3],
- [ DBLIBSRCS="$DBLIBSRCS db3.c"
- AM_CONDITIONAL(WITH_DB, [ true ])
-@@ -1609,7 +1609,7 @@
- dnl XXX error: `db3' is already registered with AC_CONFIG_SUBDIRS.
- RPM_CHECK_LIB(
- [Berkeley-DB (+SQLite3)], [dbsql],
-- [db_sql-6.1], [sqlite3_open], [dbsql.h],
-+ [db_sql-5.2], [sqlite3_open], [dbsql.h],
- [yes,external], [db3/sql],
- [
- AM_CONDITIONAL(WITH_DBSQL, [ true ])
diff --git a/rpm-disable-hmac-verify.patch b/rpm-disable-hmac-verify.patch
deleted file mode 100644
index fb46df7..0000000
--- a/rpm-disable-hmac-verify.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- rpm-5.4.10.orig/lib/verify.c 2012-07-06 17:39:16.000000000 +0200
-+++ rpm-5.4.10/lib/verify.c 2012-10-21 19:35:08.610708732 +0200
-@@ -261,11 +261,20 @@
- unsigned char * fdigest = (unsigned char *)
- memset(alloca(vf->dlen), 0, vf->dlen);
- size_t fsize = 0;
-+#if defined(RPM_VENDOR_PLD)
-+/*
-+ * Disable hmac during digest calculation, since rpm package files contain plain md5sums,
-+ * hmac support is useless, see:
-+ * http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2012-October/023193.html
-+ */
-+ int rc = dodigest(vf->dalgo, vf->fn, fdigest, 0, &fsize);
-+#else
- #define _mask (RPMVERIFY_FDIGEST|RPMVERIFY_HMAC)
- unsigned dflags = (vf->vflags & _mask) == RPMVERIFY_HMAC
- ? 0x2 : 0x0;
- #undef _mask
- int rc = dodigest(vf->dalgo, vf->fn, fdigest, dflags, &fsize);
-+#endif
- sb.st_size = fsize;
- if (rc) {
- VF_SET(res, READFAIL);
diff --git a/rpm-dont-treat-gstreamer-modules-as-font.patch b/rpm-dont-treat-gstreamer-modules-as-font.patch
deleted file mode 100644
index 36c7617..0000000
--- a/rpm-dont-treat-gstreamer-modules-as-font.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/lib/rpmfc.c.old 2012-09-25 22:34:46.184039778 +0200
-+++ rpm-5.4.10/lib/rpmfc.c 2012-09-25 22:35:21.947179368 +0200
-@@ -921,7 +921,7 @@ static int rpmfcSCRIPT(rpmfc fc)
- #endif
- xx = rpmfcHelper(fc, 'R', "ruby");
- } else
-- if (fc->fcolor->vals[fc->ix] & RPMFC_FONT) {
-+ if ((fc->fcolor->vals[fc->ix] & RPMFC_FONT) == RPMFC_FONT) {
- xx = rpmfcHelper(fc, 'P', "font");
- /* XXX: currently of no use, but for the sake of consistency... */
- xx = rpmfcHelper(fc, 'R', "font");
diff --git a/rpm-double_check_file_deps.patch b/rpm-double_check_file_deps.patch
deleted file mode 100644
index 58000a5..0000000
--- a/rpm-double_check_file_deps.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-diff -dur rpm-5.4.12.orig/lib/rpmal.c rpm-5.4.12/lib/rpmal.c
---- rpm-5.4.12.orig/lib/rpmal.c 2012-04-15 23:20:57.000000000 +0200
-+++ rpm-5.4.12/lib/rpmal.c 2013-08-13 13:46:28.000000000 +0200
-@@ -7,6 +7,10 @@
- #include <rpmio.h>
- #include <rpmiotypes.h> /* XXX fnpyKey */
- #include <rpmbf.h>
-+#include <rpmlog.h>
-+
-+#define _RPMFI_INTERNAL
-+#include <rpmfi.h>
-
- #include <rpmtag.h>
- #include <rpmtypes.h>
-@@ -38,6 +42,7 @@
- rpmds provides; /*!< Provides: dependencies. */
- /*@refcounted@*/ /*@null@*/
- rpmbf bf; /*!< File name Bloom filter. */
-+ rpmfi fi; /*!< File name Bloom filter. */
-
- rpmuint32_t tscolor; /*!< Transaction color bits. */
-
-@@ -149,6 +154,8 @@
- alp->provides = NULL;
- (void)rpmbfFree(alp->bf);
- alp->bf = NULL;
-+ (void)rpmfiFree(alp->fi);
-+ alp->fi = NULL;
- }
-
- al->list = _free(al->list);
-@@ -205,6 +212,8 @@
- alp->provides = NULL;
- (void)rpmbfFree(alp->bf);
- alp->bf = NULL;
-+ (void)rpmfiFree(alp->fi);
-+ alp->fi = NULL;
-
- memset(alp, 0, sizeof(*alp)); /* XXX trash and burn */
- return;
-@@ -244,6 +253,7 @@
- /*@-assignexpose -castexpose @*/
- alp->provides = rpmdsLink(provides, "Provides (rpmalAdd)");
- alp->bf = rpmbfLink(rpmfiFNBF(fi));
-+ alp->fi = rpmfiLink(fi, "file list (rpmalAdd)");
- /*@=assignexpose =castexpose @*/
-
- rpmalFreeIndex(al);
-@@ -350,17 +360,17 @@
- rpmalAllFileSatisfiesDepend(const rpmal al, const rpmds ds, alKey * keyp)
- {
- fnpyKey * ret = NULL;
-- int found = 0;
-+ int found = 0, verified = 0;
- const char * fn;
- size_t nfn;
-- int i;
-+ int i, j;
-
- if (keyp) *keyp = RPMAL_NOMATCH;
-
- if (al == NULL || (fn = rpmdsN(ds)) == NULL || *fn != '/')
- goto exit;
- nfn = strlen(fn);
--
-+
- if (al->list != NULL) /* XXX always true */
- for (i = 0; i < al->size; i++) {
- availablePackage alp = al->list + i;
-@@ -368,6 +378,24 @@
- if (!rpmbfChk(alp->bf, fn, nfn))
- continue;
-
-+ verified = 0;
-+ char * fifn = (char *) malloc(alp->fi->fnlen + 1);
-+ for(j=0; j<(int)alp->fi->fc; j++) {
-+ const char * dn = NULL;
-+ (void) urlPath(alp->fi->dnl[alp->fi->dil[j]], &dn);
-+ strcpy(stpcpy(fifn, dn), alp->fi->bnl[j]);
-+ if (!strcmp(fn, fifn)) {
-+ verified = 1;
-+ break;
-+ }
-+ }
-+ free(fifn);
-+
-+ if (!verified) {
-+ rpmlog(RPMLOG_DEBUG, " False positive: '%s'\n", fn);
-+ continue;
-+ }
-+
- rpmdsNotify(ds, _("(added files)"), 0);
-
- ret = (fnpyKey *) xrealloc(ret, (found + 2) * sizeof(*ret));
diff --git a/rpm-double_check_unpackaged_subdirs.patch b/rpm-double_check_unpackaged_subdirs.patch
deleted file mode 100644
index b83f7de..0000000
--- a/rpm-double_check_unpackaged_subdirs.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Let packagedDir do a strict check when Bloom filter returns true.
-Also, don't try to check dirs over buildroot to avoid wasting time
-for useless checks (note that before packagedDir() could succeed on
-some dir over buildroot, leading to log some junk, after the end of
-string shorter than buildrootL).
-
---- rpm-5.4.13/build/files.c.orig 2013-10-04 21:31:18.840898688 +0200
-+++ rpm-5.4.13/build/files.c 2013-10-13 09:09:23.406411763 +0200
-@@ -3032,12 +3032,26 @@
- }
-
- /* auxiliary function: check if directory d is packaged */
--static inline int packagedDir(Package pkg, const char *d)
-+static int packagedDir(Package pkg, const char *d)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
- /*@modifies pkg->header,
- rpmGlobalMacroContext, fileSystem, internalState @*/
- {
-- return rpmbfChk(rpmfiFNBF(pkg->fi), d, strlen(d));
-+ if(!rpmbfChk(rpmfiFNBF(pkg->fi), d, strlen(d)))
-+ return 0;
-+ char * fifn = (char *) xmalloc(pkg->fi->fnlen + 1);
-+ rpmuint32_t j;
-+ for(j = 0; j < pkg->fi->fc; j++) {
-+ const char * dn = NULL;
-+ (void) urlPath(pkg->fi->dnl[pkg->fi->dil[j]], &dn);
-+ strcpy(stpcpy(fifn, dn), pkg->fi->bnl[j]);
-+ if (!strcmp(d, fifn)) {
-+ free(fifn);
-+ return 1;
-+ }
-+ }
-+ free(fifn);
-+ return 0;
- }
-
- /* auxiliary function: find unpackaged subdirectories
-@@ -3076,6 +3090,8 @@
- strcpy(fn, rpmfiFN(fi));
- /* find the first path component that is packaged */
- while ((p = strchr(p + 1, '/'))) {
-+ if (p - fn < buildrootL)
-+ continue; /* don't try to check components over buildroot */
- *p = '\0';
- found = packagedDir(pkg, fn);
- *p = '/';
diff --git a/rpm-file-magic-can-be-mixed-case.patch b/rpm-file-magic-can-be-mixed-case.patch
deleted file mode 100644
index 9536124..0000000
--- a/rpm-file-magic-can-be-mixed-case.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- rpm-5.4.10/scripts/rpm2cpio~ 2009-03-19 02:01:24.000000000 +0100
-+++ rpm-5.4.10/scripts/rpm2cpio 2012-09-18 23:49:28.261438724 +0200
-@@ -25,13 +25,13 @@
- EXTRACTOR="dd if=$pkg ibs=$o skip=1"
-
- COMPRESSION=`($EXTRACTOR |file -) 2>/dev/null`
--if echo $COMPRESSION |grep -q gzip; then
-+if echo $COMPRESSION |grep -qi gzip; then
- DECOMPRESSOR=gunzip
--elif echo $COMPRESSION |grep -q bzip2; then
-+elif echo $COMPRESSION |grep -qi bzip2; then
- DECOMPRESSOR=bunzip2
--elif echo $COMPRESSION |grep -q xz; then
-+elif echo $COMPRESSION |grep -qi xz; then
- DECOMPRESSOR=unxz
--elif echo $COMPRESSION |grep -q cpio; then
-+elif echo $COMPRESSION |grep -qi cpio; then
- DECOMPRESSOR=cat
- else
- # Most versions of file don't support LZMA, therefore we assume
diff --git a/rpm-file-output-for-ELF.patch b/rpm-file-output-for-ELF.patch
deleted file mode 100644
index ea01b4a..0000000
--- a/rpm-file-output-for-ELF.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -dur -x '*~' rpm-5.4.15.orig/scripts/brp-strip rpm-5.4.15/scripts/brp-strip
---- rpm-5.4.15.orig/scripts/brp-strip 2011-09-06 14:53:10.000000000 +0200
-+++ rpm-5.4.15/scripts/brp-strip 2015-01-27 11:09:22.000000000 +0100
-@@ -16,6 +16,6 @@
- for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
- grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
- grep -v ' shared object,' | \
-- sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
-+ sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p'`; do
- $STRIP -g "$f" || :
- done
-diff -dur -x '*~' rpm-5.4.15.orig/scripts/brp-strip-shared rpm-5.4.15/scripts/brp-strip-shared
---- rpm-5.4.15.orig/scripts/brp-strip-shared 2012-05-08 05:00:44.000000000 +0200
-+++ rpm-5.4.15/scripts/brp-strip-shared 2015-01-27 11:09:41.000000000 +0100
-@@ -21,6 +21,6 @@
- for f in `find "$RPM_BUILD_ROOT" -type f -a -exec file {} \; | \
- grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
- grep ' shared object,' | \
-- sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
-+ sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p'`; do
- $STRIP --strip-unneeded "$f"
- done
-diff -dur -x '*~' rpm-5.4.15.orig/scripts/find-debuginfo.sh rpm-5.4.15/scripts/find-debuginfo.sh
---- rpm-5.4.15.orig/scripts/find-debuginfo.sh 2015-01-27 11:10:52.000000000 +0100
-+++ rpm-5.4.15/scripts/find-debuginfo.sh 2015-01-27 11:09:54.000000000 +0100
-@@ -194,7 +194,7 @@
- find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
- \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
- -print | LANG=C sort |
--file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped/\1/p' |
-+file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped.*/\1/p' |
- xargs --no-run-if-empty stat -c '%h %D_%i %n' |
- while read nlinks inum f; do
- [ -n "$EXCLUDE_REGEXP" ] && grep -E -q "$EXCLUDE_REGEXP" <<< "$f" && \
diff --git a/rpm-fix-___build_pre-macro.patch b/rpm-fix-___build_pre-macro.patch
deleted file mode 100644
index 4dc7336..0000000
--- a/rpm-fix-___build_pre-macro.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- rpm-5.4.10/macros/macros.rpmbuild.in.old 2012-09-15 19:31:55.178325519 +0200
-+++ rpm-5.4.10/macros/macros.rpmbuild.in 2012-09-15 19:32:37.158324039 +0200
-@@ -324,8 +324,18 @@
- %___build_args -e
- %___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
- %___build_pre \
-+ RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\
-+ RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
- RPM_OPT_FLAGS=\"%{optflags}\"\
-- export RPM_OPT_FLAGS\
-+ RPM_ARCH=\"%{_arch}\"\
-+ RPM_OS=\"%{_os}\"\
-+ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\
-+ RPM_DOC_DIR=\"%{_docdir}\"\
-+ export RPM_DOC_DIR\
-+ RPM_PACKAGE_NAME=\"%{name}\"\
-+ RPM_PACKAGE_VERSION=\"%{version}\"\
-+ RPM_PACKAGE_RELEASE=\"%{release}\"\
-+ export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\
- %{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\
- export RPM_BUILD_ROOT}\
- %{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\
diff --git a/rpm-fix-filedigests-verify.patch b/rpm-fix-filedigests-verify.patch
deleted file mode 100644
index 755848f..0000000
--- a/rpm-fix-filedigests-verify.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- rpm-5.4.10.orig/build/files.c 2012-10-15 23:29:13.601832730 +0200
-+++ rpm-5.4.10/build/files.c 2012-10-15 23:29:50.264308164 +0200
-@@ -393,7 +393,6 @@
- if (strcmp(p, vfa->attribute))
- /*@innercontinue@*/ continue;
- verifyFlags |= vfa->flag;
-- verifyFlags &= ~RPMVERIFY_FDIGEST;
- /*@innerbreak@*/ break;
- }
- if (vfa->attribute)
diff --git a/rpm-fix-internal-lua-build.patch b/rpm-fix-internal-lua-build.patch
deleted file mode 100644
index 64e30f3..0000000
--- a/rpm-fix-internal-lua-build.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ur rpm-5.4.12/lua/linit.c rpm-5.4.12.lua/lua/linit.c
---- rpm-5.4.12/lua/linit.c 2013-07-29 12:55:10.414926615 +0200
-+++ rpm-5.4.12.lua/lua/linit.c 2013-07-29 12:52:16.932990663 +0200
-@@ -41,7 +41,7 @@
- {LUA_DBLIBNAME, luaopen_debug},
- {"rex_posix", luaopen_rex_posix},
- {"rex_pcre", luaopen_rex_pcre},
-- {"posix", luaopen_posix},
-+ {"posix", luaopen_posix_c},
- {NULL, NULL}
- };
-
-diff -ur rpm-5.4.12/lua/local/lposix.c rpm-5.4.12.lua/lua/local/lposix.c
---- rpm-5.4.12/lua/local/lposix.c 2013-06-29 23:58:11.000000000 +0200
-+++ rpm-5.4.12.lua/lua/local/lposix.c 2013-07-29 12:49:02.437509943 +0200
-@@ -3934,6 +3934,10 @@
- MENTRY( NFILE );
- MENTRY( NOBUFS );
- #if !defined(__APPLE__)
-+// sys/param.h defines NODEV as ((dev_t) -1) which confuses MENTRY macro
-+#ifdef NODEV
-+#undef NODEV
-+#endif
- MENTRY( NODEV );
- #endif
- MENTRY( NOENT );
-diff -ur rpm-5.4.12/lua/local/lposix.h rpm-5.4.12.lua/lua/local/lposix.h
---- rpm-5.4.12/lua/local/lposix.h 2004-03-23 06:09:14.000000000 +0100
-+++ rpm-5.4.12.lua/lua/local/lposix.h 2013-07-29 12:52:09.029570083 +0200
-@@ -1,7 +1,9 @@
- #ifndef LPOSIX_H
- #define LPOSIX_H
-
--int luaopen_posix (lua_State *L)
-+#include <lua.h>
-+
-+int luaopen_posix_c (lua_State *L)
- /*@modifies L @*/;
-
- #endif
diff --git a/rpm-gpg-pinentry.patch b/rpm-gpg-pinentry.patch
deleted file mode 100644
index 531f1b3..0000000
--- a/rpm-gpg-pinentry.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ruN rpm-5.4.15.orig/macros/macros rpm-5.4.15/macros/macros
---- rpm-5.4.15.orig/macros/macros 2014-08-17 14:02:20.000000000 +0200
-+++ rpm-5.4.15/macros/macros 2018-09-24 15:46:44.323052200 +0200
-@@ -519,7 +519,7 @@
- # signing and verification.
- #
- %__gpg_check_password_cmd %{__gpg} \
-- gpg --batch --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
-+ gpg --batch --pinentry-mode loopback --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
- #%__pgp_check_password_cmd %{__pgp} \
- # pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf
- #%__pgp5_check_password_cmd %{__pgp} \
-diff -ruN rpm-5.4.15.orig/macros/macros.in rpm-5.4.15/macros/macros.in
---- rpm-5.4.15.orig/macros/macros.in 2014-08-09 00:40:40.000000000 +0200
-+++ rpm-5.4.15/macros/macros.in 2018-09-24 15:46:34.807097580 +0200
-@@ -519,7 +519,7 @@
- # signing and verification.
- #
- %__gpg_check_password_cmd %{__gpg} \
-- gpg --batch --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
-+ gpg --batch --pinentry-mode loopback --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
- #%__pgp_check_password_cmd %{__pgp} \
- # pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf
- #%__pgp5_check_password_cmd %{__pgp} \
diff --git a/rpm-gst-inspect-typo.patch b/rpm-gst-inspect-typo.patch
deleted file mode 100644
index 74d32fc..0000000
--- a/rpm-gst-inspect-typo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/macros/gstreamer.in.gst 2012-09-26 08:59:44.842368772 +0200
-+++ rpm-5.4.10/macros/gstreamer.in 2012-09-26 08:59:48.542348566 +0200
-@@ -2,7 +2,7 @@
- # To make use of these macros insert the following line into your spec file:
- # %{load:%{_usrlibrpm}/macros.d/gstreamer}
-
--%__gst_inspect @__GST_INSPECT
-+%__gst_inspect @__GST_INSPECT@
-
- # Path to scripts to autogenerate gstreamer package dependencies,
- #
diff --git a/rpm-ignore-missing-macro-files.patch b/rpm-ignore-missing-macro-files.patch
index f859bd1..b7e7ed0 100644
--- a/rpm-ignore-missing-macro-files.patch
+++ b/rpm-ignore-missing-macro-files.patch
@@ -1,51 +1,10 @@
--- rpm-5.4.15/rpmio/macro.c~ 2014-12-07 20:24:53.000000000 +0100
+++ rpm-5.4.15/rpmio/macro.c 2014-12-07 20:44:45.739944044 +0100
-@@ -2965,7 +2965,17 @@
- se = rpmMCExpand(mc, s, NULL);
- rc = rpmGlob(se, &argc, &argv);
- for(i = 0; i < argc; i++) {
-- rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
-+ /* Skip backups, non existing files and %config leftovers. */
-+#define _suffix(_s, _x) \
-+ (strlen(_s) >= sizeof(_x) && !strcmp((_s)+strlen(_s)-(sizeof(_x)-1), (_x)))
-+ if (!(_suffix(argv[i], "~")
-+ || _suffix(argv[i], ".rpmnew")
-+ || _suffix(argv[i], ".rpmorig")
-+ || _suffix(argv[i], ".rpmsave"))
-+ && !Access(argv[i], R_OK)
-+ )
-+ rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
-+#undef _suffix
- argv[i] = _free(argv[i]);
+@@ -1795,6 +1795,7 @@
+ for (path = files; *path; path++) {
+ if (rpmFileHasSuffix(*path, ".rpmnew") ||
+ rpmFileHasSuffix(*path, ".rpmsave") ||
++ rpmFileHasSuffix(*path, "~") ||
+ rpmFileHasSuffix(*path, ".rpmorig")) {
+ continue;
}
- argv = _free(argv);
---- rpm-5.4.15/macros/macros.in~ 2014-12-07 21:43:59.000000000 +0100
-+++ rpm-5.4.15/macros/macros.in 2014-12-07 22:07:57.383101292 +0100
-@@ -1019,13 +1019,7 @@
- %{nil}
-
- #==============================================================================
--# XXX Caveat:
--# XXX With %{load:...} being interpreted immediately -- not lazily --
--# XXX within a macro init file, a failure to load causes immediate loading
--# XXX termination silently.
--# XXX
--# XXX So the order as well as the existence of the %{load:...} macros below
--# XXX are critically important.
-+# XXX If a file specified in %{load:...} does not exist, it will be skipped.
- # XXX
- # XXX Note also that loaded macro files can NOT recursively load other
- # XXX macro files; only a top-level (i.e. after --macros, or within a *.spec)
-@@ -1036,11 +1030,8 @@
- # XXX for configuring RPM itself.
- # XXX
- # XXX Simple example(s):
--# XXX If the file %{_usrlibrpm}/macros.d/selinux doesn't exist,
--# XXX then %{_usrlibrpm}/macros.rpmbuild will NOT be loaded.
--# XXX
- # XXX if the file %{_usrlibrpm}/macros.d/cmake attempts another
--# XXX %{load:...}, then loading will CEASE at that point in the file.
-+# XXX %{load:...}, then the statement will be IGNORED.
- #==============================================================================
- # ---- SELinux configuration macros.
- %{load:%{_usrlibrpm}/macros.d/selinux}
diff --git a/rpm-lua-enable-extra-libs.patch b/rpm-lua-enable-extra-libs.patch
deleted file mode 100644
index 33f6524..0000000
--- a/rpm-lua-enable-extra-libs.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- rpm-5.4.10/lua/linit.c~ 2012-10-03 14:46:45.303935753 +0200
-+++ rpm-5.4.10/lua/linit.c 2012-10-03 14:48:19.503932430 +0200
-@@ -13,6 +13,8 @@
- #include "lualib.h"
- #include "lauxlib.h"
-
-+#include "lposix.h"
-+#include "lrexlib.h"
-
- static const luaL_Reg lualibs[] = {
- {"", luaopen_base},
-@@ -26,6 +26,9 @@
- {LUA_STRLIBNAME, luaopen_string},
- {LUA_MATHLIBNAME, luaopen_math},
- {LUA_DBLIBNAME, luaopen_debug},
-+ {"rex_posix", luaopen_rex_posix},
-+ {"rex_pcre", luaopen_rex_pcre},
-+ {"posix", luaopen_posix},
- {NULL, NULL}
- };
-
diff --git a/rpm-lua-expat.patch b/rpm-lua-expat.patch
deleted file mode 100644
index a3ac839..0000000
--- a/rpm-lua-expat.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- lua/Makefile.am~ 2013-06-29 22:03:22.000000000 +0100
-+++ lua/Makefile.am 2013-09-23 19:07:35.157853272 +0100
-@@ -230,7 +230,10 @@
- # local/lwrs.h
- # local/lwrs.c
-
--liblua_la_LIBADD = @WITH_LUA_SUBDIR_LIB@ -lm -lexpat
-+liblua_la_LIBADD = @WITH_LUA_SUBDIR_LIB@ -lm
-+if USE_LUA_CRYPTO
-+liblua_la_LIBADD += -lexpat
-+endif
- liblua_la_SOURCES += \
- local/llocal.c \
- local/llocal.h \
diff --git a/rpm-macros.patch b/rpm-macros.patch
deleted file mode 100644
index 3565601..0000000
--- a/rpm-macros.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- rpm-5.4.10/macros/macros.in~ 2012-11-17 00:38:23.000000000 +0200
-+++ rpm-5.4.10/macros/macros.in 2012-11-17 00:38:55.871401871 +0200
-@@ -561,9 +561,10 @@
-
- # Horowitz Key Protocol server configuration
- #
--%_hkp_keyserver hkp://keys.rpm5.org
-+#%_hkp_keyserver hkp://keys.rpm5.org
- #%_hkp_keyserver hkp://keys.n3npq.net
- #%_hkp_keyserver hkp://pool.sks-keyservers.net
-+%_hkp_keyserver hkp://ha.pool.sks-keyservers.net
- %_hkp_keyserver_query %{_hkp_keyserver}/pks/lookup?op=get&search=
-
-
-@@ -670,18 +670,7 @@
- # XXX Note: that there cannot be any whitespace within the string "p>q",
- # and that both p and q are package names (i.e. no version/release).
- #
--%_dependency_whiteout_caos_core \
-- perl>perl-Filter \
-- pam>coreutils \
-- pam>initscripts \
-- glibc-common>glibc \
-- glibc>nscd \
-- filesystem>setup
--
--%_dependency_whiteout \
-- %{?_dependency_whiteout_caos_core} \
-- %{?_dependency_whiteout_system} \
-- %{nil}
-+%_dependency_whiteout %{nil}
-
- #
- # Default path used for serializing transactions with a fcntl lock.
diff --git a/rpm-missing-patch-file-fails-build.patch b/rpm-missing-patch-file-fails-build.patch
deleted file mode 100644
index 0bce7d5..0000000
--- a/rpm-missing-patch-file-fails-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix for http://rpm5.org/cvs/tktview?tn=41
-
---- rpm-5.4.10/macros/macros.rpmbuild.in~ 2012-07-06 17:39:16.000000000 +0200
-+++ rpm-5.4.10/macros/macros.rpmbuild.in 2012-09-15 20:15:30.455784728 +0200
-@@ -169,7 +169,7 @@
- %define __patch_suffix %{-b:-b --suffix %{-b*}} %{-z:--suffix %{-z*}} \
- %define __patch_fuzz %{?_default_patch_fuzz:%(test %{_default_patch_fuzz} -ge 0 && echo "--fuzz=%{_default_patch_fuzz} ")} \
- %define __patch_options %{_default_patch_flags} %{-p:-p%{-p*}} %{-F:-F%{-F*}} %{-d:-d%{-d*}} %{-R} %{-E} %{__patch_suffix} \
--echo "Patch #%{__patch_number} (%{basename:%{__patch_file}}):" && ( %{uncompress:%{__patch_file}} | %{__patch} %{__patch_fuzz}%{__patch_options} ) || exit 1\
-+echo "Patch #%{__patch_number} (%{basename:%{__patch_file}}):" && [ -f %{__patch_file} ] && %{uncompress:%{__patch_file}} | %{__patch} %{__patch_fuzz}%{__patch_options} || exit 1\
- }
-
- #
diff --git a/rpm-null-term-ascii-digest.patch b/rpm-null-term-ascii-digest.patch
deleted file mode 100644
index 06102d7..0000000
--- a/rpm-null-term-ascii-digest.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: rpmdb/legacy.c
-===================================================================
-RCS file: /v/rpm/cvs/rpm/rpmdb/legacy.c,v
-retrieving revision 1.44.4.3
-diff -p -u -w -r1.44.4.3 legacy.c
---- rpmdb/legacy.c 16 Apr 2012 23:43:34 -0000 1.44.4.3
-+++ rpmdb/legacy.c 2 Oct 2012 20:17:21 -0000
-@@ -282,8 +282,10 @@ int dodigest(int dalgo, const char * fn,
- exit:
- if (fsizep)
- *fsizep = fsize;
-- if (!rc)
-+ if (!rc) {
- memcpy(digest, dsum, dlen);
-+ if (asAscii) digest[dlen] = '\0';
-+ }
- dsum = _free(dsum);
-
- return rc;
diff --git a/rpm-parseSpec-skip-empty-tags.patch b/rpm-parseSpec-skip-empty-tags.patch
deleted file mode 100644
index 119cbed..0000000
--- a/rpm-parseSpec-skip-empty-tags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/build/parseSpec.c.orig 2013-02-25 14:29:07.874848468 +0100
-+++ rpm-5.4.10/build/parseSpec.c 2013-02-25 14:29:25.661698897 +0100
-@@ -92,6 +92,8 @@
- if (aTags != NULL && aTags[0] != NULL) {
- ARGV_t av;
- s = tagCanonicalize(line+1); /* XXX +1 to skip leading '%' */
-+ if (strlen(s) == 0) /* not a tag, just unknown macro */
-+ goto exit;
- #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */
- av = argvSearchLinear(aTags, s, argvFnmatchCasefold);
- #else
diff --git a/rpm-pattern_Release.patch b/rpm-pattern_Release.patch
deleted file mode 100644
index f78e9b0..0000000
--- a/rpm-pattern_Release.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/macros/macros.in~ 2012-09-12 13:52:19.305575500 +0200
-+++ rpm-5.4.10/macros/macros.in 2012-09-14 14:15:34.115044785 +0200
-@@ -778,7 +778,7 @@
- %pattern_Name ^[A-Za-z0-9][A-Za-z0-9+._-]*$
- %pattern_Epoch ^[0-9]+$
- %pattern_Version ^[A-Za-z0-9+._~]+$
--%pattern_Release ^[A-Za-z0-9+._]+$
-+%pattern_Release ^[A-Za-z0-9+._@{}%]+$
- %pattern_Disttag ^[A-Za-z0-9]+$
- %pattern_Repotag ^[A-Za-z0-9]+$
- %pattern_Distepoch ^[A-Za-z0-9.]+$
diff --git a/rpm-payload-use-hashed-inode.patch b/rpm-payload-use-hashed-inode.patch
deleted file mode 100644
index 05e2447..0000000
--- a/rpm-payload-use-hashed-inode.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
---- rpm-5.4.10/build/files.c 2013-03-17 13:17:38.233358389 +0100
-+++ rpm-5.4.10-collision/build/files.c 2013-03-17 13:07:37.468483625 +0100
-@@ -1323,6 +1323,26 @@
- return dalgo;
- }
-
-+static int isHardLink(FileListRec flp, FileListRec tlp)
-+{
-+ return ((S_ISREG(flp->fl_mode) && S_ISREG(tlp->fl_mode)) &&
-+ ((flp->fl_nlink > 1) && (flp->fl_nlink == tlp->fl_nlink)) &&
-+ (flp->fl_ino == tlp->fl_ino) &&
-+ (flp->fl_dev == tlp->fl_dev));
-+}
-+
-+static int seenHardLink(FileList fl, FileListRec flp, ino_t *fileid)
-+{
-+ FileListRec ilp;
-+ for (ilp = fl->fileList; ilp < flp; ilp++) {
-+ if (isHardLink(flp, ilp)) {
-+ *fileid = ilp - fl->fileList;
-+ return 1;
-+ }
-+ }
-+ return 0;
-+}
-+
- /**
- * Add file entries to header.
- * @todo Should directories have %doc/%config attributes? (#14531)
-@@ -1370,6 +1390,7 @@
-
- for (i = 0, flp = fl->fileList; i < fl->fileListRecsUsed; i++, flp++) {
- const char *s;
-+ ino_t fileid = flp - fl->fileList;
-
- /* Merge duplicate entries. */
- while (i < (fl->fileListRecsUsed - 1) &&
-@@ -1437,6 +1458,13 @@
- /* Leave room for both dirname and basename NUL's */
- dpathlen += (strlen(flp->diskURL) + 2);
-
-+ /* Excludes and dupes have been filtered out by now. */
-+ if (S_ISREG(flp->fl_mode)) {
-+ if (flp->fl_nlink == 1 || !seenHardLink(fl, flp, &fileid)) {
-+ fl->totalFileSize += flp->fl_size;
-+ }
-+ }
-+
- /*
- * Make the header, the OLDFILENAMES will get converted to a
- * compressed file list write before we write the actual package to
-@@ -1519,7 +1547,11 @@
-
- /* XXX Hash instead of 64b->32b truncate to prevent aliasing. */
- { ino_t _ino = flp->fl_ino;
-- ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
-+ /* don't use hash here, as hash collisions which happen on large packages
-+ cause bus errors in rpmbuild
-+ ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
-+ */
-+ ui32 = fileid + 1;
- }
- he->tag = RPMTAG_FILEINODES;
- he->t = RPM_UINT32_TYPE;
-@@ -1752,39 +1780,6 @@
- IOSM_MAP_TYPE | IOSM_MAP_MODE | IOSM_MAP_UID | IOSM_MAP_GID;
- if (isSrc)
- fi->fmapflags[i] |= IOSM_FOLLOW_SYMLINKS;
--
-- if (S_ISREG(flp->fl_mode)) {
-- int bingo = 1;
-- /* Hard links need be tallied only once. */
-- if (flp->fl_nlink > 1) {
-- FileListRec jlp = flp + 1;
-- int j = i + 1;
-- for (; (unsigned)j < fi->fc; j++, jlp++) {
-- /* follow outer loop logic */
-- while (((jlp - fl->fileList) < (fl->fileListRecsUsed - 1)) &&
-- !strcmp(jlp->fileURL, jlp[1].fileURL))
-- jlp++;
-- if (jlp->flags & RPMFILE_EXCLUDE) {
-- j--;
-- /*@innercontinue@*/ continue;
-- }
-- if (jlp->flags & RPMFILE_GHOST)
-- /*@innercontinue@*/ continue;
-- if (!S_ISREG(jlp->fl_mode))
-- /*@innercontinue@*/ continue;
-- if (flp->fl_nlink != jlp->fl_nlink)
-- /*@innercontinue@*/ continue;
-- if (flp->fl_ino != jlp->fl_ino)
-- /*@innercontinue@*/ continue;
-- if (flp->fl_dev != jlp->fl_dev)
-- /*@innercontinue@*/ continue;
-- bingo = 0; /* don't tally hardlink yet. */
-- /*@innerbreak@*/ break;
-- }
-- }
-- if (bingo)
-- fl->totalFileSize += flp->fl_size;
-- }
- }
-
- ui32 = fl->totalFileSize;
diff --git a/rpm-perl-magic.patch b/rpm-perl-magic.patch
index 2b41d61..29e27a2 100644
--- a/rpm-perl-magic.patch
+++ b/rpm-perl-magic.patch
@@ -1,11 +1,11 @@
---- lib/rpmfc.c.orig 2014-10-07 15:53:03.185631053 +0100
-+++ lib/rpmfc.c 2014-10-07 16:02:32.487591097 +0100
+--- rpm/build/rpmfc.c.orig 2014-10-07 15:53:03.185631053 +0100
++++ rpm/build/rpmfc.c 2014-10-07 16:02:32.487591097 +0100
@@ -593,7 +593,8 @@
+ { "troff or preprocessor input", RPMFC_INCLUDE },
+ { "GNU Info", RPMFC_INCLUDE },
- { "Desktop Entry", RPMFC_DESKTOP_FILE|RPMFC_INCLUDE },
+ { "perl ", RPMFC_INCLUDE },
++ { "Perl script", RPMFC_INCLUDE },
+ { "Perl5 module source text", RPMFC_INCLUDE },
+ { "python ", RPMFC_INCLUDE },
- { "perl script text", RPMFC_PERL|RPMFC_INCLUDE },
-+ { "Perl script", RPMFC_PERL|RPMFC_INCLUDE },
- { "Perl5 module source text", RPMFC_PERL|RPMFC_MODULE|RPMFC_INCLUDE },
-
- { "PHP script text", RPMFC_PHP|RPMFC_INCLUDE },
diff --git a/rpm-preserve-iterator.patch b/rpm-preserve-iterator.patch
deleted file mode 100644
index 3764ec5..0000000
--- a/rpm-preserve-iterator.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- rpm-5.4.10/lib/rpmal.c~ 2012-11-30 13:20:59.087249280 +0100
-+++ rpm-5.4.10/lib/rpmal.c 2012-11-30 21:20:20.856611761 +0100
-@@ -403,6 +403,7 @@
- const char * KName;
- availablePackage alp;
- int rc;
-+ int savedIx;
-
- if (keyp) *keyp = RPMAL_NOMATCH;
-
-@@ -450,10 +451,12 @@
- if (alp->provides != NULL) /* XXX can't happen */
- switch (match->type) {
- case IET_PROVIDES:
-+ savedIx = rpmdsIx(alp->provides);
- /* XXX single step on rpmdsNext to regenerate DNEVR string */
- (void) rpmdsSetIx(alp->provides, match->entryIx - 1);
- if (rpmdsNext(alp->provides) >= 0)
- rc = rpmdsCompare(alp->provides, ds);
-+ (void) rpmdsSetIx(alp->provides, savedIx);
-
- if (rc)
- rpmdsNotify(ds, _("(added provide)"), 0);
diff --git a/rpm-preserve-tag-type.patch b/rpm-preserve-tag-type.patch
deleted file mode 100644
index 9956219..0000000
--- a/rpm-preserve-tag-type.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 8241b884f83153dee9cdcddac7a476c6234cf156
-Author: Kacper Kornet <draenog at pld-linux.org>
-Date: Sun May 5 21:56:02 2013 +0100
-
- Don't overwrite type of validated tag
-
- It caused headerGet(h, he, HEADERGET_NOI18NSTRING|HEADERGET_NOEXTENSION)
- to return always he->t = RPMTAG_STRING even when RPM_I18NSTRING_TYPE (char **)
- was returned in reality.
-
-diff --git a/rpmdb/tagname.c b/rpmdb/tagname.c
-index 540838b..174df60 100644
---- a/rpmdb/tagname.c
-+++ b/rpmdb/tagname.c
-@@ -491,26 +491,28 @@ tagStore_t tagStoreFree(tagStore_t dbiTags, size_t dbiNTags)
- void tagTypeValidate(HE_t he);
- void tagTypeValidate(HE_t he)
- {
-+ HE_s he_s = *he;
-+
- /* XXX Re-map RPM_I18NSTRING_TYPE -> RPM_STRING_TYPE */
-- if (he->t == RPM_I18NSTRING_TYPE)
-- he->t = RPM_STRING_TYPE;
-+ if (he_s.t == RPM_I18NSTRING_TYPE)
-+ he_s.t = RPM_STRING_TYPE;
-
- /* XXX Arbitrary tags are always strings. */
-- if ((he->tag & 0x40000000)
-- && (he->t == RPM_STRING_TYPE || he->t == RPM_STRING_ARRAY_TYPE))
-+ if ((he_s.tag & 0x40000000)
-+ && (he_s.t == RPM_STRING_TYPE || he_s.t == RPM_STRING_ARRAY_TYPE))
- return;
-
- /* XXX Make 0x3fffffff disappear for now. Signature? */
-- if (he->tag == 0x3fffffff && he->t == RPM_BIN_TYPE)
-+ if (he_s.tag == 0x3fffffff && he_s.t == RPM_BIN_TYPE)
- return;
-
- /* XXX hack around known borkage for now. */
--if (!(he->tag == 62))
--if (!(he->tag == 261 || he->tag == 269))
--if (!(he->tag == 1000 || he->tag == 1004 || he->tag == 1007))
--if (!(he->tag == 1029))
--if (!(he->tag == 1086 || he->tag == 1087))
--if (he->t != (tagType(he->tag) & 0xffff))
--fprintf(stderr, "==> warning: tag %u type(0x%x) != implicit type(0x%x)\n", (unsigned) he->tag, he->t, tagType(he->tag));
-+if (!(he_s.tag == 62))
-+if (!(he_s.tag == 261 || he_s.tag == 269))
-+if (!(he_s.tag == 1000 || he_s.tag == 1004 || he_s.tag == 1007))
-+if (!(he_s.tag == 1029))
-+if (!(he_s.tag == 1086 || he_s.tag == 1087))
-+if (he_s.t != (tagType(he_s.tag) & 0xffff))
-+fprintf(stderr, "==> warning: tag %u type(0x%x) != implicit type(0x%x)\n", (unsigned) he_s.tag, he_s.t, tagType(he_s.tag));
- }
- #endif
diff --git a/rpm-python-enable-compat-RPMSENSE.patch b/rpm-python-enable-compat-RPMSENSE.patch
deleted file mode 100644
index e3b7701..0000000
--- a/rpm-python-enable-compat-RPMSENSE.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/python/rpmmodule.c~ 2012-04-25 22:41:43.000000000 +0200
-+++ rpm-5.4.10/python/rpmmodule.c 2012-09-24 12:22:53.535610753 +0200
-@@ -493,7 +493,7 @@
- REGISTER_ENUM(RPMSENSE_EQUAL);
- REGISTER_ENUM(RPMSENSE_NOTEQUAL);
- REGISTER_ENUM(RPMSENSE_FIND_REQUIRES);
--#if defined(RPM_VENDOR_MANDRIVA)
-+#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_PLD)
- REGISTER_ENUM(RPMSENSE_PREREQ);
- REGISTER_ENUM(RPMSENSE_SCRIPT_PRE);
- REGISTER_ENUM(RPMSENSE_SCRIPT_POST);
diff --git a/rpm-python-sitescriptdir.patch b/rpm-python-sitescriptdir.patch
deleted file mode 100644
index a2ffddc..0000000
--- a/rpm-python-sitescriptdir.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- rpm-5.4.10/lib/rpmfc.c~ 2012-12-01 21:13:39.985319735 +0100
-+++ rpm-5.4.10/lib/rpmfc.c 2013-01-24 12:21:26.379891972 +0100
-@@ -1142,7 +1142,7 @@
- /* Generate package and per-file dependencies. */
- for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
-
-- /* XXX Insure that /usr/lib{,64}/python files are marked RPMFC_PYTHON */
-+ /* XXX Insure that /usr/{share,lib{,64}}/python files are marked RPMFC_PYTHON */
- /* XXX HACK: classification by path is intrinsically stupid. */
- { fn = strstr(fc->fn[fc->ix], "/usr/lib");
- if (fn) {
-@@ -1166,6 +1166,13 @@
- fc->fcolor->vals[fc->ix] & RPMFC_LIBRARY)
- fc->fcolor->vals[fc->ix] |= (RPMFC_MODULE|RPMFC_SCRIPT);
- }
-+ fn = strstr(fc->fn[fc->ix], "/usr/share");
-+ if (fn) {
-+ fn += sizeof("/usr/share")-1;
-+ if (!strncmp(fn, "/python", sizeof("/python")-1))
-+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
-+ }
-+ }
- }
-
- /* XXX ugly quick & dirty integration of haskell() dependencies */
diff --git a/rpm-python-spec-header.patch b/rpm-python-spec-header.patch
deleted file mode 100644
index d56b6b2..0000000
--- a/rpm-python-spec-header.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -ur rpm-5.4.15/python/spec-py.c rpm-5.4.15-pyspec/python/spec-py.c
---- rpm-5.4.15/python/spec-py.c 2016-05-11 21:38:24.970137574 +0200
-+++ rpm-5.4.15-pyspec/python/spec-py.c 2016-05-10 22:47:04.748529737 +0200
-@@ -8,6 +8,9 @@
- #include <rpmio.h>
- #define _MACRO_INTERNAL
- #include <rpmmacro.h>
-+#define _RPMTAG_INTERNAL
-+#include "header_internal.h" /* XXX HEADERFLAG_ALLOCATED */
-+#include "header-py.h"
- #include "spec-py.h"
-
- /** \ingroup python
-@@ -192,6 +195,34 @@
-
- }
-
-+static PyObject *
-+spec_get_headers(specObject *s)
-+ /*@*/
-+{
-+ PyObject *headerList;
-+ Spec spec;
-+ Package package;
-+ Header header;
-+
-+ headerList = PyList_New(0);
-+ if (!headerList) {
-+ return NULL;
-+ }
-+ spec = specFromSpec(s);
-+ if ( spec != NULL) {
-+ package = spec->packages;
-+
-+ while (package != NULL) {
-+ header = package->header;
-+ if (header != NULL)
-+ PyList_Append(headerList, (PyObject *) hdr_Wrap(header));
-+ package = package->next;
-+ }
-+ }
-+
-+ return PyList_AsTuple(headerList);
-+}
-+
- /**
- */
- /*@unchecked@*/ /*@observer@*/
-@@ -208,6 +239,7 @@
- {"clean", (PyCFunction) spec_get_clean, METH_VARARGS, NULL },
- {"buildRoot", (PyCFunction) spec_get_buildroot, METH_VARARGS, NULL },
- {"macros", (PyCFunction) spec_get_macros, METH_VARARGS, NULL },
-+ {"headers", (PyCFunction) spec_get_headers, METH_VARARGS, NULL },
- {NULL} /* Sentinel */
- };
- /*@=fullinitblock@*/
diff --git a/rpm-pythoneggs.patch b/rpm-pythoneggs.patch
deleted file mode 100644
index 15c848d..0000000
--- a/rpm-pythoneggs.patch
+++ /dev/null
@@ -1,82 +0,0 @@
---- rpm-5.4.15.org/scripts/pythoneggs.py 2012-05-08 00:39:11.000000000 +0200
-+++ rpm-5.4.15/scripts/pythoneggs.py 2018-09-27 10:32:34.661059061 +0200
-@@ -16,7 +16,8 @@ from pkg_resources import Distribution,
- from distutils.sysconfig import get_python_lib
- from subprocess import Popen, PIPE, STDOUT
- import os
--
-+import platform
-+import re
-
- opts, args = getopt(argv[1:], 'hPRSCOEb:',
- ['help', 'provides', 'requires', 'suggests', 'conflicts', 'obsoletes', 'extras','buildroot='])
-@@ -29,6 +30,13 @@ Obsoletes = False
- Extras = False
- buildroot = None
-
-+def make_pldver(raw):
-+ if re.match(r'^[0-9\.]+$', raw) == None:
-+ pldver = re.sub(r'([\d\.]+)(.+)', r'\1-0.\2', raw)
-+ else:
-+ pldver = raw
-+ return pldver
-+
- for o, a in opts:
- if o in ('-h', '--help'):
- print '-h, --help\tPrint help'
-@@ -125,11 +133,14 @@ for f in files:
- if not name in py_deps:
- py_deps[name] = []
- py_deps[name].append(('==', dist.py_version))
-- name = 'pythonegg(%s)' % dist.key
-+ if dist.py_version .split(".")[0] == '3':
-+ name = 'python3egg(%s)' % dist.key
-+ else:
-+ name = 'pythonegg(%s)' % dist.key
- if not name in py_deps:
- py_deps[name] = []
- if dist.version:
-- spec = ('==', dist.version)
-+ spec = ('==', make_pldver(dist.version))
- if not spec in py_deps[name]:
- py_deps[name].append(spec)
- if Requires or (Suggests and dist.extras):
-@@ -145,6 +156,14 @@ for f in files:
- spec = ('==', dist.py_version)
- if not spec in py_deps[name]:
- py_deps[name].append(spec)
-+ # fake python version for dist.requires(), so deps like
-+ # [:python_version < '3']
-+ # enum34
-+ # will be handled correctly
-+ old_python_version = platform.python_version
-+ def new_python_version():
-+ return dist.py_version
-+ platform.python_version = new_python_version
- deps = dist.requires()
- if Suggests:
- depsextras = dist.requires(extras=dist.extras)
-@@ -153,15 +172,20 @@ for f in files:
- if dep in deps:
- depsextras.remove(dep)
- deps = depsextras
-+ platform.python_version = old_python_version
- # add requires/suggests based on egg metadata
- for dep in deps:
-- name = 'pythonegg(%s)' % dep.key
-+ if dist.py_version .split(".")[0] == '3':
-+ name = 'python3egg(%s)' % dep.key
-+ else:
-+ name = 'pythonegg(%s)' % dep.key
- for spec in dep.specs:
- if spec[0] != '!=':
- if not name in py_deps:
- py_deps[name] = []
-- if not spec in py_deps[name]:
-- py_deps[name].append(spec)
-+ plddep = (spec[0], make_pldver(spec[1]))
-+ if not plddep in py_deps[name]:
-+ py_deps[name].append(plddep)
- if not dep.specs:
- py_deps[name] = []
- # Unused, for automatic sub-package generation based on 'extras' from egg metadata
diff --git a/rpm-query-always-noisy.patch b/rpm-query-always-noisy.patch
deleted file mode 100644
index 4b82476..0000000
--- a/rpm-query-always-noisy.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- rpm-5.4.10/lib/query.c~ 2012-05-08 02:06:44.000000000 +0200
-+++ rpm-5.4.10/lib/query.c 2012-09-21 13:42:12.013607913 +0200
-@@ -522,6 +522,10 @@
- case RPMQV_WHATCONFLICTS:
- case RPMQV_WHATOBSOLETES:
- qva->qva_mi = rpmtsInitIterator(ts, (rpmTag) qva->qva_source, arg, 0);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("key \"%s\" not found in %s table\n"),
- arg, tagName((rpmTag)qva->qva_source));
-@@ -593,6 +597,10 @@
- tag = (qva->qva_source == RPMQV_PKGID
- ? RPMTAG_SOURCEPKGID : RPMTAG_PKGID);
- qva->qva_mi = rpmtsInitIterator(ts, (rpmTag) tag, MD5, MD5len);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
- "pkgid", arg);
-@@ -610,6 +618,10 @@
- }
-
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_SHA1HEADER, arg, 0);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
- "hdrid", arg);
-@@ -637,6 +649,10 @@
- *t = (nibble(s[0]) << 4) | nibble(s[1]);
-
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEDIGESTS, digest, dlen);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
- "fileid", arg);
-@@ -666,6 +682,10 @@
- return 1;
- }
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_INSTALLTID, &iid, sizeof(iid));
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
- "tid", arg);
-@@ -677,6 +697,10 @@
- case RPMQV_WHATNEEDS:
- case RPMQV_WHATREQUIRES:
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, arg, 0);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package requires %s\n"), arg);
- res = 1;
-@@ -688,6 +712,10 @@
- if (arg[0] != '/') {
- provides_checked = 1;
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, arg, 0);
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE, _("no package provides %s\n"), arg);
- res = 1;
-@@ -732,7 +732,7 @@
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEPATHS, fn, 0);
- if (qva->qva_mi == NULL && !provides_checked && !gotpattern) {
- qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, fn, 0);
--#if defined(RPM_VENDOR_MANDRIVA)
-+#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_PLD)
- if(rpmmiCount(qva->qva_mi) == 0)
- qva->qva_mi = rpmmiFree(qva->qva_mi);
- #endif
-@@ -774,6 +802,10 @@
- }
- rpmlog(RPMLOG_DEBUG, D_("package record number: %u\n"), (unsigned)hdrNum);
- qva->qva_mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, &hdrNum, sizeof(hdrNum));
-+#if defined(RPM_VENDOR_PLD)
-+ if(rpmmiCount(qva->qva_mi) == 0)
-+ qva->qva_mi = rpmmiFree(qva->qva_mi);
-+#endif
- if (qva->qva_mi == NULL) {
- rpmlog(RPMLOG_NOTICE,
- _("record %u could not be read\n"), (unsigned)hdrNum);
diff --git a/rpm-remove-misleading-missing-patch-message.patch b/rpm-remove-misleading-missing-patch-message.patch
deleted file mode 100644
index a31ec78..0000000
--- a/rpm-remove-misleading-missing-patch-message.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- rpm-5.4.10/rpmio/macro.c~ 2012-09-17 14:07:24.201198493 +0200
-+++ rpm-5.4.10/rpmio/macro.c 2012-09-17 18:10:28.221354435 +0200
-@@ -3054,6 +3054,17 @@
- #endif
-
- *compressed = COMPRESSED_NOT;
-+#if defined(RPM_VENDOR_PLD)
-+ /*
-+ * Workaround for misleading message:
-+ * error: File %PATCH666: No such file or directory
-+ * It happens when there is no "PatchXXX: " definition
-+ * and spec contains commented out %patchXXX macro
-+ * http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/5d3a3ea257d7f88e59d0ad93c20cc8448fb42f3d
-+ */
-+ if ((strlen(file) > 6) && (strncasecmp(file, "%PATCH", 6) == 0))
-+ return 0;
-+#endif
-
- #if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_FEDORA) || defined(RPM_VENDOR_MANDRIVA) /* extension-based-compression-detection */
- file_len = strlen(file);
diff --git a/rpm-repackage-dont-force-max-compression.patch b/rpm-repackage-dont-force-max-compression.patch
deleted file mode 100644
index 7c2a25d..0000000
--- a/rpm-repackage-dont-force-max-compression.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/lib/psm.c~ 2013-03-17 13:34:31.534601434 +0100
-+++ rpm-5.4.10/lib/psm.c 2013-03-25 13:46:18.326658890 +0100
-@@ -3017,7 +3017,7 @@
-
- psm->rpmio_flags = t = (char *) xmalloc(sizeof("w9.gzdio"));
- *t = '\0';
-- t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w9" : "r"));
-+ t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w6" : "r"));
- if (!strcmp(payload_compressor, "gzip"))
- t = stpcpy(t, ".gzdio");
- if (!strcmp(payload_compressor, "bzip2"))
diff --git a/rpm-revert-gpg-argv-parsing.patch b/rpm-revert-gpg-argv-parsing.patch
deleted file mode 100644
index a3d0d62..0000000
--- a/rpm-revert-gpg-argv-parsing.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -urN rpm-5.4.10/rpmdb/signature.c rpm-5.4.12/rpmdb/signature.c
---- rpm-5.4.10/rpmdb/signature.c 2012-04-17 01:43:35.000000000 +0200
-+++ rpm-5.4.12/rpmdb/signature.c 2013-06-28 18:42:13.000000000 +0200
-@@ -12,7 +12,6 @@
- #include <rpmmacro.h> /* XXX for rpmGetPath() */
- #include <rpmhkp.h>
- #include <rpmku.h>
--#include <argv.h>
-
- #include <rpmtag.h>
- #include "rpmdb.h"
-@@ -503,7 +504,7 @@
-
- if (!(pid = fork())) {
- const char * cmd;
-- ARGV_t av;
-+ char *const *av;
- int fdno;
-
- xx = close(STDIN_FILENO);
-@@ -528,16 +529,13 @@
- (void) setenv("GNUPGHOME", gpg_path, 1);
-
- cmd = rpmExpand("%{?__gpg_check_password_cmd}", NULL);
-- rc = argvSplit(&av, cmd, NULL);
-+ rc = poptParseArgvString(cmd, NULL, (const char ***)&av);
- if (!rc)
-- rc = execve(av[0], (char *const *)av+1, environ);
-+ rc = execve(av[0], av+1, environ);
-
- rpmlog(RPMLOG_ERR, _("Could not exec %s: %s\n"), "gpg",
- strerror(errno));
-- cmd = _free(cmd);
-- gpg_path = _free(gpg_path);
- }
-- av = argvFree(av);
- }
-
- pw = rpmkuPassPhrase(passPhrase);
diff --git a/rpm-rpmspec.patch b/rpm-rpmspec.patch
deleted file mode 100644
index 6eb9d2d..0000000
--- a/rpm-rpmspec.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-diff -urN rpm-5.4.13/build/parseSpec.c rpm-5.4.13-rpmspec/build/parseSpec.c
---- rpm-5.4.13/build/parseSpec.c 2013-10-22 20:18:34.483039876 +0200
-+++ rpm-5.4.13-rpmspec/build/parseSpec.c 2013-10-22 18:52:02.550664732 +0200
-@@ -474,6 +474,11 @@
- spec->line[0] = '\0';
- }
-
-+ /* Collect parsed line */
-+ if (spec->parsed == NULL)
-+ spec->parsed = rpmiobNew(0);
-+ spec->parsed = rpmiobAppend(spec->parsed, spec->line, 1);
-+
- /*@-compmempass@*/ /* FIX: spec->readStack->next should be dependent */
- return 0;
- /*@=compmempass@*/
-diff -urN rpm-5.4.13/build/rpmspec.h rpm-5.4.13-rpmspec/build/rpmspec.h
---- rpm-5.4.13/build/rpmspec.h 2013-10-22 20:18:34.449706143 +0200
-+++ rpm-5.4.13-rpmspec/build/rpmspec.h 2013-10-22 18:44:37.729692113 +0200
-@@ -193,6 +193,8 @@
- /*@only@*/
- rpmiob clean; /*!< %clean scriptlet. */
-
-+ rpmiob parsed;
-+
- size_t nfoo;
- /*@only@*/ /*@relnull@*/
- tagStore_t foo;
---- rpm-5.4.13/build/spec.c~ 2013-07-27 02:16:06.000000000 +0200
-+++ rpm-5.4.13/build/spec.c 2013-10-23 13:01:36.596670702 +0200
-@@ -562,6 +562,7 @@
- spec->install = rpmiobFree(spec->install);
- spec->check = rpmiobFree(spec->check);
- spec->clean = rpmiobFree(spec->clean);
-+ spec->parsed = rpmiobFree(spec->parsed);
- spec->foo = tagStoreFree(spec->foo, spec->nfoo);
- spec->nfoo = 0;
-
-diff -urN rpm-5.4.13/tools/Makefile.am rpm-5.4.13-rpmspec/tools/Makefile.am
---- rpm-5.4.13/tools/Makefile.am 2013-10-22 20:18:34.426372530 +0200
-+++ rpm-5.4.13-rpmspec/tools/Makefile.am 2013-10-22 20:02:30.365350944 +0200
-@@ -61,7 +61,7 @@
- pkgbin_PROGRAMS = \
- @WITH_AUGEAS_AUGTOOL@ chroot cp @WITH_CUDF_CUDFTOOL@ find mtree \
- @WITH_SEMANAGE_SEMODULE@ wget \
-- rpmcache rpmdigest rpmrepo rpmspecdump \
-+ rpmcache rpmdigest rpmrepo rpmspecdump rpmspec \
- rpmcmp rpmdeps sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
- if WITH_DB
- pkgbin_PROGRAMS += dbconvert
-@@ -195,6 +195,9 @@
- rpmspecdump_SOURCES = rpmspecdump.c
- rpmspecdump_LDADD = $(RPMBUILD_LDADD_COMMON)
-
-+rpmspec_SOURCES = rpmspec.c
-+rpmspec_LDADD = $(RPMBUILD_LDADD_COMMON)
-+
- semodule_SOURCES = semodule.c
- semodule_LDADD = $(RPMIO_LDADD_COMMON)
-
-diff -urN rpm-5.4.13/tools/rpmspec.c rpm-5.4.13-rpmspec/tools/rpmspec.c
---- rpm-5.4.13/tools/rpmspec.c 1970-01-01 01:00:00.000000000 +0100
-+++ rpm-5.4.13-rpmspec/tools/rpmspec.c 2013-10-22 20:00:06.075242852 +0200
-@@ -0,0 +1,176 @@
-+#include "system.h"
-+const char *__progname;
-+
-+#define _AUTOHELP
-+
-+#if defined(IAM_RPM) || defined(__LCLINT__)
-+#define IAM_RPMBT
-+#define IAM_RPMDB
-+#define IAM_RPMEIU
-+#define IAM_RPMQV
-+#define IAM_RPMK
-+#endif
-+
-+#include <rpmio.h>
-+#include <rpmiotypes.h>
-+#include <poptIO.h>
-+
-+#include <rpmtypes.h>
-+#include <rpmtag.h>
-+#include "rpmdb.h"
-+
-+#include "rpmversion.h"
-+#include "rpmps.h"
-+#include "rpmts.h"
-+
-+#include <rpmbuild.h>
-+
-+#ifdef IAM_RPMBT
-+#include "build.h"
-+#define GETOPT_REBUILD 1003
-+#define GETOPT_RECOMPILE 1004
-+#endif
-+
-+#include <rpmcli.h>
-+
-+#include "debug.h"
-+
-+enum modes {
-+ MODE_UNKNOWN = 0,
-+ MODE_QUERY = (1 << 0),
-+ MODE_PARSE = (1 << 1),
-+};
-+
-+static int mode = MODE_UNKNOWN;
-+static rpmQVSources source = RPMQV_RPM;
-+static const char *target = NULL;
-+static char *queryformat = NULL;
-+
-+static struct poptOption specOptsTable[] = {
-+ { "parse", 'P', POPT_ARG_VAL, &mode, MODE_PARSE,
-+ N_("parse spec file(s) to stdout"), NULL },
-+ { "query", 'q', POPT_ARG_VAL, &mode, MODE_QUERY,
-+ N_("query spec file(s)"), NULL },
-+ { "rpms", 0, POPT_ARG_VAL, &source, RPMQV_RPM,
-+ N_("operate on binary rpms generated by spec (default)"), NULL },
-+ { "srpm", 0, POPT_ARG_VAL, &source, RPMQV_SPECSRPM,
-+ N_("operate on source rpm generated by spec"), NULL },
-+ { "target", 0, POPT_ARG_STRING, &target, 0,
-+ N_("override target platform"), NULL },
-+ { "queryformat", 0, POPT_ARG_STRING, &queryformat, 0,
-+ N_("use the following query format"), "QUERYFORMAT" },
-+ { "qf", 0, (POPT_ARG_STRING | POPT_ARGFLAG_DOC_HIDDEN), &queryformat, 0,
-+ NULL, NULL },
-+ POPT_TABLEEND
-+};
-+
-+/* the structure describing the options we take and the defaults */
-+static struct poptOption optionsTable[] = {
-+ { NULL, '\0', POPT_ARG_INCLUDE_TABLE, specOptsTable, 0,
-+ N_("Spec options:"), NULL },
-+
-+ { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliAllPoptTable, 0,
-+ N_("Common options for all rpm modes and executables:"), NULL },
-+
-+ POPT_AUTOALIAS
-+ POPT_AUTOHELP
-+ POPT_TABLEEND
-+};
-+
-+/*@exits@*/ static void argerror(const char * desc)
-+ /*@globals __assert_program_name, fileSystem @*/
-+ /*@modifies fileSystem @*/
-+{
-+ fprintf(stderr, _("%s: %s\n"), __progname, desc);
-+ exit(EXIT_FAILURE);
-+}
-+
-+#ifdef DYING /* XXX rpmIsVerbose alone stops usage spewage with every --eval */
-+static void printVersion(FILE * fp)
-+ /*@globals rpmEVR, fileSystem @*/
-+ /*@modifies *fp, fileSystem @*/
-+{
-+ fprintf(fp, "%s (" RPM_NAME ") %s\n", __progname, rpmEVR);
-+ if (rpmIsVerbose())
-+ fprintf(fp, "rpmlib 0x%08x,0x%08x,0x%08x\n",
-+ rpmlibVersion(), rpmlibTimestamp(), rpmlibVendor());
-+}
-+
-+static void printUsage(poptContext con, FILE * fp, int flags)
-+ /*@globals rpmEVR, fileSystem, internalState @*/
-+ /*@modifies *fp, fileSystem, internalState @*/
-+{
-+ printVersion(fp);
-+ fprintf(fp, "\n");
-+
-+ if (rpmIsVerbose())
-+ poptPrintHelp(con, fp, flags);
-+ else
-+ poptPrintUsage(con, fp, flags);
-+}
-+#endif
-+
-+int main(int argc, char *argv[])
-+{
-+ rpmts ts = NULL;
-+ QVA_t qva = &rpmQVKArgs;
-+
-+ poptContext optCon;
-+ int ec = 0;
-+
-+ optCon = rpmcliInit(argc, argv, optionsTable);
-+
-+ if (target) {
-+ rpmFreeMacros(NULL);
-+ rpmFreeRpmrc();
-+ rpmcliConfigured();
-+ }
-+
-+ ts = rpmtsCreate();
-+ switch (mode) {
-+
-+ case MODE_QUERY:
-+ if (!poptPeekArg(optCon))
-+ argerror(_("no arguments given for query"));
-+
-+ qva->qva_queryFormat = queryformat;
-+ qva->qva_source = source;
-+ qva->qva_specQuery = rpmspecQuery;
-+ ec = rpmcliQuery(ts, qva, (const char **) poptGetArgs(optCon));
-+ break;
-+
-+ case MODE_PARSE: {
-+ const char * spath;
-+ if (!poptPeekArg(optCon))
-+ argerror(_("no arguments given for parse"));
-+
-+ while ((spath = poptGetArg(optCon)) != NULL) {
-+ int ret = parseSpec(ts, spath, "/", 0, NULL, NULL, 1, 1, 0);
-+ if (ret != 0) {
-+ ec++;
-+ continue;
-+ }
-+ Spec spec = rpmtsSpec(ts);
-+ fprintf(stdout, "%s", rpmiobStr(spec->parsed));
-+ }
-+ break;
-+ }
-+
-+ case MODE_UNKNOWN:
-+#ifdef DYING /* XXX rpmIsVerbose alone stops usage spewage with every --eval */
-+ if (poptPeekArg(optCon) != NULL || argc <= 1 || rpmIsVerbose()) {
-+ printUsage(optCon, stderr, 0);
-+ ec = argc;
-+ }
-+#endif
-+ break;
-+ }
-+
-+ rpmtsFree(ts);
-+
-+ free(qva->qva_queryFormat);
-+
-+ rpmcliFini(optCon);
-+
-+ return ec;
-+}
diff --git a/rpm-rpmtdnext.patch b/rpm-rpmtdnext.patch
deleted file mode 100644
index 5b7d486..0000000
--- a/rpm-rpmtdnext.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rpm-5.4.15/lib/rpm46compat.h.rpmtdnext 2015-02-02 21:41:55.016116655 +0100
-+++ rpm-5.4.15/lib/rpm46compat.h 2015-02-02 21:47:06.407763121 +0100
-@@ -223,6 +223,9 @@ static inline int headerGet_RPMorg(Heade
- rflags &= ~HEADERGET_NOI18NSTRING;
-
- rc = headerGet(h, (HE_t)he, rflags);
-+
-+ /* XXX: Hack. headerGet() sets he->ix to 0 whereas rpmtdNext expects it to be -1 initially */
-+ he->ix = -1;
-
- return rc;
- }
diff --git a/rpm-verify-ghosts-broken-logic.patch b/rpm-verify-ghosts-broken-logic.patch
deleted file mode 100644
index a9284c8..0000000
--- a/rpm-verify-ghosts-broken-logic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- rpm-5.4.10/lib/verify.c.orig 2012-09-22 18:33:59.791810053 +0200
-+++ rpm-5.4.10/lib/verify.c 2012-09-22 18:33:34.921810920 +0200
-@@ -594,7 +594,7 @@
- continue;
-
- /* If not verifying %ghost, skip ghost files. */
-- if (!FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST))
-+ if (FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST))
- continue;
-
- /* Gather per-file data into a carrier. */
diff --git a/skip-ldconfig-optimization.patch b/skip-ldconfig-optimization.patch
deleted file mode 100644
index 917a8fc..0000000
--- a/skip-ldconfig-optimization.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2016-May/024910.html
-
-patch from jbj answer:
-http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2016-May/024913.html
-
-On May 31, 2016, at 2:52 AM, Elan Ruusamäe wrote:
-
-> On 31.05.2016 09:45, Elan Ruusamäe wrote:
->> [root at 57c8cccdc671 bin]# poldek -u procps
-> oh, and it's 100% reproducible:
->
-
-Yes. And it has been discussed many times over the last 15y,
-several times on this list.
-
-Short answer:
- Disable the mechanism with attached patch to lib/psm.c
- - OR --
- Don't use
- %scriptlet -p /sbin/ldconfig
- in packages that are known to invoke an executable that depends on
- a new library.
-
-Longer answer:
- Libraries often have scriptlets like this:
- %post -p /sbin/ldconfig
- %postun -p /sbin/ldconfig
- (or the equivalent within a scriptlet body).
-
- On upgrade, with install before erase, this results in 2 executions of /sbin/ldconfig.
-
- One of those invocations is redundant when a library is being replaced, the
- install %post is sufficient to make the library avaialble for loading.
-
- The redundant invocation of /sbin/ldconfig was deemed a performance flaw @redhat,
- where I was asked to implement the current optimization.
-
- So the RPM optimization detects when /sbin/ldconfig has just been run, and skips the next
- %scriptlet -p /sbin/ldconfig
- (when written exactly like that) if /sbin/ldconfig has been executed.
-
- Issues are only seen when a scriptlet contains an executable that needs
- a changed API: this is usually a very rare occurrence
-
- There are other flaws with the optimization when dependency loops break the sorted order
- (and/or --noorder is used). , and the fix of running /sbin/ldconfig manually is rather simple
- (even if the problem is obscure).
-
- There is another flaw (as in your report), when the very last package
- has a pending skipped /sbin/ldconfig invocation.
-
- The fix of running /sbin/ldconfig manually is rather simple
- (even if the problem is obscure).
-
-hth
-
-73 de Jeff
-===================================================================
-RCS file: /v/rpm/cvs/rpm/lib/psm.c,v
-retrieving revision 2.399.2.20
-diff -p -u -w -r2.399.2.20 psm.c
---- ./lib/psm.c 11 May 2015 21:10:16 -0000 2.399.2.20
-+++ ./lib/psm.c 31 May 2016 15:19:20 -0000
-@@ -800,7 +800,7 @@ static rpmRC runEmbeddedScript(rpmpsm ps
- static int ldconfig_done = 0;
-
- /*@unchecked@*/ /*@observer@*/ /*@null@*/
--static const char * ldconfig_path = "/sbin/ldconfig";
-+static const char * ldconfig_path = NULL;
-
- /**
- * Run scriptlet with args.
-
-
diff --git a/x32.patch b/x32.patch
index 900aa64..bb34415 100644
--- a/x32.patch
+++ b/x32.patch
@@ -12,20 +12,20 @@
alpha*) RPMCANONARCH=alpha ;;
sparc64*) RPMCANONARCH=sparc64 ;;
sparc*) RPMCANONARCH=sparc ;;
---- rpm-5.4.15/lib/rpmfc.c.orig 2014-12-20 16:50:32.000000000 +0100
-+++ rpm-5.4.15/lib/rpmfc.c 2014-12-20 18:32:11.641808153 +0100
+--- rpm-5.4.15/build/rpmfc.c.orig 2014-12-20 16:50:32.000000000 +0100
++++ rpm-5.4.15/build/rpmfc.c 2014-12-20 18:32:11.641808153 +0100
@@ -581,6 +581,7 @@
- { "MIPS, N32 MIPS32", RPMFC_ELFMIPSN32|RPMFC_INCLUDE },
+
{ "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE },
{ "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE },
+// { "ELF 32-bit", RPMFC_ELFX32|RPMFC_INCLUDE },
- { " script", RPMFC_SCRIPT },
- { " text", RPMFC_TEXT },
+ { "troff or preprocessor input", RPMFC_INCLUDE },
+ { "GNU Info", RPMFC_INCLUDE },
@@ -685,7 +686,11 @@
- for (fct = rpmfcTokens; fct->token != NULL; fct++) {
if (strstr(fmstr, fct->token) == NULL)
continue;
+
- fcolor |= fct->colors;
+ // This is a nasty hack, but will have to do for now
+ if ((fct->colors & RPMFC_ELF32) && (strstr(fmstr, "x86-64") != NULL))
@@ -35,8 +35,8 @@
if (fcolor & RPMFC_INCLUDE)
return fcolor;
}
---- rpm-5.4.15/lib/rpmfc.h.orig 2014-12-20 17:51:48.584934979 +0100
-+++ rpm-5.4.15/lib/rpmfc.h 2014-12-20 17:56:14.690160030 +0100
+--- rpm-5.4.15/build/rpmfc.h.orig 2014-12-20 17:51:48.584934979 +0100
++++ rpm-5.4.15/build/rpmfc.h 2014-12-20 17:56:14.690160030 +0100
@@ -20,8 +20,9 @@
RPMFC_BLACK = 0,
RPMFC_ELF32 = (1 << 0),
@@ -48,80 +48,6 @@
/* (1 << 3) leaks into package headers, reserved */
RPMFC_DESKTOP_FILE = (1 << 4),
-diff -ur rpm-5.4.15/autodeps/linux.prov rpm-5.4.15.x32/autodeps/linux.prov
---- rpm-5.4.15/autodeps/linux.prov 2010-03-18 10:54:56.000000000 +0100
-+++ rpm-5.4.15.x32/autodeps/linux.prov 2014-12-20 19:18:57.339941715 +0100
-@@ -16,8 +16,12 @@
-
- #
- # --- Alpha does not mark 64bit dependencies
-+# --- Only x86_64 has x32bit dependencies
-+markx32=""
- case `uname -m` in
- alpha*) mark64="" ;;
-+ x86_64) markx32="()(x32bit)"
-+ mark64="()(64bit)" ;;
- *) mark64="()(64bit)" ;;
- esac
-
-@@ -28,6 +32,10 @@
-
- lib64=`if file -L $f 2>/dev/null | \
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
-+ libx32=`if file -L $f 2>/dev/null | \
-+ grep "ELF 32-bit.*x86-64" > /dev/null; \
-+ then echo "$markx32"; fi`
-+ lib64="$lib64$libx32"
- if [ "$soname" != "" ]; then
- if [ ! -L $f ]; then
- echo $soname$lib64
-Only in rpm-5.4.15.x32/autodeps: linux.prov.orig
-diff -ur rpm-5.4.15/autodeps/linux.req rpm-5.4.15.x32/autodeps/linux.req
---- rpm-5.4.15/autodeps/linux.req 2010-03-18 10:54:56.000000000 +0100
-+++ rpm-5.4.15.x32/autodeps/linux.req 2014-12-20 19:20:04.622910545 +0100
-@@ -38,8 +38,12 @@
-
- #
- # --- Alpha does not mark 64bit dependencies
-+# --- Only x86_64 has x32bit dependencies
-+markx32=""
- case `uname -m` in
- alpha*) mark64="" ;;
-+ x86_64) markx32="()(x32bit)"
-+ mark64="()(64bit)" ;;
- *) mark64="()(64bit)" ;;
- esac
-
-@@ -50,6 +54,9 @@
- [ -r $f -a -x $f ] || continue
- lib64=`if file -L $f 2>/dev/null | \
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
-+ libx32=`if file -L $f 2>/dev/null | \
-+ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
-+ lib64="$lib64$libx32"
- ldd $f | awk '/=>/ {
- if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
- gsub(/'\''"/,"\\&",$1);
-@@ -64,6 +71,9 @@
- [ -r $f ] || continue
- lib64=`if file -L $f 2>/dev/null | \
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
-+ libx32=`if file -L $f 2>/dev/null | \
-+ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
-+ lib64="$lib64$libx32"
- ldd $f | awk '/=>/ {
- if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
- gsub(/'\''"/,"\\&",$1);
-@@ -98,6 +108,9 @@
- [ -r $f ] || continue
- lib64=`if file -L $f 2>/dev/null | \
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
-+ libx32=`if file -L $f 2>/dev/null | \
-+ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
-+ lib64="$lib64$libx32"
- $OBJDUMP -p $f | awk 'BEGIN { START=0; LIBNAME=""; needed='$needed'; }
- /^$/ { START=0; }
- /^Dynamic Section:$/ { START=1; }
diff -ur rpm-5.4.15/lib/rpmds.c rpm-5.4.15.x32/lib/rpmds.c
--- rpm-5.4.15/lib/rpmds.c 2014-12-20 19:35:31.114557975 +0100
+++ rpm-5.4.15.x32/lib/rpmds.c 2014-12-20 19:34:54.958087185 +0100
@@ -245,3 +171,76 @@ diff -ur rpm-5.4.15/build/parseSpec.c rpm-5.4.15-fixed/build/parseSpec.c
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
he->tag = RPMTAG_OS;
+diff -ur rpm-5.4.15/autodeps/linux.prov rpm-5.4.15.x32/autodeps/linux.prov
+--- rpm-5.4.15/autodeps/linux.prov 2010-03-18 10:54:56.000000000 +0100
++++ rpm-5.4.15.x32/autodeps/linux.prov 2014-12-20 19:18:57.339941715 +0100
+@@ -16,8 +16,12 @@
+
+ #
+ # --- Alpha does not mark 64bit dependencies
++# --- Only x86_64 has x32bit dependencies
++markx32=""
+ case `uname -m` in
+ alpha*) mark64="" ;;
++ x86_64) markx32="()(x32bit)"
++ mark64="()(64bit)" ;;
+ *) mark64="()(64bit)" ;;
+ esac
+
+@@ -28,6 +32,10 @@
+
+ lib64=`if file -L $f 2>/dev/null | \
+ grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
++ libx32=`if file -L $f 2>/dev/null | \
++ grep "ELF 32-bit.*x86-64" > /dev/null; \
++ then echo "$markx32"; fi`
++ lib64="$lib64$libx32"
+ if [ "$soname" != "" ]; then
+ if [ ! -L $f ]; then
+ echo $soname$lib64
+diff -ur rpm-5.4.15/autodeps/linux.req rpm-5.4.15.x32/autodeps/linux.req
+--- rpm-5.4.15/autodeps/linux.req 2010-03-18 10:54:56.000000000 +0100
++++ rpm-5.4.15.x32/autodeps/linux.req 2014-12-20 19:20:04.622910545 +0100
+@@ -38,8 +38,12 @@
+
+ #
+ # --- Alpha does not mark 64bit dependencies
++# --- Only x86_64 has x32bit dependencies
++markx32=""
+ case `uname -m` in
+ alpha*) mark64="" ;;
++ x86_64) markx32="()(x32bit)"
++ mark64="()(64bit)" ;;
+ *) mark64="()(64bit)" ;;
+ esac
+
+@@ -50,6 +54,9 @@
+ [ -r $f -a -x $f ] || continue
+ lib64=`if file -L $f 2>/dev/null | \
+ grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
++ libx32=`if file -L $f 2>/dev/null | \
++ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
++ lib64="$lib64$libx32"
+ ldd $f | awk '/=>/ {
+ if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
+ gsub(/'\''"/,"\\&",$1);
+@@ -64,6 +71,9 @@
+ [ -r $f ] || continue
+ lib64=`if file -L $f 2>/dev/null | \
+ grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
++ libx32=`if file -L $f 2>/dev/null | \
++ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
++ lib64="$lib64$libx32"
+ ldd $f | awk '/=>/ {
+ if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
+ gsub(/'\''"/,"\\&",$1);
+@@ -98,6 +108,9 @@
+ [ -r $f ] || continue
+ lib64=`if file -L $f 2>/dev/null | \
+ grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
++ libx32=`if file -L $f 2>/dev/null | \
++ grep "ELF 32-bit.*x86-64" >/dev/null; then echo "$markx32"; fi`
++ lib64="$lib64$libx32"
+ $OBJDUMP -p $f | awk 'BEGIN { START=0; LIBNAME=""; needed='$needed'; }
+ /^$/ { START=0; }
+ /^Dynamic Section:$/ { START=1; }
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/fb35e2d9d54505d58b8e4787525e5a9c54e49ce8
More information about the pld-cvs-commit
mailing list