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
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
isaak yansane-sisk
slapos.buildout
Commits
52c93ffa
Commit
52c93ffa
authored
Sep 07, 2012
by
Hanno Schlichting
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #19 from buildout/3.3
3.3
parents
66fee301
87cb4b31
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
70 additions
and
52 deletions
+70
-52
2.4.cfg
2.4.cfg
+6
-0
dev.py
dev.py
+2
-0
src/zc/buildout/buildout.py
src/zc/buildout/buildout.py
+26
-9
src/zc/buildout/buildout.txt
src/zc/buildout/buildout.txt
+5
-9
src/zc/buildout/debugging.txt
src/zc/buildout/debugging.txt
+1
-1
src/zc/buildout/dependencylinks.txt
src/zc/buildout/dependencylinks.txt
+1
-2
src/zc/buildout/downloadcache.txt
src/zc/buildout/downloadcache.txt
+1
-2
src/zc/buildout/easy_install.txt
src/zc/buildout/easy_install.txt
+3
-5
src/zc/buildout/testing.py
src/zc/buildout/testing.py
+11
-4
src/zc/buildout/tests.py
src/zc/buildout/tests.py
+1
-1
zc.recipe.egg_/src/zc/recipe/egg/custom.txt
zc.recipe.egg_/src/zc/recipe/egg/custom.txt
+13
-19
No files found.
2.4.cfg
0 → 100644
View file @
52c93ffa
[buildout]
extends = buildout.cfg
[versions]
zope.interface = 3.8.0
zope.exceptions = 3.7.1
dev.py
View file @
52c93ffa
...
...
@@ -72,4 +72,6 @@ if sys.platform.startswith('java'):
# Jython needs the script to be called twice via sys.executable
assert
subprocess
.
Popen
([
sys
.
executable
]
+
[
bin_buildout
]).
wait
()
==
0
if
sys
.
version_info
<
(
2
,
6
):
bin_buildout
=
[
bin_buildout
,
'-c2.4.cfg'
]
sys
.
exit
(
subprocess
.
Popen
(
bin_buildout
).
wait
())
src/zc/buildout/buildout.py
View file @
52c93ffa
...
...
@@ -1083,7 +1083,7 @@ class Options(DictMixin):
self
.
_raw
=
self
.
_do_extend_raw
(
name
,
self
.
_raw
,
[])
# force substitutions
for
k
,
v
in
list
(
self
.
_raw
.
items
()):
for
k
,
v
in
sorted
(
self
.
_raw
.
items
()):
if
'${'
in
v
:
self
.
_dosub
(
k
,
v
)
...
...
@@ -1403,7 +1403,7 @@ def _open(base, filename, seen, dl_options, override, downloaded):
return
result
ignore_directories
=
'.svn'
,
'CVS'
ignore_directories
=
'.svn'
,
'CVS'
,
'__pycache__'
_dir_hashes
=
{}
def
_dir_hash
(
dir
):
dir_hash
=
_dir_hashes
.
get
(
dir
,
None
)
...
...
@@ -1411,15 +1411,31 @@ def _dir_hash(dir):
return
dir_hash
hash
=
md5
()
for
(
dirpath
,
dirnames
,
filenames
)
in
os
.
walk
(
dir
):
dirnames
[:]
=
[
n
for
n
in
dirnames
if
n
not
in
ignore_directories
]
filenames
[:]
=
[
f
for
f
in
filenames
dirnames
[:]
=
sorted
(
n
for
n
in
dirnames
if
n
not
in
ignore_directories
)
filenames
[:]
=
sorted
(
f
for
f
in
filenames
if
(
not
(
f
.
endswith
(
'pyc'
)
or
f
.
endswith
(
'pyo'
))
and
os
.
path
.
exists
(
os
.
path
.
join
(
dirpath
,
f
)))
]
)
hash
.
update
(
' '
.
join
(
dirnames
).
encode
())
hash
.
update
(
' '
.
join
(
filenames
).
encode
())
for
name
in
filenames
:
hash
.
update
(
open
(
os
.
path
.
join
(
dirpath
,
name
),
'rb'
).
read
())
path
=
os
.
path
.
join
(
dirpath
,
name
)
if
name
==
'entry_points.txt'
:
f
=
open
(
path
)
# Entry points aren't written in stable order. :(
try
:
sections
=
zc
.
buildout
.
configparser
.
parse
(
f
,
path
)
data
=
repr
([(
sname
,
sorted
(
sections
[
sname
].
items
()))
for
sname
in
sorted
(
sections
)]).
encode
(
'utf-8'
)
except
Exception
:
f
.
close
()
f
=
open
(
path
,
'rb'
)
data
=
f
.
read
()
else
:
f
=
open
(
path
,
'rb'
)
data
=
f
.
read
()
f
.
close
()
hash
.
update
(
data
)
_dir_hashes
[
dir
]
=
dir_hash
=
hash
.
hexdigest
()
return
dir_hash
...
...
@@ -1501,7 +1517,8 @@ recipe being used:
def
_check_for_unused_options_in_section
(
buildout
,
section
):
options
=
buildout
[
section
]
unused
=
[
option
for
option
in
options
.
_raw
if
option
not
in
options
.
_data
]
unused
=
[
option
for
option
in
sorted
(
options
.
_raw
)
if
option
not
in
options
.
_data
]
if
unused
:
buildout
.
_logger
.
warn
(
"Unused options for %s: %s."
%
(
section
,
' '
.
join
(
map
(
repr
,
unused
)))
...
...
src/zc/buildout/buildout.txt
View file @
52c93ffa
...
...
@@ -465,8 +465,7 @@ leave previously created paths in place:
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
...
OSError: ... exists...
... exists...
We meant to create a directory bins, but typed bin. Now foo was
left behind.
...
...
@@ -497,8 +496,7 @@ If we fix the typo:
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
...
OSError: ... exists...
... exists...
Now they fail because foo exists, because it was left behind.
...
...
@@ -585,8 +583,7 @@ When we rerun the buildout:
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
...
OSError: ... exists...
... exists...
we get the same error, but we don't get the directory left behind:
...
...
@@ -661,8 +658,7 @@ directories will be created:
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
...
OSError: ... exists...
... exists...
>>> os.path.exists('foo')
False
...
...
@@ -1137,7 +1133,7 @@ extension that prints out the options.
... import sys
... def ext(buildout):
... sys.stdout.write(str(
... [part['option'] for name, part in
buildout.items(
)
... [part['option'] for name, part in
sorted(buildout.items()
)
... if name.startswith('part')])+'\\n')
... """)
...
...
src/zc/buildout/debugging.txt
View file @
52c93ffa
...
...
@@ -69,7 +69,7 @@ supply some input:
>>> print_(system(buildout+" -D", """\
... up
... p s
elf.options.keys(
)
... p s
orted(self.options.keys()
)
... q
... """), end='')
Develop: '/sample-buildout/recipes'
...
...
src/zc/buildout/dependencylinks.txt
View file @
52c93ffa
...
...
@@ -21,9 +21,8 @@ testing repository.
Turn on logging on this server so that we can see when eggs are pulled
from it.
>>> get(link_server2 + 'enable_server_logging')
>>>
_ =
get(link_server2 + 'enable_server_logging')
GET 200 /enable_server_logging
''
Let's create a develop egg in our buildout that specifies
dependency_links which point to the new server.
...
...
src/zc/buildout/downloadcache.txt
View file @
52c93ffa
...
...
@@ -50,9 +50,8 @@ download:
We'll enable logging on the link server so we can see what's going on:
>>> get(link_server+'enable_server_logging')
>>>
_ =
get(link_server+'enable_server_logging')
GET 200 /enable_server_logging
''
We also specified a download cache.
...
...
src/zc/buildout/easy_install.txt
View file @
52c93ffa
...
...
@@ -376,9 +376,8 @@ We have a link server that has a number of eggs:
Turn on logging on this server so that we can see when eggs are pulled
from it.
>>> get(link_server2 + 'enable_server_logging')
>>>
_ =
get(link_server2 + 'enable_server_logging')
GET 200 /enable_server_logging
''
Now we can create an egg that specifies that its dependencies are
found on this server.
...
...
@@ -1160,7 +1159,7 @@ We have a link server that has a number of eggs:
And that the source directory contains the compiled extension:
>>> contents = os.listdir(extdemo)
>>>
any([f for f in contents if f.endswith(('.so', '.pyd')
)])
>>>
bool([f for f in contents if f.endswith('.so') or f.endswith('.pyd'
)])
True
Download cache
...
...
@@ -1192,9 +1191,8 @@ We have a link server that has a number of eggs:
We'd like to see what is being fetched from the server, so we'll
enable server logging:
>>> get(link_server+'enable_server_logging')
>>>
_ =
get(link_server+'enable_server_logging')
GET 200 /enable_server_logging
''
Now, if we install demo, and extdemo:
...
...
src/zc/buildout/testing.py
View file @
52c93ffa
...
...
@@ -311,15 +311,21 @@ class Handler(BaseHTTPRequestHandler):
if
'__stop__'
in
self
.
path
:
raise
SystemExit
def
k
():
self
.
send_response
(
200
)
out
=
'<html><body>k</body></html>
\
n
'
.
encode
()
self
.
send_header
(
'Content-Length'
,
str
(
len
(
out
)))
self
.
send_header
(
'Content-Type'
,
'text/html'
)
self
.
end_headers
()
self
.
wfile
.
write
(
out
)
if
self
.
path
==
'/enable_server_logging'
:
self
.
__server
.
__log
=
True
self
.
send_response
(
200
)
return
return
k
()
if
self
.
path
==
'/disable_server_logging'
:
self
.
__server
.
__log
=
False
self
.
send_response
(
200
)
return
return
k
()
path
=
os
.
path
.
abspath
(
os
.
path
.
join
(
self
.
tree
,
*
self
.
path
.
split
(
'/'
)))
if
not
(
...
...
@@ -361,6 +367,7 @@ class Handler(BaseHTTPRequestHandler):
self
.
send_header
(
'Content-Type'
,
'application/x-gzip'
)
else
:
self
.
send_header
(
'Content-Type'
,
'text/html'
)
self
.
end_headers
()
self
.
wfile
.
write
(
out
)
...
...
src/zc/buildout/tests.py
View file @
52c93ffa
...
...
@@ -137,10 +137,10 @@ It is an error to create a variable-reference cycle:
Initializing.
Getting section buildout.
Initializing section buildout.
Getting option buildout:x.
Getting option buildout:y.
Getting option buildout:z.
Getting option buildout:x.
Getting option buildout:y.
Error: Circular reference in substitutions.
It is an error to use funny characters in variable refereces:
...
...
zc.recipe.egg_/src/zc/recipe/egg/custom.txt
View file @
52c93ffa
...
...
@@ -232,12 +232,12 @@ But if we run the buildout in the default on-line and newest modes, we
will. This time we also get the test-variable message again, because the new
version is imported:
>>> print_(system(buildout), end='')
>>> print_(system(buildout), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/demo'
Updating extdemo.
zip_safe flag not set; analyzing archive contents...
Updating demo.
Generated script '/sample-buildout/bin/demo'
.
..
.
>>> ls(sample_buildout, 'develop-eggs')
- demo.egg-link
...
...
@@ -270,14 +270,9 @@ We can specify a specific version using the egg option:
... entry-points = demo=demo:main
... """ % dict(server=link_server))
>>> print_(system(buildout+' -D'), end='')
>>> print_(system(buildout+' -D'), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/demo'
Uninstalling demo.
Uninstalling extdemo.
Installing extdemo.
zip_safe flag not set; analyzing archive contents...
Installing demo.
Generated script '/sample-buildout/bin/demo'.
...
>>> ls(sample_buildout, 'develop-eggs')
- demo.egg-link
...
...
@@ -346,7 +341,7 @@ Create our buildout:
... recipe = recipes:environ
...
... """ % dict(server=link_server))
>>> print_(system(buildout), end='')
>>> print_(system(buildout), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/recipes'
Uninstalling demo.
Uninstalling extdemo.
...
...
@@ -354,7 +349,7 @@ Create our buildout:
Have environment test-variable: foo
zip_safe flag not set; analyzing archive contents...
Installing checkenv.
checkenv: test-variable left over: False
...
The setup.py also printed out that we have set the environment `test-variable`
...
...
@@ -400,14 +395,14 @@ are interpolated with os.environ before the're set:
... recipe = recipes:environ
...
... """ % dict(server=link_server))
>>> print_(system(buildout), end='')
>>> print_(system(buildout), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/recipes'
Uninstalling extdemo.
Installing extdemo.
Have environment test-variable: foo:bar
zip_safe flag not set; analyzing archive contents...
Updating checkenv.
checkenv: test-variable left over: True
...
>>> os.environ['test-variable']
'bar'
...
...
@@ -429,12 +424,11 @@ Create a clean buildout.cfg w/o the checkenv recipe, and delete the recipe:
... include-dirs = include
...
... """ % dict(server=link_server))
>>> print_(system(buildout), end='')
>>> print_(system(buildout), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/recipes'
Uninstalling checkenv.
Uninstalling extdemo.
Installing extdemo.
zip_safe flag not set; analyzing archive contents...
Installing extdemo...
>>> rmdir(sample_buildout, 'recipes')
...
...
@@ -530,12 +524,12 @@ Note that we added a define option to cause the preprocessor variable
TWO to be defined. This will cause the module-variable, 'val', to be
set with a value of 2.
>>> print_(system(buildout), end='')
>>> print_(system(buildout), end='')
# doctest: +ELLIPSIS
Develop: '/sample-buildout/demo'
Uninstalling extdemo.
Installing extdemo.
Installing demo.
Generated script '/sample-buildout/bin/demo'
.
..
.
Our develop-eggs now includes an egg link for extdemo:
...
...
@@ -547,7 +541,7 @@ Our develop-eggs now includes an egg link for extdemo:
and the extdemo now has a built extension:
>>> contents = os.listdir(extdemo)
>>>
any([f for f in contents if f.endswith(('.so', '.pyd')
)])
>>>
bool([f for f in contents if f.endswith('.so') or f.endswith('.pyd'
)])
True
Because develop eggs take precedence over non-develop eggs, the demo
...
...
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