[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