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
65cb7826
Commit
65cb7826
authored
Aug 03, 2010
by
Gary Poster
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
the "aspirin" release.
parent
70f63c8e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
122 additions
and
72 deletions
+122
-72
README.txt
README.txt
+6
-1
bootstrap/bootstrap.py
bootstrap/bootstrap.py
+28
-22
buildout.cfg
buildout.cfg
+4
-4
setup.py
setup.py
+2
-1
src/zc/buildout/allowhosts.txt
src/zc/buildout/allowhosts.txt
+8
-7
src/zc/buildout/buildout.py
src/zc/buildout/buildout.py
+26
-3
src/zc/buildout/easy_install.txt
src/zc/buildout/easy_install.txt
+2
-1
src/zc/buildout/testing_bugfix.txt
src/zc/buildout/testing_bugfix.txt
+3
-3
src/zc/buildout/tests.py
src/zc/buildout/tests.py
+22
-14
src/zc/buildout/update.txt
src/zc/buildout/update.txt
+21
-16
No files found.
README.txt
View file @
65cb7826
...
@@ -2,6 +2,11 @@
...
@@ -2,6 +2,11 @@
Buildout
Buildout
********
********
*Note*: the 1.4.4 release is a release for people who encounter trouble
with the 1.5 line. By switching to `the associated bootstrap script
<http://svn.zope.org/repos/main/zc.buildout/branches/1.4/bootstrap/bootstrap.py>`_
you can stay on 1.4.4 until you are ready to migrate.
.. contents::
.. contents::
The Buildout project provides support for creating applications,
The Buildout project provides support for creating applications,
...
@@ -126,7 +131,7 @@ If I need to run a previous version of zc.buildout, I use the
...
@@ -126,7 +131,7 @@ If I need to run a previous version of zc.buildout, I use the
`--version` option of the bootstrap.py script::
`--version` option of the bootstrap.py script::
$ python bootstrap.py --version 1.1.3
$ python bootstrap.py --version 1.1.3
The `zc.buildout project <http://svn.zope.org/zc.buildout/trunk>`_
The `zc.buildout project <http://svn.zope.org/zc.buildout/trunk>`_
is a slightly more complex example of this type of buildout.
is a slightly more complex example of this type of buildout.
...
...
bootstrap/bootstrap.py
View file @
65cb7826
...
@@ -28,9 +28,14 @@ tmpeggs = tempfile.mkdtemp()
...
@@ -28,9 +28,14 @@ tmpeggs = tempfile.mkdtemp()
is_jython
=
sys
.
platform
.
startswith
(
'java'
)
is_jython
=
sys
.
platform
.
startswith
(
'java'
)
# parsing arguments
# parsing arguments
parser
=
OptionParser
()
parser
=
OptionParser
(
parser
.
add_option
(
"-v"
,
"--version"
,
dest
=
"version"
,
'This is a custom version of the zc.buildout %prog script. It is '
help
=
"use a specific zc.buildout version"
)
'intended to meet a temporary need if you encounter problems with '
'the zc.buildout 1.5 release.'
)
parser
.
add_option
(
"-v"
,
"--version"
,
dest
=
"version"
,
default
=
'1.4.4'
,
help
=
'Use a specific zc.buildout version. *This '
'bootstrap script defaults to '
'1.4.4, unlike usual buildpout bootstrap scripts.*'
)
parser
.
add_option
(
"-d"
,
"--distribute"
,
parser
.
add_option
(
"-d"
,
"--distribute"
,
action
=
"store_true"
,
dest
=
"distribute"
,
default
=
False
,
action
=
"store_true"
,
dest
=
"distribute"
,
default
=
False
,
help
=
"Use Disribute rather than Setuptools."
)
help
=
"Use Disribute rather than Setuptools."
)
...
@@ -85,7 +90,6 @@ else:
...
@@ -85,7 +90,6 @@ else:
def
quote
(
c
):
def
quote
(
c
):
return
c
return
c
cmd
=
'from setuptools.command.easy_install import main; main()'
ws
=
pkg_resources
.
working_set
ws
=
pkg_resources
.
working_set
if
USE_DISTRIBUTE
:
if
USE_DISTRIBUTE
:
...
@@ -93,26 +97,28 @@ if USE_DISTRIBUTE:
...
@@ -93,26 +97,28 @@ if USE_DISTRIBUTE:
else
:
else
:
requirement
=
'setuptools'
requirement
=
'setuptools'
if
is_jython
:
env
=
dict
(
os
.
environ
,
import
subprocess
PYTHONPATH
=
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
requirement
)).
location
)
assert
subprocess
.
Popen
([
sys
.
executable
]
+
[
'-c'
,
quote
(
cmd
),
'-mqNxd'
,
cmd
=
[
quote
(
sys
.
executable
),
quote
(
tmpeggs
),
'zc.buildout'
+
VERSION
],
'-c'
,
env
=
dict
(
os
.
environ
,
quote
(
'from setuptools.command.easy_install import main; main()'
),
PYTHONPATH
=
'-mqNxd'
,
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
requirement
)).
location
quote
(
tmpeggs
)]
),
).
wait
()
==
0
else
:
if
'bootstrap-testing-find-links'
in
os
.
environ
:
assert
os
.
spawnle
(
cmd
.
extend
([
'-f'
,
os
.
environ
[
'bootstrap-testing-find-links'
]])
os
.
P_WAIT
,
sys
.
executable
,
quote
(
sys
.
executable
),
'-c'
,
quote
(
cmd
),
'-mqNxd'
,
quote
(
tmpeggs
),
'zc.buildout'
+
VERSION
,
cmd
.
append
(
'zc.buildout'
+
VERSION
)
dict
(
os
.
environ
,
PYTHONPATH
=
if
is_jython
:
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
requirement
)).
location
import
subprocess
),
exitcode
=
subprocess
.
Popen
(
cmd
,
env
=
env
).
wait
()
)
==
0
else
:
# Windows prefers this, apparently; otherwise we would prefer subprocess
exitcode
=
os
.
spawnle
(
*
([
os
.
P_WAIT
,
sys
.
executable
]
+
cmd
+
[
env
]))
assert
exitcode
==
0
ws
.
add_entry
(
tmpeggs
)
ws
.
add_entry
(
tmpeggs
)
ws
.
require
(
'zc.buildout'
+
VERSION
)
ws
.
require
(
'zc.buildout'
+
VERSION
)
...
...
buildout.cfg
View file @
65cb7826
...
@@ -10,15 +10,15 @@ interpreter = py
...
@@ -10,15 +10,15 @@ interpreter = py
[test]
[test]
recipe = zc.recipe.testrunner
recipe = zc.recipe.testrunner
eggs =
eggs =
zc.buildout
zc.buildout
[test]
zc.recipe.egg
zc.recipe.egg
# Tests that can be run wo a network
# Tests that can be run wo a network
[oltest]
[oltest]
recipe = zc.recipe.testrunner
recipe = zc.recipe.testrunner
eggs =
eggs =
zc.buildout
zc.buildout
[test]
zc.recipe.egg
zc.recipe.egg
defaults =
defaults =
[
[
...
...
setup.py
View file @
65cb7826
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
#
#
##############################################################################
##############################################################################
name
=
"zc.buildout"
name
=
"zc.buildout"
version
=
"1.4.
3
"
version
=
"1.4.
4
"
import
os
import
os
from
setuptools
import
setup
from
setuptools
import
setup
...
@@ -83,6 +83,7 @@ setup(
...
@@ -83,6 +83,7 @@ setup(
install_requires
=
'setuptools'
,
install_requires
=
'setuptools'
,
include_package_data
=
True
,
include_package_data
=
True
,
entry_points
=
entry_points
,
entry_points
=
entry_points
,
extras_require
=
dict
(
test
=
[
'zope.testing'
]),
zip_safe
=
False
,
zip_safe
=
False
,
classifiers
=
[
classifiers
=
[
'Intended Audience :: Developers'
,
'Intended Audience :: Developers'
,
...
...
src/zc/buildout/allowhosts.txt
View file @
65cb7826
...
@@ -2,14 +2,14 @@ Allow hosts
...
@@ -2,14 +2,14 @@ Allow hosts
-----------
-----------
On some environments the links visited by `zc.buildout` can be forbidden
On some environments the links visited by `zc.buildout` can be forbidden
by paranoiac firewalls. These URL might be on the chain of links
by paranoiac firewalls. These URL might be on the chain of links
visited by `zc.buildout` whether they are defined in the `find-links` option
visited by `zc.buildout` whether they are defined in the `find-links` option
or by various eggs in their `url`, `download_url` and `dependency_links` metadata.
or by various eggs in their `url`, `download_url` and `dependency_links` metadata.
It is even harder to track that package_index works like a spider and
It is even harder to track that package_index works like a spider and
might visit links and go to other location.
might visit links and go to other location.
The `allow-hosts` option provides a way to prevent this, and
The `allow-hosts` option provides a way to prevent this, and
works exactly like the one provided in `easy_install`
works exactly like the one provided in `easy_install`
(see `easy_install allow-hosts option`_).
(see `easy_install allow-hosts option`_).
...
@@ -17,7 +17,7 @@ You can provide a list of allowed host, together with wildcards::
...
@@ -17,7 +17,7 @@ You can provide a list of allowed host, together with wildcards::
[buildout]
[buildout]
...
...
allow-hosts =
allow-hosts =
*.python.org
*.python.org
example.com
example.com
...
@@ -36,7 +36,7 @@ Let's create a develop egg in our buildout that specifies
...
@@ -36,7 +36,7 @@ Let's create a develop egg in our buildout that specifies
... zip_safe=True, version='1')
... zip_safe=True, version='1')
... ''')
... ''')
Now let's configure the buildout to use the develop egg,
Now let's configure the buildout to use the develop egg,
together with some rules that disallow any website but PyPI and
together with some rules that disallow any website but PyPI and
local files::
local files::
...
@@ -115,13 +115,14 @@ Test for 1.0.5 breakage as in https://bugs.launchpad.net/zc.buildout/+bug/239212
...
@@ -115,13 +115,14 @@ Test for 1.0.5 breakage as in https://bugs.launchpad.net/zc.buildout/+bug/239212
... [buildout]
... [buildout]
... parts=python
... parts=python
... foo = ${python:interpreter}
... foo = ${python:interpreter}
...
...
... [python]
... [python]
... recipe=zc.recipe.egg
... recipe=zc.recipe.egg
... eggs=zc.buildout
... eggs=zc.buildout
... interpreter=python
... interpreter=python
... ''')
... ''')
>>> print system(buildout)
>>> print 'XX'; print system(buildout) # doctest: +ELLIPSIS
X...
Unused options for buildout: 'foo'.
Unused options for buildout: 'foo'.
Installing python.
Installing python.
Generated script '/sample-buildout/bin/buildout'.
Generated script '/sample-buildout/bin/buildout'.
...
...
src/zc/buildout/buildout.py
View file @
65cb7826
...
@@ -123,6 +123,22 @@ _buildout_default_options = _annotate_section({
...
@@ -123,6 +123,22 @@ _buildout_default_options = _annotate_section({
'log-format'
:
''
,
'log-format'
:
''
,
},
'DEFAULT_VALUE'
)
},
'DEFAULT_VALUE'
)
# _buildout_version and _buildout_1_4_default_versions are part of a
# hack specific to zc.buildout 1.4.4. Search for
# _buildout_1_4_default_versions below to see the usage.
_buildout_version
=
pkg_resources
.
working_set
.
find
(
pkg_resources
.
Requirement
.
parse
(
'zc.buildout'
)).
version
_buildout_1_4_default_versions
=
{
# Buildout and recipes that are likely to change to 1.5.0 sooner rather
# than later.
'zc.buildout'
:
_buildout_version
,
'zc.recipe.egg'
:
'1.2.2'
,
'zc.recipe.testrunner'
:
'1.3.0'
,
'z3c.recipe.i18n'
:
'0.7.0'
,
'z3c.recipe.tag:'
:
'0.3.0'
,
'djangorecipe'
:
'0.20'
,
}
class
Buildout
(
UserDict
.
DictMixin
):
class
Buildout
(
UserDict
.
DictMixin
):
...
@@ -261,9 +277,16 @@ class Buildout(UserDict.DictMixin):
...
@@ -261,9 +277,16 @@ class Buildout(UserDict.DictMixin):
options
[
'newest'
]
=
newest
options
[
'newest'
]
=
newest
self
.
newest
=
newest
==
'true'
self
.
newest
=
newest
==
'true'
versions
=
options
.
get
(
'versions'
)
# This is a hacked version of zc.buildout for 1.4.4.
if
versions
:
# This means that buildout uses the defaults set up above. The point
zc
.
buildout
.
easy_install
.
default_versions
(
dict
(
self
[
versions
]))
# of it is to keep from migrating to 1.5 unless explicitly
# requested. This lets 1.4.4 be an "aspirin release" that people can
# use if they are having trouble with the 1.5 releases.
versions
=
_buildout_1_4_default_versions
.
copy
()
versions_section
=
options
.
get
(
'versions'
)
if
versions_section
:
versions
.
update
(
dict
(
self
[
versions_section
]))
zc
.
buildout
.
easy_install
.
default_versions
(
versions
)
prefer_final
=
options
.
get
(
'prefer-final'
,
'false'
)
prefer_final
=
options
.
get
(
'prefer-final'
,
'false'
)
if
prefer_final
not
in
(
'true'
,
'false'
):
if
prefer_final
not
in
(
'true'
,
'false'
):
...
...
src/zc/buildout/easy_install.txt
View file @
65cb7826
...
@@ -367,7 +367,8 @@ version information to be used when no version information is passes.
...
@@ -367,7 +367,8 @@ version information to be used when no version information is passes.
If called with an argument, it sets the default versions:
If called with an argument, it sets the default versions:
>>> zc.buildout.easy_install.default_versions(dict(demoneeded='1'))
>>> zc.buildout.easy_install.default_versions(dict(demoneeded='1'))
{}
... # doctest: +ELLIPSIS
{...}
It always returns the previous default versions. If called without an
It always returns the previous default versions. If called without an
argument, it simply returns the default versions without changing
argument, it simply returns the default versions without changing
...
...
src/zc/buildout/testing_bugfix.txt
View file @
65cb7826
...
@@ -15,7 +15,7 @@ The handers before calling set up are:
...
@@ -15,7 +15,7 @@ The handers before calling set up are:
>>> len(logging.getLogger().handlers)
>>> len(logging.getLogger().handlers)
1
1
>>> logging.getLogger().handlers # doctest: +ELLIPSIS
>>> logging.getLogger().handlers # doctest: +ELLIPSIS
[<zope.
testing
.testrunner.logsupport.NullHandler instance at ...>]
[<zope.
.
.testrunner.logsupport.NullHandler instance at ...>]
After calling it, a ``logging.StreamHandler`` was added:
After calling it, a ``logging.StreamHandler`` was added:
...
@@ -27,7 +27,7 @@ After calling it, a ``logging.StreamHandler`` was added:
...
@@ -27,7 +27,7 @@ After calling it, a ``logging.StreamHandler`` was added:
>>> len(logging.getLogger().handlers)
>>> len(logging.getLogger().handlers)
2
2
>>> logging.getLogger().handlers # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
>>> logging.getLogger().handlers # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
[<zope.
testing
.testrunner.logsupport.NullHandler instance at ...>,
[<zope.
.
.testrunner.logsupport.NullHandler instance at ...>,
<logging.StreamHandler instance at ...>]
<logging.StreamHandler instance at ...>]
But tear down removes the new logging handler:
But tear down removes the new logging handler:
...
@@ -36,4 +36,4 @@ But tear down removes the new logging handler:
...
@@ -36,4 +36,4 @@ But tear down removes the new logging handler:
>>> len(logging.getLogger().handlers)
>>> len(logging.getLogger().handlers)
1
1
>>> logging.getLogger().handlers # doctest: +ELLIPSIS
>>> logging.getLogger().handlers # doctest: +ELLIPSIS
[<zope.
testing
.testrunner.logsupport.NullHandler instance at ...>]
[<zope.
.
.testrunner.logsupport.NullHandler instance at ...>]
src/zc/buildout/tests.py
View file @
65cb7826
...
@@ -2779,37 +2779,33 @@ def easy_install_SetUp(test):
...
@@ -2779,37 +2779,33 @@ def easy_install_SetUp(test):
egg_parse
=
re
.
compile
(
'([0-9a-zA-Z_.]+)-([0-9a-zA-Z_.]+)-py(
\
d[.]
\
d).egg$'
egg_parse
=
re
.
compile
(
'([0-9a-zA-Z_.]+)-([0-9a-zA-Z_.]+)-py(
\
d[.]
\
d).egg$'
).
match
).
match
def
makeNewRelease
(
project
,
ws
,
dest
):
def
makeNewRelease
(
project
,
ws
,
dest
,
version
=
'99.99'
):
dist
=
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
project
))
dist
=
ws
.
find
(
pkg_resources
.
Requirement
.
parse
(
project
))
eggname
,
oldver
,
pyver
=
egg_parse
(
eggname
,
oldver
,
pyver
=
egg_parse
(
os
.
path
.
basename
(
dist
.
location
)
os
.
path
.
basename
(
dist
.
location
)
).
groups
()
).
groups
()
dest
=
os
.
path
.
join
(
dest
,
"%s-
99.99-py%s.egg"
%
(
eggname
,
pyver
))
dest
=
os
.
path
.
join
(
dest
,
"%s-
%s-py%s.egg"
%
(
eggname
,
version
,
pyver
))
if
os
.
path
.
isfile
(
dist
.
location
):
if
os
.
path
.
isfile
(
dist
.
location
):
shutil
.
copy
(
dist
.
location
,
dest
)
shutil
.
copy
(
dist
.
location
,
dest
)
zip
=
zipfile
.
ZipFile
(
dest
,
'a'
)
zip
=
zipfile
.
ZipFile
(
dest
,
'a'
)
zip
.
writestr
(
zip
.
writestr
(
'EGG-INFO/PKG-INFO'
,
'EGG-INFO/PKG-INFO'
,
zip
.
read
(
'EGG-INFO/PKG-INFO'
).
replace
(
"Version: %s"
%
oldver
,
zip
.
read
(
'EGG-INFO/PKG-INFO'
).
replace
(
"Version: %s"
%
oldver
,
"Version:
99.99"
)
"Version:
%s"
%
version
)
)
)
zip
.
close
()
zip
.
close
()
else
:
else
:
shutil
.
copytree
(
dist
.
location
,
dest
)
shutil
.
copytree
(
dist
.
location
,
dest
)
info_path
=
os
.
path
.
join
(
dest
,
'EGG-INFO'
,
'PKG-INFO'
)
info_path
=
os
.
path
.
join
(
dest
,
'EGG-INFO'
,
'PKG-INFO'
)
info
=
open
(
info_path
).
read
().
replace
(
"Version: %s"
%
oldver
,
info
=
open
(
info_path
).
read
().
replace
(
"Version: %s"
%
oldver
,
"Version:
99.99"
)
"Version:
%s"
%
version
)
open
(
info_path
,
'w'
).
write
(
info
)
open
(
info_path
,
'w'
).
write
(
info
)
def
getWorkingSetWithBuildoutEgg
(
test
):
def
updateSetup
(
test
):
zc
.
buildout
.
testing
.
buildoutSetUp
(
test
)
new_releases
=
test
.
globs
[
'tmpdir'
](
'new_releases'
)
test
.
globs
[
'new_releases'
]
=
new_releases
sample_buildout
=
test
.
globs
[
'sample_buildout'
]
sample_buildout
=
test
.
globs
[
'sample_buildout'
]
eggs
=
os
.
path
.
join
(
sample_buildout
,
'eggs'
)
eggs
=
os
.
path
.
join
(
sample_buildout
,
'eggs'
)
# If the zc.buildout dist is a develo dist, convert it to a
# If the zc.buildout dist is a develo
p
dist, convert it to a
# regular egg in the sample buildout
# regular egg in the sample buildout
req
=
pkg_resources
.
Requirement
.
parse
(
'zc.buildout'
)
req
=
pkg_resources
.
Requirement
.
parse
(
'zc.buildout'
)
dist
=
pkg_resources
.
working_set
.
find
(
req
)
dist
=
pkg_resources
.
working_set
.
find
(
req
)
...
@@ -2818,7 +2814,8 @@ def updateSetup(test):
...
@@ -2818,7 +2814,8 @@ def updateSetup(test):
here
=
os
.
getcwd
()
here
=
os
.
getcwd
()
os
.
chdir
(
os
.
path
.
dirname
(
dist
.
location
))
os
.
chdir
(
os
.
path
.
dirname
(
dist
.
location
))
assert
os
.
spawnle
(
assert
os
.
spawnle
(
os
.
P_WAIT
,
sys
.
executable
,
zc
.
buildout
.
easy_install
.
_safe_arg
(
sys
.
executable
),
os
.
P_WAIT
,
sys
.
executable
,
zc
.
buildout
.
easy_install
.
_safe_arg
(
sys
.
executable
),
os
.
path
.
join
(
os
.
path
.
dirname
(
dist
.
location
),
'setup.py'
),
os
.
path
.
join
(
os
.
path
.
dirname
(
dist
.
location
),
'setup.py'
),
'-q'
,
'bdist_egg'
,
'-d'
,
eggs
,
'-q'
,
'bdist_egg'
,
'-d'
,
eggs
,
dict
(
os
.
environ
,
dict
(
os
.
environ
,
...
@@ -2838,14 +2835,25 @@ def updateSetup(test):
...
@@ -2838,14 +2835,25 @@ def updateSetup(test):
os
.
path
.
join
(
sample_buildout
,
'bin'
))
os
.
path
.
join
(
sample_buildout
,
'bin'
))
else
:
else
:
ws
=
pkg_resources
.
working_set
ws
=
pkg_resources
.
working_set
return
ws
def
updateSetup
(
test
):
zc
.
buildout
.
testing
.
buildoutSetUp
(
test
)
new_releases
=
test
.
globs
[
'tmpdir'
](
'new_releases'
)
test
.
globs
[
'new_releases'
]
=
new_releases
ws
=
getWorkingSetWithBuildoutEgg
(
test
)
# now let's make the new releases
# now let's make the new releases
makeNewRelease
(
'zc.buildout'
,
ws
,
new_releases
)
makeNewRelease
(
'zc.buildout'
,
ws
,
new_releases
)
makeNewRelease
(
'setuptools'
,
ws
,
new_releases
)
os
.
mkdir
(
os
.
path
.
join
(
new_releases
,
'zc.buildout'
))
os
.
mkdir
(
os
.
path
.
join
(
new_releases
,
'zc.buildout'
))
makeNewRelease
(
'setuptools'
,
ws
,
new_releases
)
os
.
mkdir
(
os
.
path
.
join
(
new_releases
,
'setuptools'
))
os
.
mkdir
(
os
.
path
.
join
(
new_releases
,
'setuptools'
))
def
bootstrapSetup
(
test
):
easy_install_SetUp
(
test
)
sample_eggs
=
test
.
globs
[
'sample_eggs'
]
ws
=
getWorkingSetWithBuildoutEgg
(
test
)
makeNewRelease
(
'zc.buildout'
,
ws
,
sample_eggs
,
'1.4.4'
)
os
.
environ
[
'bootstrap-testing-find-links'
]
=
test
.
globs
[
'link_server'
]
normalize_bang
=
(
normalize_bang
=
(
...
@@ -3031,7 +3039,7 @@ def test_suite():
...
@@ -3031,7 +3039,7 @@ def test_suite():
if os.path.exists(bootstrap_py):
if os.path.exists(bootstrap_py):
test_suite.append(doctest.DocFileSuite(
test_suite.append(doctest.DocFileSuite(
'bootstrap.txt',
'bootstrap.txt',
setUp=
easy_install_SetU
p,
setUp=
bootstrapSetu
p,
tearDown=zc.buildout.testing.buildoutTearDown,
tearDown=zc.buildout.testing.buildoutTearDown,
checker=renormalizing.RENormalizing([
checker=renormalizing.RENormalizing([
zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_path,
...
...
src/zc/buildout/update.txt
View file @
65cb7826
Automatic Buildout Updates
Automatic Buildout Updates
==========================
==========================
When a buildout is run, one of the first steps performed is to check
NOTE: buildout 1.4.4 is a version that has been hacked to prefer itself, and
for updates to either zc.buildout or setuptools. To demonstrate this,
not upgrade. It is intended as a way for people who have trouble with the new
we've creates some "new releases" of buildout and setuptools in a
1.5 line to easily keep from upgrading until they are ready. In the future,
new_releases folder:
we suggest that you specify the versions of your dependencies using the
standard buildout mechanism
(http://pypi.python.org/pypi/zc.buildout#repeatable-buildouts-controlling-eggs-used).
However, for now, you can use 1.4.4 to easily control your dependencies.
When this file changes because of the hack, the documentation indicates this
with a "HACK" label.
When a buildout is run, one of the first steps performed is to check for
updates to either zc.buildout or setuptools (HACK: not zc.buildout). To
demonstrate this, we've created some "new releases" of buildout and
setuptools in a new_releases folder:
>>> ls(new_releases)
>>> ls(new_releases)
d setuptools
d setuptools
...
@@ -61,31 +71,29 @@ zc.buildout used:
...
@@ -61,31 +71,29 @@ zc.buildout used:
Now if we run the buildout, the buildout will upgrade itself to the
Now if we run the buildout, the buildout will upgrade itself to the
new versions found in new releases:
new versions found in new releases
(HACK: only setuptools)
:
>>> print system(buildout),
>>> print system(buildout),
Getting distribution for 'zc.buildout'.
Got zc.buildout 99.99.
Getting distribution for 'setuptools'.
Getting distribution for 'setuptools'.
Got setuptools 99.99.
Got setuptools 99.99.
Upgraded:
Upgraded:
zc.buildout version 99.99,
setuptools version 99.99;
setuptools version 99.99;
restarting.
restarting.
Generated script '/sample-buildout/bin/buildout'.
Generated script '/sample-buildout/bin/buildout'.
Develop: '/sample-buildout/showversions'
Develop: '/sample-buildout/showversions'
Installing show-versions.
Installing show-versions.
zc.buildout
99.99
zc.buildout
1.4.4
setuptools 99.99
setuptools 99.99
Our buildout script has been updated to use the new eggs:
Our buildout script has been updated to use the new eggs (HACK: only for
setuptools):
>>> cat(sample_buildout, 'bin', 'buildout')
>>> cat(sample_buildout, 'bin', 'buildout')
#!/usr/local/bin/python2.4
#!/usr/local/bin/python2.4
<BLANKLINE>
<BLANKLINE>
import sys
import sys
sys.path[0:0] = [
sys.path[0:0] = [
'/sample-buildout/eggs/zc.buildout-
99.99
-py2.4.egg',
'/sample-buildout/eggs/zc.buildout-
1.4.4
-py2.4.egg',
'/sample-buildout/eggs/setuptools-99.99-py2.4.egg',
'/sample-buildout/eggs/setuptools-99.99-py2.4.egg',
]
]
<BLANKLINE>
<BLANKLINE>
...
@@ -95,8 +103,8 @@ Our buildout script has been updated to use the new eggs:
...
@@ -95,8 +103,8 @@ Our buildout script has been updated to use the new eggs:
zc.buildout.buildout.main()
zc.buildout.buildout.main()
Now, let's recreate the sample buildout. If we specify constraints on
Now, let's recreate the sample buildout. If we specify constraints on
the versions of zc.buildout and setuptools to use, running the
the versions of zc.buildout and setuptools to use, running the
buildout
buildout will install earlier versions of these packages
:
will install earlier versions of these packages (HACK: only setuptools)
:
>>> write(sample_buildout, 'buildout.cfg',
>>> write(sample_buildout, 'buildout.cfg',
... """
... """
...
@@ -116,7 +124,6 @@ Now we can see that we actually "upgrade" to an earlier version.
...
@@ -116,7 +124,6 @@ Now we can see that we actually "upgrade" to an earlier version.
>>> print system(buildout),
>>> print system(buildout),
Upgraded:
Upgraded:
zc.buildout version 1.0.0,
setuptools version 0.6;
setuptools version 0.6;
restarting.
restarting.
Generated script '/sample-buildout/bin/buildout'.
Generated script '/sample-buildout/bin/buildout'.
...
@@ -175,8 +182,6 @@ directory:
...
@@ -175,8 +182,6 @@ directory:
Creating directory '/sample_buildout2/parts'.
Creating directory '/sample_buildout2/parts'.
Creating directory '/sample_buildout2/eggs'.
Creating directory '/sample_buildout2/eggs'.
Creating directory '/sample_buildout2/develop-eggs'.
Creating directory '/sample_buildout2/develop-eggs'.
Getting distribution for 'zc.buildout'.
Got zc.buildout 99.99.
Getting distribution for 'setuptools'.
Getting distribution for 'setuptools'.
Got setuptools 99.99.
Got setuptools 99.99.
Not upgrading because not running a local buildout command.
Not upgrading because not running a local buildout command.
...
...
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