~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to ez_setup.py

  • Committer: Gary Poster
  • Date: 2009-05-31 22:17:45 UTC
  • mto: This revision was merged to the branch mainline in revision 8489.
  • Revision ID: gary.poster@canonical.com-20090531221745-226ns1d29y2k7g4c
hack bootstrap.py to take better advantage of our local copies of files; update to newer ez_setup.py

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
# NOTE TO LAUNCHPAD DEVELOPERS: This is a bootstrapping file from the
4
4
# setuptools project.  It is imported by our setup.py.
5
5
 
 
6
#!python
6
7
"""Bootstrap setuptools installation
7
8
 
8
9
If you want to use setuptools in your package's setup.py, just include this
18
19
This file can also be run as a script to install or upgrade setuptools.
19
20
"""
20
21
import sys
21
 
DEFAULT_VERSION = "0.6c8"
 
22
DEFAULT_VERSION = "0.6c9"
22
23
DEFAULT_URL     = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
23
24
 
24
25
md5_data = {
52
53
    'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902',
53
54
    'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de',
54
55
    'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b',
 
56
    'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03',
 
57
    'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a',
 
58
    'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6',
 
59
    'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a',
55
60
}
56
61
 
57
62
import sys, os
 
63
try: from hashlib import md5
 
64
except ImportError: from md5 import md5
58
65
 
59
66
def _validate_md5(egg_name, data):
60
67
    if egg_name in md5_data:
61
 
        from md5 import md5
62
68
        digest = md5(data).hexdigest()
63
69
        if digest != md5_data[egg_name]:
64
70
            print >>sys.stderr, (
68
74
            sys.exit(2)
69
75
    return data
70
76
 
71
 
 
72
77
def use_setuptools(
73
78
    version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
74
 
    download_delay=15, min_version=None
 
79
    download_delay=15
75
80
):
76
81
    """Automatically find/download setuptools and make it available on sys.path
77
82
 
84
89
    this routine will print a message to ``sys.stderr`` and raise SystemExit in
85
90
    an attempt to abort the calling script.
86
91
    """
87
 
    # Work around a hack in the ez_setup.py file from simplejson==1.7.3.
88
 
    if min_version:
89
 
        version = min_version
90
 
 
91
92
    was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules
92
93
    def do_download():
93
94
        egg = download_setuptools(version, download_base, to_dir, download_delay)
161
162
            if dst: dst.close()
162
163
    return os.path.realpath(saveto)
163
164
 
 
165
 
 
166
 
 
167
 
 
168
 
 
169
 
 
170
 
 
171
 
 
172
 
 
173
 
 
174
 
 
175
 
 
176
 
 
177
 
 
178
 
 
179
 
 
180
 
 
181
 
 
182
 
 
183
 
 
184
 
 
185
 
 
186
 
 
187
 
 
188
 
 
189
 
 
190
 
 
191
 
 
192
 
 
193
 
 
194
 
 
195
 
 
196
 
 
197
 
 
198
 
 
199
 
164
200
def main(argv, version=DEFAULT_VERSION):
165
201
    """Install or upgrade setuptools and EasyInstall"""
166
202
    try:
206
242
    """Update our built-in md5 registry"""
207
243
 
208
244
    import re
209
 
    from md5 import md5
210
245
 
211
246
    for name in filenames:
212
247
        base = os.path.basename(name)