]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-pythoneggs.patch
- rpm-db-ver cap moved to -lib; release 57
[packages/rpm.git] / rpm-pythoneggs.patch
CommitLineData
76cf8a80 1--- rpm-5.4.15.org/scripts/pythoneggs.py 2012-05-08 00:39:11.000000000 +0200
75024bb9 2+++ rpm-5.4.15/scripts/pythoneggs.py 2018-09-27 10:32:34.661059061 +0200
a5bf4658
JR
3@@ -1,4 +1,4 @@
4-#!/usr/bin/env python
5+#!/usr/bin/python2
6 # -*- coding: utf-8 -*-
7 #
8 # Copyright 2010 Per Øyvind Karlsen <peroyvind@mandriva.org>
75024bb9 9@@ -16,7 +16,8 @@ from pkg_resources import Distribution,
fb11a0dd
JR
10 from distutils.sysconfig import get_python_lib
11 from subprocess import Popen, PIPE, STDOUT
12 import os
13-
75024bb9 14+import platform
fb11a0dd
JR
15+import re
16
17 opts, args = getopt(argv[1:], 'hPRSCOEb:',
18 ['help', 'provides', 'requires', 'suggests', 'conflicts', 'obsoletes', 'extras','buildroot='])
75024bb9 19@@ -29,6 +30,13 @@ Obsoletes = False
fb11a0dd
JR
20 Extras = False
21 buildroot = None
22
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)
26+ else:
27+ pldver = raw
28+ return pldver
29+
30 for o, a in opts:
31 if o in ('-h', '--help'):
32 print '-h, --help\tPrint help'
75024bb9 33@@ -125,11 +133,14 @@ for f in files:
25bdcc2c
JR
34 if not name in py_deps:
35 py_deps[name] = []
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
40+ else:
41+ name = 'pythonegg(%s)' % dist.key
fb11a0dd
JR
42 if not name in py_deps:
43 py_deps[name] = []
44 if dist.version:
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):
75024bb9 50@@ -145,6 +156,14 @@ for f in files:
76cf8a80
AM
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']
56+ # enum34
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()
63 if Suggests:
64 depsextras = dist.requires(extras=dist.extras)
75024bb9 65@@ -153,15 +172,20 @@ for f in files:
76cf8a80
AM
66 if dep in deps:
67 depsextras.remove(dep)
25bdcc2c 68 deps = depsextras
76cf8a80 69+ platform.python_version = old_python_version
25bdcc2c
JR
70 # add requires/suggests based on egg metadata
71 for dep in deps:
72- name = 'pythonegg(%s)' % dep.key
73+ if dist.py_version .split(".")[0] == '3':
74+ name = 'python3egg(%s)' % dep.key
75+ else:
76+ name = 'pythonegg(%s)' % dep.key
77 for spec in dep.specs:
fb11a0dd
JR
78 if spec[0] != '!=':
79 if not name in py_deps:
80 py_deps[name] = []
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)
86 if not dep.specs:
87 py_deps[name] = []
88 # Unused, for automatic sub-package generation based on 'extras' from egg metadata
This page took 0.137588 seconds and 4 git commands to generate.