Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.buildout
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
8
Merge Requests
8
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
slapos.buildout
Commits
c551446c
Commit
c551446c
authored
Oct 23, 2009
by
Tarek Ziad
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added the distribute option to the bootstrap script
parent
c3b8cc00
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
107 additions
and
11 deletions
+107
-11
bootstrap/bootstrap.py
bootstrap/bootstrap.py
+39
-10
buildout.cfg
buildout.cfg
+10
-0
src/zc/buildout/bootstrap.txt
src/zc/buildout/bootstrap.txt
+58
-1
No files found.
bootstrap/bootstrap.py
View file @
c551446c
...
...
@@ -21,20 +21,51 @@ $Id$
"""
import
os
,
shutil
,
sys
,
tempfile
,
urllib2
from
optparse
import
OptionParser
tmpeggs
=
tempfile
.
mkdtemp
()
is_jython
=
sys
.
platform
.
startswith
(
'java'
)
# parsing arguments
parser
=
OptionParser
()
parser
.
add_option
(
"-v"
,
"--version"
,
dest
=
"version"
,
help
=
"use a specific zc.buildout version"
)
parser
.
add_option
(
"-d"
,
"--distribute"
,
action
=
"store_true"
,
dest
=
"distribute"
,
default
=
False
,
help
=
"Use Disribute rather than Setuptools."
)
options
,
args
=
parser
.
parse_args
()
if
options
.
version
is
not
None
:
VERSION
=
'==%s'
%
options
.
version
else
:
VERSION
=
''
USE_DISTRIBUTE
=
options
.
distribute
args
=
args
+
[
'bootstrap'
]
to_reload
=
False
try
:
import
pkg_resources
if
not
hasattr
(
pkg_resources
,
'_distribute'
):
to_reload
=
True
raise
ImportError
except
ImportError
:
ez
=
{}
exec
urllib2
.
urlopen
(
'http://peak.telecommunity.com/dist/ez_setup.py'
if
USE_DISTRIBUTE
:
exec
urllib2
.
urlopen
(
'http://python-distribute.org/distribute_setup.py'
).
read
()
in
ez
ez
[
'use_setuptools'
](
to_dir
=
tmpeggs
,
download_delay
=
0
)
ez
[
'use_setuptools'
](
to_dir
=
tmpeggs
,
download_delay
=
0
,
no_fake
=
True
)
else
:
exec
urllib2
.
urlopen
(
'http://peak.telecommunity.com/dist/ez_setup.py'
).
read
()
in
ez
ez
[
'use_setuptools'
](
to_dir
=
tmpeggs
,
download_delay
=
0
)
import
pkg_resources
if
to_reload
:
reload
(
pkg_resources
)
else
:
import
pkg_resources
if
sys
.
platform
==
'win32'
:
def
quote
(
c
):
...
...
@@ -49,12 +80,10 @@ else:
cmd
=
'from setuptools.command.easy_install import main; main()'
ws
=
pkg_resources
.
working_set
if
len
(
sys
.
argv
)
>
2
and
sys
.
argv
[
1
]
==
'--version'
:
VERSION
=
'==%s'
%
sys
.
argv
[
2
]
args
=
sys
.
argv
[
3
:]
+
[
'bootstrap'
]
if
USE_DISTRIBUTE
:
requirement
=
'distribute'
else
:
VERSION
=
''
args
=
sys
.
argv
[
1
:]
+
[
'bootstrap'
]
requirement
=
'setuptools'
if
is_jython
:
import
subprocess
...
...
@@ -63,7 +92,7 @@ if is_jython:
quote
(
tmpeggs
),
'zc.buildout'
+
VERSION
],
env
=
dict
(
os
.
environ
,
PYTHONPATH
=
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
'setuptools'
)).
location
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
requirement
)).
location
),
).
wait
()
==
0
...
...
@@ -73,7 +102,7 @@ else:
'-c'
,
quote
(
cmd
),
'-mqNxd'
,
quote
(
tmpeggs
),
'zc.buildout'
+
VERSION
,
dict
(
os
.
environ
,
PYTHONPATH
=
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
'setuptools'
)).
location
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
requirement
)).
location
),
)
==
0
...
...
buildout.cfg
View file @
c551446c
...
...
@@ -25,3 +25,13 @@ defaults =
'-t',
'!(bootstrap|selectingpython|selecting-python)',
]
[python2.4]
executable = python2.4
[python2.5]
executable = python2.5
[python2.6]
executable = python2.6
src/zc/buildout/bootstrap.txt
View file @
c551446c
...
...
@@ -58,7 +58,6 @@ Let's try with an unknown version::
...
X
No local packages or download links found for zc.buildout==UNKNOWN
error: Could not find suitable distribution for Requirement.parse('zc.buildout==UNKNOWN')
...
Now let's try with `1.1.2`, which happens to exist::
...
...
@@ -120,4 +119,62 @@ Let's make sure the generated `buildout` script uses it::
zc.buildout.buildout.main()
<BLANKLINE>
`zc.buildout` now can also run with `Distribute` with the `--distribute` option::
>>> print 'X'; print system(
... zc.buildout.easy_install._safe_arg(sys.executable)+' '+
... 'bootstrap.py --distribute'); print 'X' # doctest: +ELLIPSIS
...
X
...
Generated script '/sample/bin/buildout'.
<BLANKLINE>
X
Let's make sure the generated `buildout` script uses it::
>>> print open(buildout_script).read() # doctest: +ELLIPSIS
#...
<BLANKLINE>
import sys
sys.path[0:0] = [
'/sample/eggs/distribute-...egg',
'/sample/eggs/zc.buildout-...egg',
]
<BLANKLINE>
import zc.buildout.buildout
<BLANKLINE>
if __name__ == '__main__':
zc.buildout.buildout.main()
<BLANKLINE>
Make sure both options can be used together::
>>> print 'X'; print system(
... zc.buildout.easy_install._safe_arg(sys.executable)+' '+
... 'bootstrap.py --distribute --version 1.2.1'); print 'X' # doctest: +ELLIPSIS
...
X
...
Generated script '/sample/bin/buildout'.
<BLANKLINE>
X
Let's make sure the generated `buildout` script uses ``Distribute`` *and* ``zc.buildout-1.2.1``::
>>> print open(buildout_script).read() # doctest: +ELLIPSIS
#...
<BLANKLINE>
import sys
sys.path[0:0] = [
'/sample/eggs/distribute-...egg',
'/sample/eggs/zc.buildout-1.2.1...egg',
]
<BLANKLINE>
import zc.buildout.buildout
<BLANKLINE>
if __name__ == '__main__':
zc.buildout.buildout.main()
<BLANKLINE>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment