[Checkins] SVN: zc.buildout/branches/reinout-scripts/src/zc/buildout/ Trying to get scripts working. Not working yet...
Reinout van Rees
reinout at vanrees.org
Wed Sep 2 09:11:34 EDT 2009
Log message for revision 103482:
Trying to get scripts working. Not working yet...
Changed:
U zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py
U zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt
U zc.buildout/branches/reinout-scripts/src/zc/buildout/tests.py
-=-
Modified: zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py 2009-09-02 11:04:48 UTC (rev 103481)
+++ zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py 2009-09-02 13:11:34 UTC (rev 103482)
@@ -927,6 +927,7 @@
initialization = '\n'+initialization+'\n'
entry_points = []
+ distutils_scripts = []
for req in reqs:
if isinstance(req, str):
req = pkg_resources.Requirement.parse(req)
Modified: zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt
===================================================================
--- zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt 2009-09-02 11:04:48 UTC (rev 103481)
+++ zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt 2009-09-02 13:11:34 UTC (rev 103482)
@@ -912,6 +912,32 @@
__import__("code").interact(banner="", local=globals())
+Installing distutils-style scripts
+----------------------------------
+
+Most python libraries use the console_scripts entry point nowadays. But
+several still have a ``scripts=['bin/something']`` in their setup() call.
+Buildout also installs those:
+
+ >>> distdir = tmpdir('distutilsscriptdir')
+ >>> distbin = tmpdir('distutilsscriptbin')
+ >>> ws = zc.buildout.easy_install.install(
+ ... ['other'], distdir,
+ ... links=[link_server], index=link_server+'index/')
+ >>> scripts = zc.buildout.easy_install.scripts(
+ ... ['other'], ws, sys.executable, distbin)
+ >>> ls(distbin)
+ - distutilsscript
+
+Distutils copies the specified script files verbatim, apart from a line at the
+top that looks like ``#!/usr/bin/python``, which gets replaced by the actual
+python interpreter. Buildout does the same, but additionally also adds the
+sys.path like for the console_scripts:
+
+ >>> cat(distbin, 'distutilsscript')
+ TODO
+
+
Handling custom build options for extensions provided in source distributions
-----------------------------------------------------------------------------
Modified: zc.buildout/branches/reinout-scripts/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/branches/reinout-scripts/src/zc/buildout/tests.py 2009-09-02 11:04:48 UTC (rev 103481)
+++ zc.buildout/branches/reinout-scripts/src/zc/buildout/tests.py 2009-09-02 13:11:34 UTC (rev 103482)
@@ -2675,14 +2675,17 @@
)
zc.buildout.testing.sdist(tmp, dest)
+ write(tmp, 'distutilsscript', '#!/usr/bin/python\nprint "distutils!"')
write(
tmp, 'setup.py',
"from setuptools import setup\n"
"setup(name='other', zip_safe=False, version='1.0', "
+ "scripts=['distutilsscript'],"
"py_modules=['eggrecipedemoneeded'])\n"
)
zc.buildout.testing.bdist_egg(tmp, executable, dest)
+ os.remove(os.path.join(tmp, 'distutilsscript'))
os.remove(os.path.join(tmp, 'eggrecipedemoneeded.py'))
for i in (1, 2, 3, 4):
More information about the checkins
mailing list