Skip to content
This repository was archived by the owner on Sep 12, 2018. It is now read-only.

Commit 87ba6c0

Browse files
author
Olivier Gambier
committed
Fix loose deps
- hard pin dynamically inserted libraries - fix deps loose mechanism so that: * short versioned libraries are scopped as the rest * additional restrictions (blacklists for eg) are ported over
1 parent e3bc98c commit 87ba6c0

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

setup.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,23 @@
2121

2222
if ver < (3, 0):
2323
# Python 2 requires lzma backport
24-
requirements.insert(0, 'backports.lzma>=0.0.2,!=0.0.4')
24+
requirements.insert(0, 'backports.lzma==0.0.3,!=0.0.4')
2525
if ver < (2, 7):
2626
# Python 2.6 requires additional libraries
27-
requirements.insert(0, 'argparse>=1.2.1')
28-
requirements.insert(0, 'importlib>=1.0.3')
27+
requirements.insert(0, 'argparse==1.2.1')
28+
requirements.insert(0, 'importlib==1.0.3')
2929

3030
# Using this will relax dependencies to semver major matching
3131
if 'DEPS' in os.environ and os.environ['DEPS'].lower() == 'loose':
3232
loose = []
3333
for item in requirements:
34-
d = re.match(r'([^=]+)==([0-9]+)[.]([0-9]+)[.]([0-9]+)', item)
34+
d = re.match(r'([^=]+)==([0-9]+)[.]([0-9]+)(?:[.]([0-9]+))?(.*)', item)
3535
if d:
3636
d = list(d.groups())
3737
name = d.pop(0)
3838
version = d.pop(0)
39-
item = '%s>=%s,<%s' % (name, int(version), int(version) + 1)
39+
add = d.pop()
40+
item = '%s>=%s,<%s%s' % (name, int(version), int(version) + 1, add)
4041
loose.insert(0, item)
4142
requirements = loose
4243

0 commit comments

Comments
 (0)