~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Alexander Belchenko
  • Date: 2006-07-31 16:12:57 UTC
  • mto: (1711.2.111 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1906.
  • Revision ID: bialix@ukr.net-20060731161257-91a231523255332c
new official bzr.ico

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 './setup.py --help' for more options
7
7
"""
8
8
 
9
 
import os
10
 
import sys
11
 
 
12
 
import bzrlib
13
 
 
14
9
##
15
10
# META INFORMATION FOR SETUP
16
11
 
17
12
META_INFO = {'name':         'bzr',
18
 
             'version':      bzrlib.__version__,
 
13
             'version':      '<unknown>',
19
14
             'author':       'Canonical Ltd',
20
15
             'author_email': 'bazaar-ng@lists.ubuntu.com',
21
16
             'url':          'http://www.bazaar-vcs.org/',
23
18
             'license':      'GNU GPL v2',
24
19
            }
25
20
 
26
 
# The list of packages is automatically generated later. Add other things
27
 
# that are part of BZRLIB here.
28
 
BZRLIB = {}
 
21
BZRLIB = {'packages': ['bzrlib',
 
22
                       'bzrlib.benchmarks',
 
23
                       'bzrlib.bundle',
 
24
                       'bzrlib.bundle.serializer',
 
25
                       'bzrlib.doc',
 
26
                       'bzrlib.doc.api',
 
27
                       'bzrlib.export',
 
28
                       'bzrlib.plugins',
 
29
                       'bzrlib.plugins.launchpad',
 
30
                       'bzrlib.store',
 
31
                       'bzrlib.store.revision',
 
32
                       'bzrlib.store.versioned',
 
33
                       'bzrlib.tests',
 
34
                       'bzrlib.tests.blackbox',
 
35
                       'bzrlib.tests.branch_implementations',
 
36
                       'bzrlib.tests.bzrdir_implementations',
 
37
                       'bzrlib.tests.interrepository_implementations',
 
38
                       'bzrlib.tests.interversionedfile_implementations',
 
39
                       'bzrlib.tests.repository_implementations',
 
40
                       'bzrlib.tests.revisionstore_implementations',
 
41
                       'bzrlib.tests.workingtree_implementations',
 
42
                       'bzrlib.transport',
 
43
                       'bzrlib.transport.http',
 
44
                       'bzrlib.ui',
 
45
                       'bzrlib.util',
 
46
                       'bzrlib.util.configobj',
 
47
                       'bzrlib.util.effbot.org',
 
48
                       'bzrlib.util.elementtree',
 
49
                      ],
 
50
         }
29
51
 
30
 
PKG_DATA = {# install files from selftest suite
31
 
            'package_data': {'bzrlib': ['doc/api/*.txt',
32
 
                                        'tests/test_patches_data/*',
33
 
                                       ]},
34
 
           }
35
52
 
36
53
######################################################################
37
54
# Reinvocation stolen from bzr, we need python2.4 by virtue of bzr_man
38
55
# including bzrlib.help
39
56
 
 
57
import os
 
58
import sys
 
59
 
40
60
try:
41
61
    version_info = sys.version_info
42
62
except AttributeError:
58
78
    print >>sys.stderr, "bzr: error: cannot find a suitable python interpreter"
59
79
    print >>sys.stderr, "  (need %d.%d or later)" % NEED_VERS
60
80
    sys.exit(1)
61
 
if getattr(os, "unsetenv", None) is not None:
 
81
if hasattr(os, "unsetenv"):
62
82
    os.unsetenv(REINVOKE)
63
83
 
64
84
 
65
 
def get_bzrlib_packages():
66
 
    """Recurse through the bzrlib directory, and extract the package names"""
67
 
 
68
 
    packages = []
69
 
    base_path = os.path.dirname(os.path.abspath(bzrlib.__file__))
70
 
    for root, dirs, files in os.walk(base_path):
71
 
        if '__init__.py' in files:
72
 
            assert root.startswith(base_path)
73
 
            # Get just the path below bzrlib
74
 
            package_path = root[len(base_path):]
75
 
            # Remove leading and trailing slashes
76
 
            package_path = package_path.strip('\\/')
77
 
            if not package_path:
78
 
                package_name = 'bzrlib'
79
 
            else:
80
 
                package_name = ('bzrlib.' +
81
 
                            package_path.replace('/', '.').replace('\\', '.'))
82
 
            packages.append(package_name)
83
 
    return sorted(packages)
84
 
 
85
 
 
86
 
BZRLIB['packages'] = get_bzrlib_packages()
87
 
 
88
 
 
89
85
from distutils.core import setup
90
86
from distutils.command.install_scripts import install_scripts
91
87
from distutils.command.build import build
149
145
## Setup
150
146
########################
151
147
 
 
148
def get_bzr_version():
 
149
    import bzrlib
 
150
    return bzrlib.__version__
 
151
 
 
152
 
152
153
if 'bdist_wininst' in sys.argv:
153
154
    import glob
154
155
    # doc files
155
156
    docs = glob.glob('doc/*.htm') + ['doc/default.css']
156
157
    # python's distutils-based win32 installer
157
158
    ARGS = {'scripts': ['bzr', 'tools/win32/bzr-win32-bdist-postinstall.py'],
 
159
            # install the txt files from bzrlib.doc.api.
 
160
            'package_data': {'bzrlib': ['doc/api/*.txt']},
158
161
            # help pages
159
162
            'data_files': [('Doc/Bazaar', docs)],
160
163
           }
161
164
 
162
165
    ARGS.update(META_INFO)
 
166
    ARGS.update({'version': get_bzr_version()})
163
167
    ARGS.update(BZRLIB)
164
 
    ARGS.update(PKG_DATA)
165
168
    
166
169
    setup(**ARGS)
167
170
 
208
211
    # std setup
209
212
    ARGS = {'scripts': ['bzr'],
210
213
            'data_files': [('man/man1', ['bzr.1'])],
 
214
            # install the txt files from bzrlib.doc.api.
 
215
            'package_data': {'bzrlib': ['doc/api/*.txt']},
211
216
            'cmdclass': {'build': bzr_build,
212
217
                         'install_scripts': my_install_scripts,
213
218
                        },
214
219
           }
215
220
    
216
221
    ARGS.update(META_INFO)
 
222
    ARGS.update({'version': get_bzr_version()})
217
223
    ARGS.update(BZRLIB)
218
 
    ARGS.update(PKG_DATA)
219
224
 
220
225
    setup(**ARGS)