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
6
Merge Requests
6
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
47645243
Commit
47645243
authored
Dec 30, 2012
by
Jim Fulton
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cherry-picked
d3c78d5c
Make sure (???) buildout doesn't downgrade due to defer-final
parent
ecac6b62
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
92 additions
and
24 deletions
+92
-24
src/zc/buildout/buildout.py
src/zc/buildout/buildout.py
+16
-4
src/zc/buildout/buildout.txt
src/zc/buildout/buildout.txt
+2
-1
src/zc/buildout/repeatable.txt
src/zc/buildout/repeatable.txt
+2
-2
src/zc/buildout/tests.py
src/zc/buildout/tests.py
+69
-14
src/zc/buildout/update.txt
src/zc/buildout/update.txt
+3
-3
No files found.
src/zc/buildout/buildout.py
View file @
47645243
...
@@ -277,8 +277,11 @@ class Buildout(UserDict.DictMixin):
...
@@ -277,8 +277,11 @@ class Buildout(UserDict.DictMixin):
versions
=
options
.
get
(
'versions'
)
versions
=
options
.
get
(
'versions'
)
if
versions
:
if
versions
:
zc
.
buildout
.
easy_install
.
default_versions
(
dict
(
self
[
versions
]))
versions
=
dict
(
self
[
versions
])
zc
.
buildout
.
easy_install
.
default_versions
(
versions
)
else
:
versions
=
{}
self
.
versions
=
versions
self
.
offline
=
options
.
get_bool
(
'offline'
)
self
.
offline
=
options
.
get_bool
(
'offline'
)
if
self
.
offline
:
if
self
.
offline
:
...
@@ -881,13 +884,22 @@ class Buildout(UserDict.DictMixin):
...
@@ -881,13 +884,22 @@ class Buildout(UserDict.DictMixin):
if
not
self
.
newest
:
if
not
self
.
newest
:
return
return
options
=
self
[
'buildout'
]
specs
=
[
'zc.buildout'
]
specs
=
[
'zc.buildout'
]
if
zc
.
buildout
.
easy_install
.
is_distribute
:
if
zc
.
buildout
.
easy_install
.
is_distribute
:
specs
.
append
(
'distribute'
)
specs
.
append
(
'distribute'
)
else
:
else
:
specs
.
append
(
'setuptools'
)
specs
.
append
(
'setuptools'
)
# Prevent downgrading due to prefer-final:
options
=
self
[
'buildout'
]
if
not
(
'zc.buildout-version'
in
options
or
'zc.buildout'
in
self
.
versions
):
v
=
pkg_resources
.
working_set
.
find
(
pkg_resources
.
Requirement
.
parse
(
'zc.buildout'
)
).
version
options
[
'zc.buildout-version'
]
=
'>='
+
v
ws
=
zc
.
buildout
.
easy_install
.
install
(
ws
=
zc
.
buildout
.
easy_install
.
install
(
[
[
(
spec
+
' '
+
options
.
get
(
spec
+
'-version'
,
''
)).
strip
()
(
spec
+
' '
+
options
.
get
(
spec
+
'-version'
,
''
)).
strip
()
...
...
src/zc/buildout/buildout.txt
View file @
47645243
...
@@ -2259,7 +2259,7 @@ database is shown.
...
@@ -2259,7 +2259,7 @@ database is shown.
... """)
... """)
>>> print system(buildout+' -vv'), # doctest: +NORMALIZE_WHITESPACE
>>> print system(buildout+' -vv'), # doctest: +NORMALIZE_WHITESPACE
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.9a1
', 'setuptools'.
We have a develop egg: zc.buildout X.X.
We have a develop egg: zc.buildout X.X.
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = V.V
Picked: setuptools = V.V
...
@@ -2293,6 +2293,7 @@ database is shown.
...
@@ -2293,6 +2293,7 @@ database is shown.
unzip = false
unzip = false
use-dependency-links = true
use-dependency-links = true
verbosity = 20
verbosity = 20
zc.buildout-version = >=1.9a1
<BLANKLINE>
<BLANKLINE>
All of these options can be overridden by configuration files or by
All of these options can be overridden by configuration files or by
...
...
src/zc/buildout/repeatable.txt
View file @
47645243
...
@@ -124,7 +124,7 @@ about versions used. If we run the buildout in verbose mode without
...
@@ -124,7 +124,7 @@ about versions used. If we run the buildout in verbose mode without
specifying a versions section:
specifying a versions section:
>>> print system(buildout+' buildout:versions= -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' buildout:versions= -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
We have a develop egg: zc.buildout 1.0.0.
We have a develop egg: zc.buildout 1.0.0.
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6
Picked: setuptools = 0.6
...
@@ -146,7 +146,7 @@ that we can fix them in a versions section.
...
@@ -146,7 +146,7 @@ that we can fix them in a versions section.
If we run the buildout with the versions section:
If we run the buildout with the versions section:
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
We have a develop egg: zc.buildout 1.0.0.
We have a develop egg: zc.buildout 1.0.0.
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6
Picked: setuptools = 0.6
...
...
src/zc/buildout/tests.py
View file @
47645243
...
@@ -321,7 +321,7 @@ if we hadn't required sampley ourselves:
...
@@ -321,7 +321,7 @@ if we hadn't required sampley ourselves:
If we use the verbose switch, we can see where requirements are coming from:
If we use the verbose switch, we can see where requirements are coming from:
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
We have a develop egg: zc.buildout 1.0.0
We have a develop egg: zc.buildout 1.0.0
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6
Picked: setuptools = 0.6
...
@@ -420,7 +420,7 @@ indicate the eggs from site-packages that have been selected. You'll see
...
@@ -420,7 +420,7 @@ indicate the eggs from site-packages that have been selected. You'll see
we have two: demo 0.3 and demoneeded 1.1.
we have two: demo 0.3 and demoneeded 1.1.
>>> print system(buildout+" -v"),
>>> print system(buildout+" -v"),
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.9.0
', 'setuptools'.
We have a develop egg: zc.buildout V
We have a develop egg: zc.buildout V
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = V
Picked: setuptools = V
...
@@ -616,7 +616,7 @@ def create_sections_on_command_line():
...
@@ -616,7 +616,7 @@ def create_sections_on_command_line():
... ''')
... ''')
>>> print system(buildout + ' foo:bar=1 -vv'), # doctest: +ELLIPSIS
>>> print system(buildout + ' foo:bar=1 -vv'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
...
...
[foo]
[foo]
bar = 1
bar = 1
...
@@ -2801,7 +2801,7 @@ def dealing_with_extremely_insane_dependencies():
...
@@ -2801,7 +2801,7 @@ def dealing_with_extremely_insane_dependencies():
However, if we run in verbose mode, we can see why packages were included:
However, if we run in verbose mode, we can see why packages were included:
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.9.0
', 'setuptools'.
We have a develop egg: zc.buildout 1.0.0
We have a develop egg: zc.buildout 1.0.0
We have the best distribution that satisfies 'setuptools'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6
Picked: setuptools = 0.6
...
@@ -3092,7 +3092,7 @@ The default is prefer-final = false:
...
@@ -3092,7 +3092,7 @@ The default is prefer-final = false:
... ''' % globals())
... ''' % globals())
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
...
...
Picked: demo = 0.4c1
Picked: demo = 0.4c1
...
...
...
@@ -3114,7 +3114,7 @@ We get the same behavior if we add prefer-final = false
...
@@ -3114,7 +3114,7 @@ We get the same behavior if we add prefer-final = false
... ''' % globals())
... ''' % globals())
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
...
...
Picked: demo = 0.4c1
Picked: demo = 0.4c1
...
...
...
@@ -3136,7 +3136,7 @@ distributions:
...
@@ -3136,7 +3136,7 @@ distributions:
... ''' % globals())
... ''' % globals())
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing 'zc.buildout', 'setuptools'.
Installing 'zc.buildout
>=1.99
', 'setuptools'.
...
...
Picked: demo = 0.3
Picked: demo = 0.3
...
...
...
@@ -3160,6 +3160,50 @@ We get an error if we specify anything but true or false:
...
@@ -3160,6 +3160,50 @@ We get an error if we specify anything but true or false:
While:
While:
Initializing.
Initializing.
Error: Invalid value for prefer-final option: no
Error: Invalid value for prefer-final option: no
"""
def
wont_downgrade_due_to_prefer_final
():
r"""
If we install a non-final buildout version, we don't want to
downgrade just bcause we prefer-final. If a buildout version
isn't specified, either through buildout-version or a versions
entry, then buildout-version gets set to >=CURRENT_VERSION.
>>> write('buildout.cfg',
... '''
... [buildout]
... parts =
... ''')
>>> [v] = [l.split('=', 1)[1].strip()
... for l in system(buildout+' -vv').split('\n')
... if l.startswith('zc.buildout-version = ')]
>>> v == '>=' + pkg_resources.working_set.find(
... pkg_resources.Requirement.parse('zc.buildout')
... ).version
True
>>> write('buildout.cfg',
... '''
... [buildout]
... parts =
... zc.buildout-version = >.1
... ''')
>>> [l.split('=', 1)[1].strip()
... for l in system(buildout+' -vv').split('\n')
... if l.startswith('zc.buildout-version =')]
['>.1']
>>> write('buildout.cfg',
... '''
... [buildout]
... parts =
... versions = versions
... [versions]
... zc.buildout = 43
... ''')
>>> print system(buildout+' -v'), # doctest: +ELLIPSIS
Installing...
Error: Couldn't find a distribution for 'zc.buildout==43'.
"""
"""
...
@@ -3975,6 +4019,8 @@ def test_suite():
...
@@ -3975,6 +4019,8 @@ def test_suite():
zc
.
buildout
.
testing
.
normalize_egg_py
,
zc
.
buildout
.
testing
.
normalize_egg_py
,
zc
.
buildout
.
tests
.
hide_distribute_additions
,
zc
.
buildout
.
tests
.
hide_distribute_additions
,
hide_zip_safe_message
,
hide_zip_safe_message
,
(
re
.
compile
(
r'zc.buildout-version = >=\
S+
'), ''),
(re.compile(r"Installing '
zc
.
buildout
>=
\
S
+
"), ''),
(re.compile('__buildout_signature__ = recipes-
\
S+
'
),
(re.compile('__buildout_signature__ = recipes-
\
S+
'
),
'__buildout_signature__ = recipes-SSSSSSSSSSS'),
'__buildout_signature__ = recipes-SSSSSSSSSSS'),
(re.compile('executable = [
\
S ]+py
t
hon
\
S*
'
, re.I),
(re.compile('executable = [
\
S ]+py
t
hon
\
S*
'
, re.I),
...
@@ -4010,6 +4056,9 @@ def test_suite():
...
@@ -4010,6 +4056,9 @@ def test_suite():
zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.normalize_egg_py,
zc.buildout.tests.hide_distribute_additions,
zc.buildout.tests.hide_distribute_additions,
hide_zip_safe_message,
hide_zip_safe_message,
(re.compile(r"
Installing
'zc.buildout >=
\
S+
"
), ''),
(re.compile(r"Getting distribution for '
zc
.
buildout
>=
\
S
+
"),
''),
(re.compile('__buildout_signature__ = recipes-
\
S+
'
),
(re.compile('__buildout_signature__ = recipes-
\
S+
'
),
'__buildout_signature__ = recipes-SSSSSSSSSSS'),
'__buildout_signature__ = recipes-SSSSSSSSSSS'),
(re.compile('executable = [
\
S ]+py
t
hon
\
S*
'
, re.I),
(re.compile('executable = [
\
S ]+py
t
hon
\
S*
'
, re.I),
...
@@ -4058,6 +4107,9 @@ def test_suite():
...
@@ -4058,6 +4107,9 @@ def test_suite():
zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.normalize_egg_py,
normalize_bang,
normalize_bang,
zc.buildout.tests.hide_distribute_additions,
zc.buildout.tests.hide_distribute_additions,
(re.compile(r"
Installing
'zc.buildout >=
\
S+
"
), ''),
(re.compile(r"Getting distribution for '
zc
.
buildout
>=
\
S
+
"),
''),
(re.compile('99[.]99'), 'NINETYNINE.NINETYNINE'),
(re.compile('99[.]99'), 'NINETYNINE.NINETYNINE'),
(re.compile('(zc.buildout|setuptools)-
\
d+[.]
\
d+
\
S*
'
(re.compile('(zc.buildout|setuptools)-
\
d+[.]
\
d+
\
S*
'
'-py
\
d.
\
d.egg'),
'-py
\
d.
\
d.egg'),
...
@@ -4133,6 +4185,8 @@ def test_suite():
...
@@ -4133,6 +4185,8 @@ def test_suite():
zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.normalize_egg_py,
zc.buildout.tests.hide_distribute_additions,
zc.buildout.tests.hide_distribute_additions,
hide_first_index_page_message,
hide_first_index_page_message,
(re.compile(r"
Installing
'zc.buildout >=
\
S+
"
), '
Installing
'),
(re.compile(r'
^
(
\
w
+
\
.)
*
(
Missing
\
w
+
:
)
'), '
\
2
'),
(re.compile("buildout: Running
\
S*se
t
up.py"),
(re.compile("buildout: Running
\
S*se
t
up.py"),
'
buildout
:
Running
setup
.
py
'),
'
buildout
:
Running
setup
.
py
'),
(re.compile('
(
setuptools
|
distribute
)
-
\
S
+-
'),
(re.compile('
(
setuptools
|
distribute
)
-
\
S
+-
'),
...
@@ -4151,7 +4205,8 @@ def test_suite():
...
@@ -4151,7 +4205,8 @@ def test_suite():
'-q develop -mxN -d /sample-buildout/develop-eggs'
'-q develop -mxN -d /sample-buildout/develop-eggs'
),
),
(re.compile(r'^[*]...'), '...'),
(re.compile(r'^[*]...'), '...'),
# for bug_92891_bootstrap_crashes_with_egg_recipe_in_buildout_section
# for 92891
# bootstrap_crashes_with_egg_recipe_in_buildout_section
(re.compile(r"
Unused
options
for
buildout
:
'eggs'
'scripts'
\
.
"),
(re.compile(r"
Unused
options
for
buildout
:
'eggs'
'scripts'
\
.
"),
"
Unused
options
for
buildout
:
'scripts'
'eggs'
.
"),
"
Unused
options
for
buildout
:
'scripts'
'eggs'
.
"),
(re.compile('distribute'), 'setuptools'),
(re.compile('distribute'), 'setuptools'),
...
...
src/zc/buildout/update.txt
View file @
47645243
...
@@ -65,7 +65,7 @@ Now if we run the buildout, the buildout will upgrade itself to the
...
@@ -65,7 +65,7 @@ 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:
>>> print system(buildout),
>>> print system(buildout),
Getting distribution for 'zc.buildout'.
Getting distribution for 'zc.buildout
>=1.99
'.
Got zc.buildout 99.99.
Got zc.buildout 99.99.
Getting distribution for 'setuptools'.
Getting distribution for 'setuptools'.
Got setuptools 99.99.
Got setuptools 99.99.
...
@@ -200,7 +200,7 @@ directory:
...
@@ -200,7 +200,7 @@ 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'.
Getting distribution for 'zc.buildout
>=1.99
'.
Got zc.buildout 99.99.
Got zc.buildout 99.99.
Getting distribution for 'setuptools'.
Getting distribution for 'setuptools'.
Got setuptools 99.99.
Got setuptools 99.99.
...
@@ -233,7 +233,7 @@ We'll mimic this by passing the argument actually in the command line.
...
@@ -233,7 +233,7 @@ We'll mimic this by passing the argument actually in the command line.
>>> print system(buildout +
>>> print system(buildout +
... ' buildout:accept-buildout-test-releases=true'),
... ' buildout:accept-buildout-test-releases=true'),
... # doctest: +NORMALIZE_WHITESPACE
... # doctest: +NORMALIZE_WHITESPACE
Getting distribution for 'zc.buildout'.
Getting distribution for 'zc.buildout
>=1.99
'.
Got zc.buildout 100.0b1.
Got zc.buildout 100.0b1.
Upgraded:
Upgraded:
zc.buildout version 100.0b1,
zc.buildout version 100.0b1,
...
...
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