comparison setup.py @ 162:e0678dfb7aec 1.7

setup: parse PKG-INFO for version information (issue3924)
author Peter Elmers <peter.elmers@yahoo.com>
date Thu, 23 Jul 2015 09:18:01 -0700
parents 91329df47df5
children d06b48001662
comparison
equal deleted inserted replaced
161:ec935041d1ff 162:e0678dfb7aec
1 import os, time 1 import os, time
2 from distutils.core import setup 2 from distutils.core import setup
3 3
4 # query Mercurial for version number 4 # query Mercurial for version number, or pull from PKG-INFO
5 version = 'unknown' 5 version = 'unknown'
6 if os.path.isdir('.hg'): 6 if os.path.isdir('.hg'):
7 cmd = "hg id -i -t" 7 cmd = "hg id -i -t"
8 l = os.popen(cmd).read().split() 8 l = os.popen(cmd).read().split()
9 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags 9 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags
24 version = kw['tag'] 24 version = kw['tag']
25 elif 'latesttag' in kw: 25 elif 'latesttag' in kw:
26 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw 26 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw
27 else: 27 else:
28 version = kw.get('node', '')[:12] 28 version = kw.get('node', '')[:12]
29 elif os.path.exists('PKG-INFO'):
30 kw = dict([[t.strip() for t in l.split(':', 1)]
31 for l in open('PKG-INFO') if ':' in l])
32 version = kw.get('Version', version)
29 33
30 setup( 34 setup(
31 name='python-hglib', 35 name='python-hglib',
32 version=version, 36 version=version,
33 author='Idan Kamara', 37 author='Idan Kamara',