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

arekm arekm at pld-linux.org
Thu Sep 27 10:25:28 CEST 2018


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

    - rel 46; 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 | 30 ++++++++++++++++++++++++------
 rpm.spec             |  2 +-
 2 files changed, 25 insertions(+), 7 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index 242b4d2..d78672a 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -47,7 +47,7 @@ Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	5.4.15
-Release:	45
+Release:	46
 License:	LGPL v2.1
 Group:		Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm
diff --git a/rpm-pythoneggs.patch b/rpm-pythoneggs.patch
index f328c88..dc8e3df 100644
--- a/rpm-pythoneggs.patch
+++ b/rpm-pythoneggs.patch
@@ -1,6 +1,6 @@
---- 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:23:33.011831652 +0200
+@@ -16,7 +16,7 @@ from pkg_resources import Distribution,
  from distutils.sysconfig import get_python_lib
  from subprocess import Popen, PIPE, STDOUT
  import os
@@ -9,7 +9,7 @@
  
  opts, args = getopt(argv[1:], 'hPRSCOEb:',
          ['help', 'provides', 'requires', 'suggests', 'conflicts', 'obsoletes', 'extras','buildroot='])
-@@ -29,6 +29,13 @@
+@@ -29,6 +29,13 @@ Obsoletes = False
  Extras = False
  buildroot = None
  
@@ -23,7 +23,7 @@
  for o, a in opts:
      if o in ('-h', '--help'):
          print '-h, --help\tPrint help'
-@@ -125,11 +132,14 @@
+@@ -125,11 +132,14 @@ for f in files:
                  if not name in py_deps:
                      py_deps[name] = []
                  py_deps[name].append(('==', dist.py_version))
@@ -40,8 +40,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 +155,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 +171,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/76cf8a80b8646edea448746dcf83019e9e3b0d3c



More information about the pld-cvs-commit mailing list