[packages/rpm/dev-5.4.17] - rel 0.14; fake python version for eggs dependency generator, so it will generate proper deps based

qboosh qboosh at pld-linux.org
Sat Oct 20 07:31:36 CEST 2018


commit cfd688ddb3a49b4469625d3befb899fc30e9790c
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Sep 27 10:25:17 2018 +0200

    - rel 0.14; fake python version for eggs dependency generator, so it will generate proper deps based on destination python version (problematic spec: python-cryptography.spec)

 rpm-pythoneggs.patch | 31 +++++++++++++++++++++++++------
 rpm.spec             |  2 +-
 2 files changed, 26 insertions(+), 7 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index 1684e85..813910d 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -58,7 +58,7 @@ Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	5.4.17
-Release:	0.13
+Release:	0.14
 License:	LGPL v2.1
 Group:		Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.17-0.20160512.src.rpm
diff --git a/rpm-pythoneggs.patch b/rpm-pythoneggs.patch
index f328c88..15c848d 100644
--- a/rpm-pythoneggs.patch
+++ b/rpm-pythoneggs.patch
@@ -1,15 +1,16 @@
---- rpm-5.4.10/scripts/pythoneggs.py.orig	2012-05-08 00:34:19.000000000 +0200
-+++ rpm-5.4.10/scripts/pythoneggs.py	2013-05-09 13:22:26.000000000 +0200
-@@ -16,7 +16,7 @@
+--- 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 +29,13 @@
+@@ -29,6 +30,13 @@ Obsoletes = False
  Extras = False
  buildroot = None
  
@@ -23,7 +24,7 @@
  for o, a in opts:
      if o in ('-h', '--help'):
          print '-h, --help\tPrint help'
-@@ -125,11 +132,14 @@
+@@ -125,11 +133,14 @@ for f in files:
                  if not name in py_deps:
                      py_deps[name] = []
                  py_deps[name].append(('==', dist.py_version))
@@ -40,8 +41,26 @@
                  if not spec in py_deps[name]:
                      py_deps[name].append(spec)
          if Requires or (Suggests and dist.extras):
-@@ -155,13 +165,17 @@
+@@ -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
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list