4 from distutils
.core
import setup
6 from stgit
import version
8 def __version_to_list(version
):
9 """Convert a version string to a list of numbers or strings
12 for p
in version
.split('.'):
20 def __check_min_version(min_ver
, ver
):
21 """Check whether ver is greater or equal to min_ver
23 min_ver_list
= __version_to_list(min_ver
)
24 ver_list
= __version_to_list(ver
)
25 return min_ver_list
<= ver_list
27 def __check_python_version():
28 """Check the minimum Python version
30 pyver
= '.'.join(map(lambda x
: str(x
), sys
.version_info
))
31 if not __check_min_version(version
.python_min_ver
, pyver
):
32 print >> sys
.stderr
, 'Python version %s or newer required. Found %s' \
33 % (version
.python_min_ver
, pyver
)
36 def __check_git_version():
37 """Check the minimum GIT version
39 from stgit
.run
import Run
40 gitver
= Run('git', '--version').output_one_line().split()[2]
41 if not __check_min_version(version
.git_min_ver
, gitver
):
42 print >> sys
.stderr
, 'GIT version %s or newer required. Found %s' \
43 % (version
.git_min_ver
, gitver
)
48 version
= version
.version
,
50 author
= 'Catalin Marinas',
51 author_email
= 'catalin.marinas@gmail.com',
52 url
= 'http://www.procode.org/stgit/',
53 description
= 'Stacked GIT',
54 long_description
= 'Push/pop utility on top of GIT',
56 packages
= ['stgit', 'stgit.commands', 'stgit.lib'],
58 ('share/stgit/templates', glob
.glob('templates/*.tmpl')),
59 ('share/stgit/examples', glob
.glob('examples/*.tmpl')),
60 ('share/stgit/examples', ['examples/gitconfig']),
61 ('share/stgit/contrib', ['contrib/diffcol.sh',
62 'contrib/stgbashprompt.sh',
63 'contrib/stgit-completion.bash']),
66 # Check the minimum versions required
67 if sys
.argv
[1] in ['install', 'build']:
68 __check_python_version()
71 # ensure readable template files
72 old_mask
= os
.umask(0022)
75 version
.write_builtin_version()
78 version
.delete_builtin_version()
80 # restore the old mask