[Checkins] SVN: lovely.recipe/trunk/ fix eggbox _script
Bernd Dorn
bernd.dorn at lovelysystems.com
Thu Jan 28 04:03:03 EST 2010
Log message for revision 108594:
fix eggbox _script
Changed:
U lovely.recipe/trunk/CHANGES.txt
U lovely.recipe/trunk/buildout.cfg
U lovely.recipe/trunk/src/lovely/recipe/egg/README.txt
U lovely.recipe/trunk/src/lovely/recipe/egg/__init__.py
U lovely.recipe/trunk/src/lovely/recipe/egg/tests.py
U lovely.recipe/trunk/src/lovely/recipe/testing.py
-=-
Modified: lovely.recipe/trunk/CHANGES.txt
===================================================================
--- lovely.recipe/trunk/CHANGES.txt 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/CHANGES.txt 2010-01-28 09:03:02 UTC (rev 108594)
@@ -2,6 +2,12 @@
Changes for lovely.recipe
=========================
+trunk
+=====
+
+ - fixed script generation in eggbox recipe, thanks to Jens Klein for
+ reporting this.
+
2009/08/27 1.0.0b6
==================
Modified: lovely.recipe/trunk/buildout.cfg
===================================================================
--- lovely.recipe/trunk/buildout.cfg 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/buildout.cfg 2010-01-28 09:03:02 UTC (rev 108594)
@@ -1,6 +1,7 @@
[buildout]
develop = .
parts = test importchecker
+versions = versions
[test]
recipe = zc.recipe.testrunner
@@ -9,4 +10,7 @@
[importchecker]
recipe = lovely.recipe:importchecker
-path = src/lovely
\ No newline at end of file
+path = src/lovely
+
+[versions]
+zc.buildout=1.4.3
Modified: lovely.recipe/trunk/src/lovely/recipe/egg/README.txt
===================================================================
--- lovely.recipe/trunk/src/lovely/recipe/egg/README.txt 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/src/lovely/recipe/egg/README.txt 2010-01-28 09:03:02 UTC (rev 108594)
@@ -17,66 +17,87 @@
>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
- ... develop = %s
+ ... develop = %(loc)s
... parts = packages
+ ... find-links = %(server)s
+ ... index = %(server)s/index
...
... [packages]
... recipe = lovely.recipe:eggbox
- ... eggs = pytz
+ ... eggs = demo
... lovely.recipe
... interpreter = py
- ... """ % lovely_recipy_loc)
+ ... """ % dict(loc=lovely_recipy_loc, server=link_server))
- >>> 'Installing packages.' in system(buildout + ' -o')
- True
+ >>> print system(buildout)
+ Develop: '...lovely.recipe'
+ Getting distribution for 'demo'.
+ Got demo 0.4c1.
+ Getting distribution for 'demoneeded'.
+ Got demoneeded 1.2c1.
+ Installing packages.
+ Generated script '...sample-buildout/bin/demo'.
+ Generated interpreter '...sample-buildout/bin/py'.
We now have a zip file for each top-level directory. Note that the
zip-files are ending with .egg for pkg_resources compatibility.
>>> ls(sample_buildout + '/parts/packages')
+ - easy_install.py.egg
+ - eggrecipedemo.py.egg
+ - eggrecipedemoneeded.py.egg
- lovely.egg
- - pytz.egg
+ - pkg_resources.py.egg
+ - setuptools.egg
- zc.egg
-The generated interpreter now has the pytz zip file in the path.
+The generated interpreter now has the demo zip file in the path.
>>> cat(sample_buildout + '/bin/py')
#!...
sys.path[0:0] = [
+ '/sample-buildout/parts/packages/easy_install.py.egg',
+ '/sample-buildout/parts/packages/eggrecipedemo.py.egg',
+ '/sample-buildout/parts/packages/eggrecipedemoneeded.py.egg',
'/sample-buildout/parts/packages/lovely.egg',
- '/sample-buildout/parts/packages/pytz.egg',
+ '/sample-buildout/parts/packages/pkg_resources.py.egg',
+ '/sample-buildout/parts/packages/setuptools.egg',
'/sample-buildout/parts/packages/zc.egg',
]...
It is possible to disable zipping. And also to exclude or include
-patterns of files. So for example we can strip down pytz. We can also
-create a script.
+patterns of files. So for example we can strip down the uneeded
+setuptools egg. We can also create a script.
>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
- ... develop = %s
+ ... develop = %(loc)s
... parts = packages test
- ... find-links = http://download.zope.org/distribution
+ ... find-links = %(server)s
+ ... index = %(server)s/index
...
... [packages]
... zip = False
... recipe = lovely.recipe:eggbox
- ... eggs = pytz
+ ... eggs = demo
... lovely.recipe
- ... excludes = ^pytz/zoneinfo/Mexico/.*
+ ... excludes = ^setuptools/.*
+ ... ^easy_install.*
+ ... ^pkg_resources.*
...
... [test]
... recipe = zc.recipe.egg:scripts
... eggs = lovely.recipe
... extra-paths = ${packages:path}
... interpreter = py
- ... """ % lovely_recipy_loc)
+ ... """ % dict(loc=lovely_recipy_loc, server=link_server))
>>> print system(buildout),
- Develop: '...'
+ Develop: '/Users/bd/sandbox/lovely.recipe'
Uninstalling packages.
Installing packages.
+ Generated script '/sample-buildout/bin/demo'.
Installing test.
Generated interpreter '/sample-buildout/bin/py'.
@@ -87,7 +108,8 @@
python path.
>>> ls(sample_buildout + '/parts/packages')
- d pytz
+ d eggrecipedemo.py
+ d eggrecipedemoneeded.py
d zc
>>> print system(join(sample_buildout, 'bin', 'py') + \
@@ -96,17 +118,6 @@
- >>> ls(sample_buildout + '/parts/packages/pytz/pytz/zoneinfo/Mexico')
- Traceback (most recent call last):
- ...
- OSError...No such file or directory: .../Mexico'
-
- >>> ls(sample_buildout + '/parts/packages/pytz/pytz/zoneinfo/America')
- - Adak
- - Anchorage
- - Anguilla
- - ...
-
The test section uses the path of our packages section. Note that due,
to the development path of lovely.recipe this path is actually
included twice because the script recipe does not check duplicates.
@@ -114,13 +125,11 @@
>>> cat(sample_buildout + '/bin/py')
#!...
sys.path[0:0] = [
- '/.../src',
- '/Users/bd/.buildout/eggs/zc.recipe.egg-...egg',
- '/sample-buildout/eggs/zc.buildout-...egg',
- '/opt/local/lib/python2.5/site-packages',
- '/.../src',
- '/sample-buildout/parts/packages/pytz',
+ '/...lovely.recipe/src',
+ ...
+ '/.../lovely.recipe/src',
+ '/sample-buildout/parts/packages/eggrecipedemo.py',
+ '/sample-buildout/parts/packages/eggrecipedemoneeded.py',
'/sample-buildout/parts/packages/zc',
]...
-
Modified: lovely.recipe/trunk/src/lovely/recipe/egg/__init__.py
===================================================================
--- lovely.recipe/trunk/src/lovely/recipe/egg/__init__.py 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/src/lovely/recipe/egg/__init__.py 2010-01-28 09:03:02 UTC (rev 108594)
@@ -179,11 +179,11 @@
continue
else:
sname = name
-
sname = os.path.join(dest, sname)
+ spath, rpsetup = _relative_path_and_setup(sname, path, relative_paths)
generated.extend(
_script(module_name, attrs, path, sname, executable, arguments,
- initialization)
+ initialization, rpsetup)
)
if interpreter:
sname = os.path.join(dest, interpreter)
Modified: lovely.recipe/trunk/src/lovely/recipe/egg/tests.py
===================================================================
--- lovely.recipe/trunk/src/lovely/recipe/egg/tests.py 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/src/lovely/recipe/egg/tests.py 2010-01-28 09:03:02 UTC (rev 108594)
@@ -21,14 +21,18 @@
from zope.testing import doctest, renormalizing
from lovely.recipe.testing import setUpBuildout
+import zc.buildout.tests
+def setUp(test):
+ setUpBuildout(test)
+ zc.buildout.tests.easy_install_SetUp(test)
def test_suite():
return unittest.TestSuite((
doctest.DocFileSuite(
'README.txt',
- setUp=setUpBuildout,
+ setUp=setUp,
optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
tearDown=testing.buildoutTearDown,
checker=renormalizing.RENormalizing([
Modified: lovely.recipe/trunk/src/lovely/recipe/testing.py
===================================================================
--- lovely.recipe/trunk/src/lovely/recipe/testing.py 2010-01-28 04:13:54 UTC (rev 108593)
+++ lovely.recipe/trunk/src/lovely/recipe/testing.py 2010-01-28 09:03:02 UTC (rev 108594)
@@ -4,5 +4,5 @@
testing.buildoutSetUp(test)
testing.install_develop('zc.recipe.egg', test)
testing.install_develop('lovely.recipe', test)
- testing.install_develop('pytz', test)
+ testing.install_develop('zope.testing', test)
testing.install_develop('zope.interface', test)
More information about the checkins
mailing list