[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