~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Martin Pool
  • Date: 2005-04-15 02:55:00 UTC
  • Revision ID: mbp@sourcefrog.net-20050415025500-0d789f868f19cdbb
factor out code to log exceptions

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
# './setup.py install', or
5
5
# './setup.py --help' for more options
6
6
 
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
 
 
37
7
from distutils.core import setup
38
 
from distutils.command.install_scripts import install_scripts
39
 
from distutils.command.build import build
40
 
 
41
 
###############################
42
 
# Overridden distutils actions
43
 
###############################
44
 
 
45
 
class my_install_scripts(install_scripts):
46
 
    """ Customized install_scripts distutils action.
47
 
    Create bzr.bat for win32.
48
 
    """
49
 
    def run(self):
50
 
        import os
51
 
        import sys
52
 
 
53
 
        install_scripts.run(self)   # standard action
54
 
 
55
 
        if sys.platform == "win32":
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)
67
 
 
68
 
 
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
 
 
79
 
########################
80
 
## Setup
81
 
########################
82
8
 
83
9
setup(name='bzr',
84
 
      version='0.7pre',
 
10
      version='0.0.0',
85
11
      author='Martin Pool',
86
12
      author_email='mbp@sourcefrog.net',
87
13
      url='http://www.bazaar-ng.org/',
88
14
      description='Friendly distributed version control system',
89
15
      license='GNU GPL v2',
90
 
      packages=['bzrlib',
91
 
                'bzrlib.export',
92
 
                'bzrlib.plugins',
93
 
                'bzrlib.store',
94
 
                'bzrlib.tests',
95
 
                'bzrlib.tests.blackbox',
96
 
                'bzrlib.transport',
97
 
                'bzrlib.ui',
98
 
                'bzrlib.util',
99
 
                'bzrlib.util.elementtree',
100
 
                'bzrlib.util.effbot.org',
101
 
                'bzrlib.util.configobj',
102
 
                ],
103
 
      scripts=['bzr'],
104
 
      cmdclass={'install_scripts': my_install_scripts, 'build': bzr_build},
105
 
      data_files=[('man/man1', ['bzr.1'])],
106
 
     )
 
16
      packages=['bzrlib'],
 
17
      scripts=['bzr'])