[packages/rpm] - transform python eggs versions in form of N.X<a|b>Y into something that rpm can properly compare
baggins
baggins at pld-linux.org
Tue Jan 29 13:45:17 CET 2013
commit fb11a0dd2c2ad91f0bff5ad607049a22bd96714f
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Tue Jan 29 13:43:01 2013 +0100
- transform python eggs versions in form of N.X<a|b>Y into something
that rpm can properly compare - N.X-0.<a|b>Y
rpm-pythoneggs.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++++
rpm.spec | 2 ++
2 files changed, 48 insertions(+)
---
diff --git a/rpm.spec b/rpm.spec
index f63c599..30282f2 100644
--- 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
diff --git a/rpm-pythoneggs.patch b/rpm-pythoneggs.patch
new file mode 100644
index 0000000..034926b
--- /dev/null
+++ b/rpm-pythoneggs.patch
@@ -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
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/fb11a0dd2c2ad91f0bff5ad607049a22bd96714f
More information about the pld-cvs-commit
mailing list