--- 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 @@ 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' @@ -125,11 +132,14 @@ if not name in py_deps: py_deps[name] = [] py_deps[name].append(('==', dist.py_version)) - name = 'pythonegg(%s)' % dist.key + if dist.py_version .split(".")[0] == '3': + name = 'python3egg(%s)' % dist.key + else: + name = 'pythonegg(%s)' % dist.key 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): @@ -155,13 +165,17 @@ deps = depsextras # add requires/suggests based on egg metadata for dep in deps: - name = 'pythonegg(%s)' % dep.key + if dist.py_version .split(".")[0] == '3': + name = 'python3egg(%s)' % dep.key + else: + name = 'pythonegg(%s)' % dep.key for spec in dep.specs: 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