4
4
# './setup.py install', or
5
5
# './setup.py --help' for more options
7
# Reinvocation stolen from bzr, we need python2.4 by virtue of bzr_man
8
# including bzrlib.help
13
version_info = sys.version_info
14
except AttributeError:
15
version_info = 1, 5 # 1.5 or older
17
REINVOKE = "__BZR_REINVOKE"
19
KNOWN_PYTHONS = ('python2.4',)
21
if version_info < NEED_VERS:
22
if not os.environ.has_key(REINVOKE):
23
# mutating os.environ doesn't work in old Pythons
24
os.putenv(REINVOKE, "1")
25
for python in KNOWN_PYTHONS:
27
os.execvp(python, [python] + sys.argv)
30
print >>sys.stderr, "bzr: error: cannot find a suitable python interpreter"
31
print >>sys.stderr, " (need %d.%d or later)" % NEED_VERS
33
if hasattr(os, "unsetenv"):
7
37
from distutils.core import setup
38
from distutils.command.install_scripts import install_scripts
39
from distutils.command.build import build
41
###############################
42
# Overridden distutils actions
43
###############################
45
class my_install_scripts(install_scripts):
46
""" Customized install_scripts distutils action.
47
Create bzr.bat for win32.
53
install_scripts.run(self) # standard action
55
if sys.platform == "win32":
57
scripts_dir = self.install_dir
58
script_path = os.path.join(scripts_dir, "bzr")
59
batch_str = "@%s %s %%*\n" % (sys.executable, script_path)
60
batch_path = script_path + ".bat"
61
f = file(batch_path, "w")
64
print "Created:", batch_path
66
print "ERROR: Unable to create %s: %s" % (batch_path, e)
69
class bzr_build(build):
70
"""Customized build distutils action.
77
generate_docs.main(argv=["bzr", "man"])
79
########################
81
########################
11
85
author='Martin Pool',
12
86
author_email='mbp@sourcefrog.net',
13
87
url='http://www.bazaar-ng.org/',
14
88
description='Friendly distributed version control system',
15
89
license='GNU GPL v2',
16
90
packages=['bzrlib',
97
'bzrlib.tests.blackbox',
20
101
'bzrlib.util.elementtree',
21
102
'bzrlib.util.effbot.org',
22
'bzrlib.util.urlgrabber'],
103
'bzrlib.util.configobj',
106
cmdclass={'install_scripts': my_install_scripts, 'build': bzr_build},
107
data_files=[('man/man1', ['bzr.1'])],
108
# todo: install the txt files from bzrlib.doc.api.