[Checkins] SVN: zc.buildout/branches/gary-5/ merge from gary-4
Gary Poster
gary.poster at canonical.com
Mon Feb 22 18:12:55 EST 2010
Log message for revision 109333:
merge from gary-4
Changed:
_U zc.buildout/branches/gary-5/
U zc.buildout/branches/gary-5/CHANGES.txt
U zc.buildout/branches/gary-5/README.txt
U zc.buildout/branches/gary-5/src/zc/buildout/easy_install.py
U zc.buildout/branches/gary-5/src/zc/buildout/easy_install.txt
U zc.buildout/branches/gary-5/src/zc/buildout/tests.py
U zc.buildout/branches/gary-5/src/zc/buildout/testselectingpython.py
U zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/README.txt
U zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/scripts.py
U zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/tests.py
-=-
Property changes on: zc.buildout/branches/gary-5
___________________________________________________________________
Modified: svn:mergeinfo
- /zc.buildout/branches/gary-2:108913,109099
/zc.buildout/branches/gary-3:108914,109100
/zc.buildout/branches/gary-1:109098
+ /zc.buildout/branches/gary-4:109328-109332
/zc.buildout/branches/gary-2:108913,109099
/zc.buildout/branches/gary-3:108914,109100
/zc.buildout/branches/gary-1:109098
Modified: svk:merge
- 62d5b8a3-27da-0310-9561-8e5933582275:/zc.buildout/branches/gary-3:109100
+ 62d5b8a3-27da-0310-9561-8e5933582275:/zc.buildout/branches/gary-3:109100
62d5b8a3-27da-0310-9561-8e5933582275:/zc.buildout/branches/gary-4:109332
Modified: zc.buildout/branches/gary-5/CHANGES.txt
===================================================================
--- zc.buildout/branches/gary-5/CHANGES.txt 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/CHANGES.txt 2010-02-22 23:12:54 UTC (rev 109333)
@@ -11,19 +11,17 @@
than zc.recipe.egg (which is still a fully supported, and simpler, way of
generating scripts and interpreters if you are using a "clean" Python).
- A hopefully slight limitation: in no cases are distributions in your
- site-packages used to satisfy buildout dependencies. The
- site-packages can be used in addition to the dependencies specified in
- your buildout, and buildout dependencies can override code in your
- site-packages, but even if your Python's site-packages has the same
- exact version as specified in your buildout configuration, buildout
- will still use its own copy.
+ (Note that this branch is incomplete in its implementation of this feature:
+ if eggs are in installed in site-packages but you do not want to use
+ site-packages, the eggs will drag in site-packages even if you try to
+ exclude it. This is addressed in subsequent branches in the series of
+ which this one is a part.)
-- Added new function, ``zc.buildout.easy_install.generate_scripts``, to
- generate scripts and interpreter. It produces a full-featured
+- Added new function, ``zc.buildout.easy_install.sitepackage_safe_scripts``,
+ to generate scripts and interpreter. It produces a full-featured
interpreter (all command-line options supported) and the ability to
- safely let scripts include site packages. The ``z3c.recipe.scripts``
- recipe uses this new function.
+ safely let scripts include site packages, such as with a system
+ Python. The ``z3c.recipe.scripts`` recipe uses this new function.
- Improve bootstrap.
Modified: zc.buildout/branches/gary-5/README.txt
===================================================================
--- zc.buildout/branches/gary-5/README.txt 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/README.txt 2010-02-22 23:12:54 UTC (rev 109333)
@@ -35,12 +35,15 @@
`zc.recipe.egg <http://pypi.python.org/pypi/zc.recipe.egg>`_
The egg recipe installes one or more eggs, with their
dependencies. It installs their console-script entry points with
- the needed eggs included in their paths.
+ the needed eggs included in their paths. It is suitable for use with
+ a "clean" Python: one without packages installed in site-packages.
`z3c.recipe.scripts <http://pypi.python.org/pypi/z3c.recipe.scripts>`_
- This scripts recipe builds interpreter scripts and entry point scripts
- based on eggs. These scripts have more features and flexibility than the
- ones offered by zc.recipe.egg.
+ Like zc.recipe.egg, this recipe builds interpreter scripts and entry
+ point scripts based on eggs. It can be used with a Python that has
+ packages installed in site-packages, such as a system Python. The
+ interpreter also has more features than the one offered by
+ zc.recipe.egg.
`zc.recipe.testrunner <http://pypi.python.org/pypi/zc.recipe.testrunner>`_
The testrunner egg creates a test runner script for one or
Modified: zc.buildout/branches/gary-5/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/gary-5/src/zc/buildout/easy_install.py 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/src/zc/buildout/easy_install.py 2010-02-22 23:12:54 UTC (rev 109333)
@@ -61,15 +61,16 @@
pkg_resources.Requirement.parse('setuptools')
).location
-# Include buildout and setuptools eggs in paths
-buildout_and_setuptools_path = [
- setuptools_loc,
- pkg_resources.working_set.find(
- pkg_resources.Requirement.parse('zc.buildout')).location,
- ]
+# Include buildout and setuptools eggs in paths. We prevent dupes just to
+# keep from duplicating any log messages about them.
+buildout_loc = pkg_resources.working_set.find(
+ pkg_resources.Requirement.parse('zc.buildout')).location
+buildout_and_setuptools_path = [setuptools_loc]
+if os.path.normpath(setuptools_loc) != os.path.normpath(buildout_loc):
+ buildout_and_setuptools_path.append(buildout_loc)
def _get_system_paths(executable):
- """return lists of standard lib and site paths for executable.
+ """Return lists of standard lib and site paths for executable.
"""
# We want to get a list of the site packages, which is not easy.
# The canonical way to do this is to use
@@ -227,24 +228,47 @@
#
# The namespace packages installed in site-packages with
# --single-version-externally-managed use a mechanism that cause them to
-# be processed when site.py is imported. Simply starting Python with -S
-# addresses the problem in Python 2.4 and 2.5, but Python 2.6's distutils
-# imports a value from the site module, so we unfortunately have to do more
-# drastic surgery in the _easy_install_cmd code below. The changes to
-# sys.modules specifically try to only remove namespace modules installed by
-# the --single-version-externally-managed code.
+# be processed when site.py is imported (see
+# http://mail.python.org/pipermail/distutils-sig/2009-May/011730.html
+# for another description of the problem). Simply starting Python with
+# -S addresses the problem in Python 2.4 and 2.5, but Python 2.6's
+# distutils imports a value from the site module, so we unfortunately
+# have to do more drastic surgery in the _easy_install_cmd code below.
+#
+# Here's an example of the .pth files created by setuptools when using that
+# flag:
+#
+# import sys,new,os;
+# p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('<NAMESPACE>',));
+# ie = os.path.exists(os.path.join(p,'__init__.py'));
+# m = not ie and sys.modules.setdefault('<NAMESPACE>',new.module('<NAMESPACE>'));
+# mp = (m or []) and m.__dict__.setdefault('__path__',[]);
+# (p not in mp) and mp.append(p)
+#
+# The code, below, then, runs under -S, indicating that site.py should
+# not be loaded initially. It gets the initial sys.path under these
+# circumstances, and then imports site (because Python 2.6's distutils
+# will want it, as mentioned above). It then reinstates the old sys.path
+# value. Then it removes namespace packages (created by the setuptools
+# code above) from sys.modules. It identifies namespace packages by
+# iterating over every loaded module. It first looks if there is a
+# __path__, so it is a package; and then it sees if that __path__ does
+# not have an __init__.py. (Note that PEP 382,
+# http://www.python.org/dev/peps/pep-0382, makes it possible to have a
+# namespace package that has an __init__.py, but also should make it
+# unnecessary for site.py to preprocess these packages, so it should be
+# fine, as far as can be guessed as of this writing.) Finally, it
+# imports easy_install and runs it.
_easy_install_cmd = _safe_arg('''\
-import sys; \
-p = sys.path[:]; \
-m = sys.modules.keys(); \
-import site; \
-sys.path[:] = p; \
-m_attrs = set(('__builtins__', '__file__', '__package__', '__path__')); \
-match = set(('__path__',)); \
+import sys,os;\
+p = sys.path[:];\
+import site;\
+sys.path[:] = p;\
[sys.modules.pop(k) for k, v in sys.modules.items()\
- if k not in m and v and m_attrs.intersection(dir(v)) == match]; \
-from setuptools.command.easy_install import main; \
+ if hasattr(v, '__path__') and len(v.__path__)==1 and\
+ not os.path.exists(os.path.join(v.__path__[0],'__init__.py'))];\
+from setuptools.command.easy_install import main;\
main()''')
@@ -1126,8 +1150,9 @@
):
"""Generate scripts and/or an interpreter.
- See generate_scripts for a newer version with more options and a
- different approach.
+ See sitepackage_safe_scripts for a version that can be used with a Python
+ that can be used with a Python that has code installed in site-packages.
+ It has more options and a different approach.
"""
path = _get_path(working_set, extra_paths)
if initialization:
@@ -1142,12 +1167,12 @@
_pyscript(spath, sname, executable, rpsetup))
return generated
-def generate_scripts(
+def sitepackage_safe_scripts(
dest, working_set, executable, site_py_dest,
reqs=(), scripts=None, interpreter=None, extra_paths=(),
initialization='', add_site_packages=False, exec_sitecustomize=False,
relative_paths=False, script_arguments='', script_initialization=''):
- """Generate scripts and/or an interpreter.
+ """Generate scripts and/or an interpreter from a system Python.
This accomplishes the same job as the ``scripts`` function, above,
but it does so in an alternative way that allows safely including
@@ -1161,7 +1186,7 @@
site_py_dest, working_set, executable, extra_paths,
add_site_packages, relative_paths))
script_initialization = (
- '\nimport site # imports custom buildbot-generated site.py\n%s' % (
+ '\nimport site # imports custom buildout-generated site.py\n%s' % (
script_initialization,))
if not script_initialization.endswith('\n'):
script_initialization += '\n'
@@ -1175,7 +1200,7 @@
# Utilities for the script generation functions.
-# These are shared by both ``scripts`` and ``generate_scripts``
+# These are shared by both ``scripts`` and ``sitepackage_safe_scripts``
def _get_path(working_set, extra_paths=()):
"""Given working set and extra paths, return a normalized path list."""
@@ -1442,7 +1467,7 @@
__import__("code").interact(banner="", local=globals())
'''
-# These are used only by the newer ``generate_scripts`` function.
+# These are used only by the newer ``sitepackage_safe_scripts`` function.
def _get_module_file(executable, name):
"""Return a module's file path.
Modified: zc.buildout/branches/gary-5/src/zc/buildout/easy_install.txt
===================================================================
--- zc.buildout/branches/gary-5/src/zc/buildout/easy_install.txt 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/src/zc/buildout/easy_install.txt 2010-02-22 23:12:54 UTC (rev 109333)
@@ -595,7 +595,7 @@
It provides two competing functions. One, ``scripts``, is a
well-established approach to generating reliable scripts with a "clean"
Python--e.g., one that does not have any packages in its site-packages.
-The other, ``generate_scripts``, is newer, a bit trickier, and is
+The other, ``sitepackage_safe_scripts``, is newer, a bit trickier, and is
designed to work with a Python that has code in its site-packages, such
as a system Python.
@@ -607,10 +607,10 @@
- The script doesn't have to import pkg_resources because the logic that
pkg_resources would execute at run time is executed at script-creation
- time. (There is an exception in ``generate_scripts`` if you want to
- have your Python's site packages available, as discussed below, but
- even in that case pkg_resources is only partially activated, which can
- be a significant time savings.)
+ time. (There is an exception in ``sitepackage_safe_scripts`` if you
+ want to have your Python's site packages available, as discussed
+ below, but even in that case pkg_resources is only partially
+ activated, which can be a significant time savings.)
The ``scripts`` function
@@ -994,22 +994,23 @@
del _interactive
__import__("code").interact(banner="", local=globals())
-The ``generate_scripts`` function
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The ``sitepackage_safe_scripts`` function
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The newer function for creating scripts is ``generate_scripts``. It has the
-same basic functionality as the ``scripts`` function: it can create scripts
-to run arbitrary entry points, and to run a Python interpreter. The
-following are the differences from a user's perspective.
+The newer function for creating scripts is ``sitepackage_safe_scripts``.
+ It has the same basic functionality as the ``scripts`` function: it can
+create scripts to run arbitrary entry points, and to run a Python
+interpreter. The following are the differences from a user's
+perspective.
- It can be used safely with a Python that has packages installed itself,
such as a system-installed Python.
- In contrast to the interpreter generated by the ``scripts`` method, which
supports only a small subset of the usual Python executable's options,
- the interpreter generated by ``generate_scripts`` supports all of them.
- This makes it possible to use as full Python replacement for scripts that
- need the distributions specified in your buildout.
+ the interpreter generated by ``sitepackage_safe_scripts`` supports all
+ of them. This makes it possible to use as full Python replacement for
+ scripts that need the distributions specified in your buildout.
- Both the interpreter and the entry point scripts allow you to include the
site packages, and/or the sitecustomize, of the Python executable, if
@@ -1033,7 +1034,7 @@
>>> ws = zc.buildout.easy_install.install(
... ['demo'], join(interpreter_dir, 'eggs'), links=[link_server],
... index=link_server+'index/')
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py')
@@ -1135,7 +1136,7 @@
>>> initialization_string = """\
... import os
... os.environ['FOO'] = 'bar baz bing shazam'"""
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', initialization=initialization_string)
>>> cat(sitecustomize_path)
@@ -1150,7 +1151,7 @@
os.execve.)
>>> reset_interpreter()
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', relative_paths=interpreter_dir)
>>> cat(py_path)
@@ -1206,7 +1207,7 @@
>>> reset_interpreter()
>>> mkdir(interpreter_dir, 'other')
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', extra_paths=[join(interpreter_dir, 'other')])
>>> sys.stdout.write('#\n'); cat(site_path) # doctest: +ELLIPSIS
@@ -1232,15 +1233,15 @@
'/interpreter/other']
<BLANKLINE>
-The ``generate_scripts`` function: using site-packages
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The ``sitepackage_safe_scripts`` function: using site-packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The ``generate_scripts`` function supports including site packages. This has
-some advantages and some serious dangers.
+The ``sitepackage_safe_scripts`` function supports including site
+packages. This has some advantages and some serious dangers.
A typical reason to include site-packages is that it is easier to
install one or more dependencies in your Python than it is with
-buildbot. Some packages, such as lxml or Python PostgreSQL integration,
+buildout. Some packages, such as lxml or Python PostgreSQL integration,
have dependencies that can be much easier to build and/or install using
other mechanisms, such as your operating system's package manager. By
installing some core packages into your Python's site-packages, this can
@@ -1264,7 +1265,7 @@
this is very straightforward.
>>> reset_interpreter()
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', add_site_packages=True)
>>> sys.stdout.write('#\n'); cat(site_path)
@@ -1333,7 +1334,7 @@
>>> ws = zc.buildout.easy_install.install(
... ['demo', 'tellmy.fortune'], join(interpreter_dir, 'eggs'),
... links=[link_server, namespace_eggs], index=link_server+'index/')
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', add_site_packages=True)
>>> sys.stdout.write('#\n'); cat(site_path)
@@ -1391,7 +1392,7 @@
at that result.
>>> reset_interpreter()
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... interpreter='py', add_site_packages=True,
... relative_paths=interpreter_dir)
@@ -1448,8 +1449,8 @@
True. The z3c.recipe.scripts package sets up the full environment necessary
to demonstrate this piece.
-The ``generate_scripts`` function: writing scripts for entry points
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The ``sitepackage_safe_scripts`` function: writing scripts for entry points
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All of the examples so far for this function have been creating
interpreters. The function can also write scripts for entry
@@ -1463,7 +1464,7 @@
>>> ws = zc.buildout.easy_install.install(
... ['demo'], join(interpreter_dir, 'eggs'), links=[link_server],
... index=link_server+'index/')
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... reqs=['demo'])
@@ -1497,7 +1498,7 @@
]
<BLANKLINE>
<BLANKLINE>
- import site # imports custom buildbot-generated site.py
+ import site # imports custom buildout-generated site.py
<BLANKLINE>
import eggrecipedemo
<BLANKLINE>
@@ -1524,7 +1525,7 @@
Let's see ``script_arguments`` and ``script_initialization`` in action.
>>> reset_interpreter()
- >>> generated = zc.buildout.easy_install.generate_scripts(
+ >>> generated = zc.buildout.easy_install.sitepackage_safe_scripts(
... interpreter_bin_dir, ws, sys.executable, interpreter_parts_dir,
... reqs=['demo'], script_arguments='1, 2',
... script_initialization='import os\nos.chdir("foo")')
@@ -1536,7 +1537,7 @@
'/interpreter/parts/interpreter',
]
<BLANKLINE>
- import site # imports custom buildbot-generated site.py
+ import site # imports custom buildout-generated site.py
import os
os.chdir("foo")
<BLANKLINE>
Modified: zc.buildout/branches/gary-5/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/branches/gary-5/src/zc/buildout/tests.py 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/src/zc/buildout/tests.py 2010-02-22 23:12:54 UTC (rev 109333)
@@ -1881,8 +1881,9 @@
r"""
If you have the same namespace package in both site-packages and in
buildout, we need to be very careful that faux-Python-executables and
-scripts generated by easy_install.generate_scripts correctly combine the two.
-We show this with the local recipe that uses the function, z3c.recipe.scripts.
+scripts generated by easy_install.sitepackage_safe_scripts correctly
+combine the two. We show this with the local recipe that uses the
+function, z3c.recipe.scripts.
To demonstrate this, we will create three packages: tellmy.version 1.0,
tellmy.version 1.1, and tellmy.fortune 1.0. tellmy.version 1.1 is installed.
@@ -2049,8 +2050,9 @@
We already have: tellmy.version 1.0
<BLANKLINE>
-The bugfix was simply to add Python's "-S" option when calling
-easyinstall (see zc.buildout.easy_install.Installer._call_easy_install).
+You can see the copiously commented fix for this in easy_install.py (see
+zc.buildout.easy_install.Installer._call_easy_install and particularly
+the comment leading up to zc.buildout.easy_install._easy_install_cmd).
Now the install works correctly, as seen here.
>>> print system(buildout)
Modified: zc.buildout/branches/gary-5/src/zc/buildout/testselectingpython.py
===================================================================
--- zc.buildout/branches/gary-5/src/zc/buildout/testselectingpython.py 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/src/zc/buildout/testselectingpython.py 2010-02-22 23:12:54 UTC (rev 109333)
@@ -61,7 +61,7 @@
['setuptools'], executable_dir,
index='http://www.python.org/pypi/',
always_unzip=True, executable=other_executable)
- zc.buildout.easy_install.generate_scripts(
+ zc.buildout.easy_install.sitepackage_safe_scripts(
executable_dir, ws, other_executable, executable_parts,
reqs=['setuptools'], interpreter='py')
original_executable = other_executable
Modified: zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/README.txt
===================================================================
--- zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/README.txt 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/README.txt 2010-02-22 23:12:54 UTC (rev 109333)
@@ -47,7 +47,7 @@
exec-sitecustomize
Normally the Python's real sitecustomize module is not processed.
If you want it to be processed, set this value to 'true'. This will
- be honored irrespective of the setting for include-site-paths.
+ be honored irrespective of the setting for add-site-packages.
script-initialization
The standard initialization code affects both an interpreter and scripts.
@@ -181,7 +181,7 @@
A typical reason to include site-packages is that it is easier to
install one or more dependencies in your Python than it is with
-buildbot. Some packages, such as lxml or Python PostgreSQL integration,
+buildout. Some packages, such as lxml or Python PostgreSQL integration,
have dependencies that can be much easier to build and/or install using
other mechanisms, such as your operating system's package manager. By
installing some core packages into your Python's site-packages, this can
@@ -399,5 +399,4 @@
42
<BLANKLINE>
-The other options all identical to the zc.recipe.egg script. Here are some
-quick demos and discussions.
+The other options all identical to zc.recipe.egg.
Modified: zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/scripts.py
===================================================================
--- zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/scripts.py 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/scripts.py 2010-02-22 23:12:54 UTC (rev 109333)
@@ -63,7 +63,7 @@
if not os.path.exists(options['parts-directory']):
os.mkdir(options['parts-directory'])
generated.append(options['parts-directory'])
- generated.extend(zc.buildout.easy_install.generate_scripts(
+ generated.extend(zc.buildout.easy_install.sitepackage_safe_scripts(
options['bin-directory'], ws, options['executable'],
options['parts-directory'],
interpreter=options['name'],
@@ -86,7 +86,7 @@
if not os.path.exists(options['parts-directory']):
os.mkdir(options['parts-directory'])
generated.append(options['parts-directory'])
- generated.extend(zc.buildout.easy_install.generate_scripts(
+ generated.extend(zc.buildout.easy_install.sitepackage_safe_scripts(
options['bin-directory'], ws, options['executable'],
options['parts-directory'], reqs=reqs, scripts=scripts,
interpreter=options.get('interpreter'),
Modified: zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/tests.py
===================================================================
--- zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/tests.py 2010-02-22 23:12:28 UTC (rev 109332)
+++ zc.buildout/branches/gary-5/z3c.recipe.scripts_/src/z3c/recipe/scripts/tests.py 2010-02-22 23:12:54 UTC (rev 109333)
@@ -25,7 +25,7 @@
# all of the examples. The README tests ``extends``,
# ``include-site-customization`` and ``name``. That leaves ``python``,
# ``extra-paths``, ``initialization``, ``relative-paths``, and
-# ``include-site-packages``.
+# ``add-site-packages``.
def supports_python_option():
"""
More information about the checkins
mailing list