1 --- rpm-5.4.15.org/scripts/pythoneggs.py 2012-05-08 00:39:11.000000000 +0200
2 +++ rpm-5.4.15/scripts/pythoneggs.py 2018-09-27 10:32:34.661059061 +0200
6 # -*- coding: utf-8 -*-
8 # Copyright 2010 Per Øyvind Karlsen <peroyvind@mandriva.org>
9 @@ -16,7 +16,8 @@ from pkg_resources import Distribution,
10 from distutils.sysconfig import get_python_lib
11 from subprocess import Popen, PIPE, STDOUT
17 opts, args = getopt(argv[1:], 'hPRSCOEb:',
18 ['help', 'provides', 'requires', 'suggests', 'conflicts', 'obsoletes', 'extras','buildroot='])
19 @@ -29,6 +30,13 @@ Obsoletes = False
23 +def make_pldver(raw):
24 + if re.match(r'^[0-9\.]+$', raw) == None:
25 + pldver = re.sub(r'([\d\.]+)(.+)', r'\1-0.\2', raw)
31 if o in ('-h', '--help'):
32 print '-h, --help\tPrint help'
33 @@ -125,11 +133,14 @@ for f in files:
34 if not name in py_deps:
36 py_deps[name].append(('==', dist.py_version))
37 - name = 'pythonegg(%s)' % dist.key
38 + if dist.py_version .split(".")[0] == '3':
39 + name = 'python3egg(%s)' % dist.key
41 + name = 'pythonegg(%s)' % dist.key
42 if not name in py_deps:
45 - spec = ('==', dist.version)
46 + spec = ('==', make_pldver(dist.version))
47 if not spec in py_deps[name]:
48 py_deps[name].append(spec)
49 if Requires or (Suggests and dist.extras):
50 @@ -145,6 +156,14 @@ for f in files:
51 spec = ('==', dist.py_version)
52 if not spec in py_deps[name]:
53 py_deps[name].append(spec)
54 + # fake python version for dist.requires(), so deps like
55 + # [:python_version < '3']
57 + # will be handled correctly
58 + old_python_version = platform.python_version
59 + def new_python_version():
60 + return dist.py_version
61 + platform.python_version = new_python_version
62 deps = dist.requires()
64 depsextras = dist.requires(extras=dist.extras)
65 @@ -153,15 +172,20 @@ for f in files:
67 depsextras.remove(dep)
69 + platform.python_version = old_python_version
70 # add requires/suggests based on egg metadata
72 - name = 'pythonegg(%s)' % dep.key
73 + if dist.py_version .split(".")[0] == '3':
74 + name = 'python3egg(%s)' % dep.key
76 + name = 'pythonegg(%s)' % dep.key
77 for spec in dep.specs:
79 if not name in py_deps:
81 - if not spec in py_deps[name]:
82 - py_deps[name].append(spec)
83 + plddep = (spec[0], make_pldver(spec[1]))
84 + if not plddep in py_deps[name]:
85 + py_deps[name].append(plddep)
88 # Unused, for automatic sub-package generation based on 'extras' from egg metadata