X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/stgit/blobdiff_plain/1aaf55c91fc987f64499091bc26a519fb7815dac..289687b4c70e165b5a4809bfcb9f8608f1b55bd3:/setup.py diff --git a/setup.py b/setup.py index e9030a8..7b0ded5 100755 --- a/setup.py +++ b/setup.py @@ -1,15 +1,58 @@ #!/usr/bin/env python -import glob +import sys, glob from distutils.core import setup -from stgit.version import version +from stgit.version import version, git_min_ver, python_min_ver +from stgit.run import Run + +def __version_to_list(version): + """Convert a version string to a list of numbers or strings + """ + ver_list = [] + for p in version.split('.'): + try: + n = int(p) + except ValueError: + n = p + ver_list.append(n) + return ver_list + +def __check_min_version(min_ver, ver): + """Check whether ver is greater or equal to min_ver + """ + min_ver_list = __version_to_list(min_ver) + ver_list = __version_to_list(ver) + return min_ver_list <= ver_list + +def __check_python_version(): + """Check the minimum Python version + """ + pyver = '.'.join(str(n) for n in sys.version_info) + if not __check_min_version(python_min_ver, pyver): + print >> sys.stderr, 'Python version %s or newer required. Found %s' \ + % (python_min_ver, pyver) + sys.exit(1) + +def __check_git_version(): + """Check the minimum GIT version + """ + gitver = Run('git', '--version').output_one_line().split()[2] + if not __check_min_version(git_min_ver, gitver): + print >> sys.stderr, 'GIT version %s or newer required. Found %s' \ + % (git_min_ver, gitver) + sys.exit(1) + +# Check the minimum versions required +if sys.argv[1] in ['install', 'build']: + __check_python_version() + __check_git_version() setup(name = 'stgit', version = version, license = 'GPLv2', author = 'Catalin Marinas', - author_email = 'catalin.marinas@gmail.org', + author_email = 'catalin.marinas@gmail.com', url = 'http://www.procode.org/stgit/', description = 'Stacked GIT', long_description = 'Push/pop utility on top of GIT', @@ -17,7 +60,7 @@ setup(name = 'stgit', packages = ['stgit', 'stgit.commands'], data_files = [('share/stgit/templates', glob.glob('templates/*.tmpl')), ('share/stgit/examples', glob.glob('examples/*.tmpl')), - ('share/stgit/examples', ['examples/stgitrc']), + ('share/stgit/examples', ['examples/gitconfig']), ('share/stgit/contrib', ['contrib/diffcol.sh', 'contrib/stgbashprompt.sh', 'contrib/stgit-completion.bash']),