[packages/rpm/rpm.org] - up to 4.16.0 - python 2 no longer supported

baggins baggins at pld-linux.org
Sat Oct 3 10:49:40 CEST 2020


commit 24b1f498de2be74196ac72500aba423a90dc075a
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Oct 3 10:49:17 2020 +0200

    - up to 4.16.0
    - python 2 no longer supported

 create-build-tree-after-parse.patch | 30 -----------------------
 rpm-scripts-closefds.patch          | 15 +++++++++---
 rpm.spec                            | 48 ++++++++++++++++++-------------------
 x32.patch                           | 30 ++++++++++++++++-------
 4 files changed, 58 insertions(+), 65 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index ee2a2aa..973a6c1 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -5,7 +5,7 @@
 #
 # Conditional build:
 %bcond_without	apidocs		# don't generate documentation with doxygen
-%bcond_without	python2		# don't build python bindings
+%bcond_with	python2		# don't build python bindings
 %bcond_without	python3		# don't build python bindings
 %bcond_without	plugins		# build plugins
 %bcond_without	recommends_tags	# build without Recommends tag (bootstrapping)
@@ -13,7 +13,7 @@
 %define		db_ver		5.3.28.0
 %define		popt_ver	1.15
 %define		openssl_ver	1.1.1d
-%define		sover		9.0.1
+%define		sover		9.1.0
 
 Summary:	RPM Package Manager
 Summary(de.UTF-8):	RPM Packet-Manager
@@ -23,13 +23,13 @@ Summary(pt_BR.UTF-8):	Gerenciador de pacotes RPM
 Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
-Version:	4.15.1
+Version:	4.16.0
 Release:	0.1
 Epoch:		1
 License:	GPL v2 / LGPL v2.1
 Group:		Base
-Source0:	http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
-# Source0-md5:	ed72147451a5ed93b2a48e2f8f5413c3
+Source0:	http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
+# Source0-md5:	434e166a812e35ef181f6dd176326920
 Source1:	ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
 # Source1-md5:	23914bb49fafe7153cee87126d966461
 Source2:	macros.local
@@ -70,7 +70,6 @@ Patch15:	x32.patch
 Patch16:	%{name}-add-compress-doc.patch
 Patch17:	rpm5-db-compat.patch
 Patch18:	python-internal-build.patch
-Patch19:	create-build-tree-after-parse.patch
 URL:		https://rpm.org/
 BuildRequires:	db-devel >= %{db_ver}
 BuildRequires:	autoconf >= 2.63
@@ -94,8 +93,8 @@ BuildRequires:	ossp-uuid-devel
 BuildRequires:	patch >= 2.2
 BuildRequires:	popt-devel >= %{popt_ver}
 %{?with_python2:BuildRequires:	python-devel >= 1:2.3}
-%{?with_python3:BuildRequires:	python3-devel}
 BuildRequires:	python-modules >= 1:2.3
+%{?with_python3:BuildRequires:	python3-devel}
 %if %{with python2} || %{with python3}
 BuildRequires:	rpm-pythonprov
 %endif
@@ -242,8 +241,8 @@ Summary(ru.UTF-8):	Хедеры и библиотеки для программ,
 Summary(uk.UTF-8):	Хедери та бібліотеки для програм, що працюють з пакетами rpm
 Group:		Development/Libraries
 Requires:	%{name}-lib = %{epoch}:%{version}-%{release}
-Requires:	db-devel >= %{db_ver}
 Requires:	bzip2-devel
+Requires:	db-devel >= %{db_ver}
 Requires:	elfutils-devel
 Requires:	libmagic-devel
 Requires:	openssl-devel >= %{openssl_ver}
@@ -475,7 +474,8 @@ programs that will manipulate RPM packages and databases.
 
 %description -n python3-rpm -l pl.UTF-8
 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
-Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
+Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
+RPM-a.
 
 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
@@ -490,7 +490,7 @@ Python 3 para manipular pacotes e bancos de dados RPM.
 
 %package plugin-audit
 Summary:	Plugin for logging audit events on package operations
-Group:		System/Base
+Group:		Base
 Requires:	%{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-audit
@@ -498,7 +498,7 @@ Plugin for libaudit support
 
 %package plugin-syslog
 Summary:	Plugin for syslog functionality
-Group:		System/Base
+Group:		Base
 Requires:	%{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-syslog
@@ -506,7 +506,7 @@ This plugin exports RPM actions to the system log.
 
 %package plugin-systemd-inhibit
 Summary:	Plugin for systemd inhibit functionality
-Group:		System/Base
+Group:		Base
 Requires:	%{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-systemd-inhibit
@@ -584,7 +584,6 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch16 -p1
 %patch17 -p1
 %patch18 -p1
-%patch19 -p1
 
 install %{SOURCE16} scripts/perl.prov.in
 
@@ -596,7 +595,7 @@ awk -f %{SOURCE6} %{SOURCE5}
 install %{SOURCE17} tools/rpmdb_checkversion.c
 install %{SOURCE18} tools/rpmdb_reset.c
 
-%{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
+%{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
 
 %build
 %{__libtoolize}
@@ -823,6 +822,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_mandir}/man8/rpmdb.8*
 %{_mandir}/man8/rpmkeys.8*
 %{_mandir}/man8/rpm-misc.8*
+%{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
 %lang(ja) %{_mandir}/ja/man8/rpm.8*
 %lang(ko) %{_mandir}/ko/man8/rpm.8*
@@ -877,6 +877,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
+%attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
+%attr(755,root,root) %{_rpmlibdir}/rpmdb_load
 
 # valgrind suppression file for rpm
 %{_rpmlibdir}/rpm.supp
@@ -919,10 +921,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_bindir}/rpmgraph
 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
 %attr(755,root,root) %{_rpmlibdir}/tgpg
 %attr(755,root,root) %{_rpmlibdir}/debugedit
 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
+%{_mandir}/man8/rpm2archive.8*
 %{_mandir}/man8/rpm2cpio.8*
 %{_mandir}/man8/rpmdeps.8*
 %{_mandir}/man8/rpmgraph.8*
@@ -962,18 +964,11 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
-%attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
-%attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
 %attr(755,root,root) %{_rpmlibdir}/find-provides
 %attr(755,root,root) %{_rpmlibdir}/find-requires
-%attr(755,root,root) %{_rpmlibdir}/metainfo.prov
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
+%attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
 %attr(755,root,root) %{_rpmlibdir}/script.req
 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
-# Fedora has this in -build, but shouldn't this be in -devel?
-%attr(755,root,root) %{_rpmlibdir}/config.guess
-%attr(755,root,root) %{_rpmlibdir}/config.sub
 
 %dir %{_rpmlibdir}/fileattrs
 %{_rpmlibdir}/fileattrs/debuginfo.attr
@@ -1007,7 +1002,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %files pythonprov
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
+#%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
 
 %if %{with python2}
@@ -1033,10 +1028,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files plugin-audit
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
+%{_mandir}/man8/rpm-plugin-audit.8*
 
 %files plugin-syslog
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
+%{_mandir}/man8/rpm-plugin-syslog.8*
 
 %files plugin-systemd-inhibit
 %defattr(644,root,root,755)
@@ -1046,14 +1043,17 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files plugin-ima
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
+%{_mandir}/man8/rpm-plugin-ima.8*
 
 %files plugin-prioreset
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
+%{_mandir}/man8/rpm-plugin-prioreset.8*
 
 %files plugin-selinux
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
+%{_mandir}/man8/rpm-plugin-selinux.8*
 %endif
 
 %files sign
diff --git a/create-build-tree-after-parse.patch b/create-build-tree-after-parse.patch
deleted file mode 100644
index f81468a..0000000
--- a/create-build-tree-after-parse.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- rpm-4.15.1/rpmbuild.c~	2019-06-26 16:17:31.000000000 +0200
-+++ rpm-4.15.1/rpmbuild.c	2020-01-13 23:29:36.442259031 +0100
-@@ -435,13 +435,6 @@
-     if (ba->buildRootOverride)
- 	buildRootURL = rpmGenPath(NULL, ba->buildRootOverride, NULL);
- 
--    /* Create build tree if necessary */
--    const char * buildtree = "%{_topdir}:%{_specdir}:%{_sourcedir}:%{_builddir}:%{_rpmdir}:%{_srcrpmdir}:%{_buildrootdir}";
--    const char * rootdir = rpmtsRootDir(ts);
--    if (rpmMkdirs(!rstreq(rootdir, "/") ? rootdir : NULL , buildtree)) {
--	goto exit;
--    }
--
-     if (buildMode == 't') {
-     	char *srcdir = NULL, *dir;
- 
-@@ -508,6 +501,13 @@
- 	goto exit;
-     }
- 
-+    /* Create build tree if necessary */
-+    const char * buildtree = "%{_topdir}:%{_specdir}:%{_sourcedir}:%{_builddir}:%{_rpmdir}:%{_srcrpmdir}:%{_buildrootdir}";
-+    const char * rootdir = rpmtsRootDir(ts);
-+    if (rpmMkdirs(!rstreq(rootdir, "/") ? rootdir : NULL , buildtree)) {
-+	goto exit;
-+    }
-+
-     if ((rc = rpmSpecBuild(ts, spec, ba))) {
- 	goto exit;
-     }
diff --git a/rpm-scripts-closefds.patch b/rpm-scripts-closefds.patch
index 84c3d29..6be392e 100644
--- a/rpm-scripts-closefds.patch
+++ b/rpm-scripts-closefds.patch
@@ -1,6 +1,15 @@
---- rpm-4.1/lib/rpminstall.c.wiget	Mon Sep 16 21:06:08 2002
-+++ rpm-4.1/lib/rpminstall.c	Thu Sep 19 00:03:36 2002
-@@ -126,8 +126,15 @@
+--- rpm-4.16.0/lib/rpminstall.c.orig	2020-05-28 12:04:25.040136702 +0200
++++ rpm-4.16.0/lib/rpminstall.c	2020-10-03 09:46:49.369707250 +0200
+@@ -4,6 +4,8 @@
+ 
+ #include "system.h"
+ 
++#include <fcntl.h>
++
+ #include <rpm/rpmcli.h>
+ #include <rpm/rpmtag.h>
+ #include <rpm/rpmlib.h>		/* rpmReadPackageFile, vercmp etc */
+@@ -114,8 +116,15 @@
  		Fclose(fd);
  		fd = NULL;
  	    }
diff --git a/x32.patch b/x32.patch
index fa742bd..3edc36d 100644
--- a/x32.patch
+++ b/x32.patch
@@ -180,14 +180,6 @@ diff -ur rpm-4.15.1.orig/tools/elfdeps.c rpm-4.15.1/tools/elfdeps.c
      return marker;
  }
  
---- rpm-4.15.1/fileattrs/python.attr~	2019-06-26 23:17:31.000000000 +0900
-+++ rpm-4.15.1/fileattrs/python.attr	2020-01-04 23:33:40.929651751 +0900
-@@ -1,4 +1,4 @@
- %__python_provides	%{_rpmconfigdir}/pythondeps.sh --provides
- %__python_requires	%{_rpmconfigdir}/pythondeps.sh --requires
--%__python_path	((/lib(64)?/python[[:digit:]]\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(^%{_bindir}/python[[:digit:]]\\.[[:digit:]]+))$
-+%__python_path	((/lib(64|x32)?/python[[:digit:]]\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(^%{_bindir}/python[[:digit:]]\\.[[:digit:]]+))$
- %__python_magic		[Pp]ython.*(executable|byte-compiled)
 --- rpm-4.15.1/fileattrs/pythondist.attr~	2019-06-26 23:17:31.000000000 +0900
 +++ rpm-4.15.1/fileattrs/pythondist.attr	2020-01-04 23:34:05.680366882 +0900
 @@ -1,3 +1,3 @@
@@ -195,3 +187,25 @@ diff -ur rpm-4.15.1.orig/tools/elfdeps.c rpm-4.15.1/tools/elfdeps.c
  %__pythondist_requires	%{_rpmconfigdir}/pythondistdeps.py --requires
 -%__pythondist_path		/lib(64)?/python[[:digit:]]\\.[[:digit:]]+/site-packages/[^/]+\\.(dist-info|egg-info|egg-link)$
 +%__pythondist_path		/lib(64|x32)?/python[[:digit:]]\\.[[:digit:]]+/site-packages/[^/]+\\.(dist-info|egg-info|egg-link)$
+--- rpm-4.16.0/fileattrs/python.attr.orig	2020-08-31 11:14:07.991087349 +0200
++++ rpm-4.16.0/fileattrs/python.attr	2020-10-03 10:47:16.560360859 +0200
+@@ -14,14 +14,15 @@
+ %__python_requires() %{lua:
+     -- Match buildroot paths of the form
+     --    /PATH/OF/BUILDROOT/usr/lib/pythonMAJOR.MINOR/  and
+-    --    /PATH/OF/BUILDROOT/usr/lib64/pythonMAJOR.MINOR/
++    --    /PATH/OF/BUILDROOT/usr/lib64/pythonMAJOR.MINOR/ and
++    --    /PATH/OF/BUILDROOT/usr/libx32/pythonMAJOR.MINOR/
+     -- generating a line of the form:
+     --    python(abi) = MAJOR.MINOR
+     local path = rpm.expand('%1')
+-    if path:match('/usr/lib%d*/python%d+%.%d+/.*') then
+-        local requires = path:gsub('.*/usr/lib%d*/python(%d+%.%d+)/.*', 'python(abi) = %1')
++    if path:match('/usr/lib%w*/python%d+%.%d+/.*') then
++        local requires = path:gsub('.*/usr/lib%w*/python(%d+%.%d+)/.*', 'python(abi) = %1')
+         print(requires)
+     end
+ }
+ 
+-%__python_path ^((%{_prefix}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$
++%__python_path ^((%{_prefix}/lib(64|x32)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/24b1f498de2be74196ac72500aba423a90dc075a



More information about the pld-cvs-commit mailing list