45
by Martin Pool
- add setup.py and install instructions |
1 |
#! /usr/bin/env python
|
2 |
||
3 |
# This is an installation script for bzr. Run it with
|
|
4 |
# './setup.py install', or
|
|
5 |
# './setup.py --help' for more options
|
|
6 |
||
1185.29.5
by Wouter van Heyst
Add reinvocation code to ensure setup.py is run by python2.4 |
7 |
# Reinvocation stolen from bzr, we need python2.4 by virtue of bzr_man
|
8 |
# including bzrlib.help
|
|
9 |
||
10 |
import os, sys |
|
11 |
||
12 |
try: |
|
13 |
version_info = sys.version_info |
|
14 |
except AttributeError: |
|
15 |
version_info = 1, 5 # 1.5 or older |
|
16 |
||
17 |
REINVOKE = "__BZR_REINVOKE" |
|
18 |
NEED_VERS = (2, 4) |
|
19 |
KNOWN_PYTHONS = ('python2.4',) |
|
20 |
||
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: |
|
26 |
try: |
|
27 |
os.execvp(python, [python] + sys.argv) |
|
28 |
except OSError: |
|
29 |
pass
|
|
30 |
print >>sys.stderr, "bzr: error: cannot find a suitable python interpreter" |
|
31 |
print >>sys.stderr, " (need %d.%d or later)" % NEED_VERS |
|
32 |
sys.exit(1) |
|
33 |
if hasattr(os, "unsetenv"): |
|
34 |
os.unsetenv(REINVOKE) |
|
35 |
||
36 |
||
45
by Martin Pool
- add setup.py and install instructions |
37 |
from distutils.core import setup |
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
38 |
from distutils.command.install_scripts import install_scripts |
1185.29.3
by Wouter van Heyst
Create bzr.1 manpage from setup.py |
39 |
from distutils.command.build import build |
1185.1.40
by Robert Collins
Merge what applied of Alexander Belchenko's win32 patch. |
40 |
|
41 |
###############################
|
|
42 |
# Overridden distutils actions
|
|
43 |
###############################
|
|
44 |
||
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
45 |
class my_install_scripts(install_scripts): |
46 |
""" Customized install_scripts distutils action.
|
|
1185.1.40
by Robert Collins
Merge what applied of Alexander Belchenko's win32 patch. |
47 |
Create bzr.bat for win32.
|
48 |
"""
|
|
49 |
def run(self): |
|
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
50 |
import os |
51 |
import sys |
|
52 |
||
53 |
install_scripts.run(self) # standard action |
|
54 |
||
1185.1.40
by Robert Collins
Merge what applied of Alexander Belchenko's win32 patch. |
55 |
if sys.platform == "win32": |
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
56 |
try: |
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") |
|
62 |
f.write(batch_str) |
|
63 |
f.close() |
|
64 |
print "Created:", batch_path |
|
65 |
except Exception, e: |
|
66 |
print "ERROR: Unable to create %s: %s" % (batch_path, e) |
|
1185.1.40
by Robert Collins
Merge what applied of Alexander Belchenko's win32 patch. |
67 |
|
68 |
||
1185.29.3
by Wouter van Heyst
Create bzr.1 manpage from setup.py |
69 |
class bzr_build(build): |
70 |
"""Customized build distutils action.
|
|
71 |
Generate bzr.1.
|
|
72 |
"""
|
|
73 |
def run(self): |
|
74 |
build.run(self) |
|
75 |
||
76 |
import bzr_man |
|
77 |
bzr_man.main() |
|
78 |
||
1185.1.40
by Robert Collins
Merge what applied of Alexander Belchenko's win32 patch. |
79 |
########################
|
80 |
## Setup
|
|
81 |
########################
|
|
82 |
||
45
by Martin Pool
- add setup.py and install instructions |
83 |
setup(name='bzr', |
1185.16.144
by Martin Pool
Bump version to 0.7pre |
84 |
version='0.7pre', |
45
by Martin Pool
- add setup.py and install instructions |
85 |
author='Martin Pool', |
86 |
author_email='mbp@sourcefrog.net', |
|
87 |
url='http://www.bazaar-ng.org/', |
|
88 |
description='Friendly distributed version control system', |
|
89 |
license='GNU GPL v2', |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
90 |
packages=['bzrlib', |
91 |
'bzrlib.plugins', |
|
92 |
'bzrlib.selftest', |
|
93 |
'bzrlib.util', |
|
1414
by Robert Collins
merge in an adjusted version of Jelmer's empty-log detection patch. |
94 |
'bzrlib.transport', |
95 |
'bzrlib.store', |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
96 |
'bzrlib.util.elementtree', |
97 |
'bzrlib.util.effbot.org', |
|
1185.12.58
by Aaron Bentley
Included configobj in setup.py |
98 |
'bzrlib.util.configobj', |
974.1.53
by aaron.bentley at utoronto
Disabled urlgrabber |
99 |
],
|
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
100 |
scripts=['bzr'], |
1185.29.3
by Wouter van Heyst
Create bzr.1 manpage from setup.py |
101 |
cmdclass={'install_scripts': my_install_scripts, 'build': bzr_build}, |
102 |
data_files=[('man/man1', ['bzr.1'])], |
|
1185.23.1
by Aaron Bentley
win32 setup fixes from Belchenko |
103 |
)
|