]> git.pld-linux.org Git - packages/rpm.git/commitdiff
- transform python eggs versions in form of N.X<a|b>Y into something
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 29 Jan 2013 12:43:01 +0000 (13:43 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Tue, 29 Jan 2013 12:43:01 +0000 (13:43 +0100)
  that rpm can properly compare - N.X-0.<a|b>Y

rpm-pythoneggs.patch [new file with mode: 0644]
rpm.spec

diff --git a/rpm-pythoneggs.patch b/rpm-pythoneggs.patch
new file mode 100644 (file)
index 0000000..034926b
--- /dev/null
@@ -0,0 +1,46 @@
+--- rpm-5.4.10/scripts/pythoneggs.py.orig      2012-05-08 00:34:19.000000000 +0200
++++ rpm-5.4.10/scripts/pythoneggs.py   2013-01-29 12:59:00.000000000 +0100
+@@ -16,7 +16,7 @@
+ from distutils.sysconfig import get_python_lib
+ from subprocess import Popen, PIPE, STDOUT
+ import os
+-
++import re
+ opts, args = getopt(argv[1:], 'hPRSCOEb:',
+         ['help', 'provides', 'requires', 'suggests', 'conflicts', 'obsoletes', 'extras','buildroot='])
+@@ -29,6 +29,13 @@
+ 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'
+@@ -129,7 +136,7 @@
+             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):
+@@ -160,8 +167,9 @@
+                     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
index f63c59933c24eb703f8a93aa26366c915bf797c2..30282f2d1be6dabffd9916d9f803d5a59de5eaa7 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -153,6 +153,7 @@ Patch59:    %{name}-triggerin-compat.patch
 Patch60:       %{name}-python-sitescriptdir.patch
 Patch61:       %{name}-clean-docdir.patch
 Patch62:       %{name}-DB_CONFIG.patch
+Patch63:       %{name}-pythoneggs.patch
 
 # Patches imported from Mandriva
 
@@ -855,6 +856,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch60 -p1
 %patch61 -p1
 %patch62 -p1
+%patch63 -p1
 
 %patch1000 -p1
 %patch1001 -p1
This page took 0.04497 seconds and 4 git commands to generate.