[Distutils] [buildout] http://downloads.buildout.org/1/bootstrap.py resulting in buildout 2.0.1

Maurits van Rees m.van.rees at zestsoftware.nl
Wed Feb 20 10:52:12 CET 2013


Op 20-02-13 08:51, Chris Withers schreef:
> Seem to be bug(s) in buildout!
>
> Two problems:
>
> - I thought the buildout 1 bootstrap pinned zc.recipe.egg? Looks like it
> might, but with the incorrect 'zc.recipe.egg<2'.

I do not see where this requirement is actually specified.  I see it in 
the console output, but not in the bootstrap.py, the buildout.cfg or any 
of the downloaded eggs, except in a doctest of zc.buildout.

> As far as setuptools is concerned, 2.0.0a3<2. Stupid, but that's the way
> it is :-(
>
> - If I'm reading the above, buildout is picking two different versions
> of the same distribution in one part, which is bad. Jim, what's going on
> here?
>
> (if you want to play along, buildout is here, but remove the version pin
> in buildout.cfg, as that's what I put in to solve the issue:
> git at github.com:Simplistix/checker.git)
>
> cheers,
>
> Chris
>

Seems fine on my laptop without that version pin.  This is on Mac OS 
10.8.2, with a python2.6 compiled from source (well, with the help of 
https://github.com/collective/buildout.python).

You could edit the jenkins script to run 'cat bin/buildout' after doing 
the bootstrap, to see if that somehow has unexpected contents.

This is my console output:

mauritsvanrees at procyon:checker (git:master+) $ g diff
diff --git a/buildout.cfg b/buildout.cfg
index 19fca17..3aec79c 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -8,7 +8,6 @@ parts = py docs
  versions = versions

  [versions]
-zc.buildout = 1.7.0

  [py]
  recipe = zc.recipe.egg
mauritsvanrees at procyon:checker (git:master+) $ python2.6 bootstrap.py
Creating directory '/Users/mauritsvanrees/tmp/checker/bin'.
Creating directory '/Users/mauritsvanrees/tmp/checker/parts'.
Creating directory '/Users/mauritsvanrees/tmp/checker/develop-eggs'.
Getting distribution for 'distribute'.
Before install bootstrap.
Scanning installed packages
No setuptools distribution found
After install bootstrap.
Creating 
/Users/mauritsvanrees/buildout/python2.6/python-2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info
Creating 
/Users/mauritsvanrees/buildout/python2.6/python-2.6/lib/python2.6/site-packages/setuptools.pth
Got distribute 0.6.35.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
mauritsvanrees at procyon:checker (git:master+) $ cat bin/buildout
#!/Users/mauritsvanrees/py/bin/python2.6

import sys
sys.path[0:0] = [
     '/Users/mauritsvanrees/shared-eggs/distribute-0.6.35-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/zc.buildout-1.7.0-py2.6.egg',
     ]


import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())
mauritsvanrees at procyon:checker (git:master+) $ bin/buildout
Develop: '/Users/mauritsvanrees/tmp/checker/.'
Unused options for buildout: 'zope-directory'.
Installing py.
Getting distribution for 'tox'.
Got tox 1.4.2.
Getting distribution for 'testfixtures'.
Got testfixtures 2.3.5.
Getting distribution for 'nose-cov'.
Got nose-cov 1.6.
Getting distribution for 'nose-fixes'.
Got nose-fixes 1.3.
Getting distribution for 'nose'.
no previously-included directories found matching 'doc/.build'
Got nose 1.2.1.
Getting distribution for 'manuel'.
Got manuel 1.7.1.
Getting distribution for 'mock'.
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.css' under directory 'docs'
warning: no files found matching '*.html' under directory 'docs'
warning: no files found matching '*.js' under directory 'docs'
zip_safe flag not set; analyzing archive contents...
Got mock 1.0.1.
Getting distribution for 'zope.dottedname'.
Got zope.dottedname 4.0.0.
Getting distribution for 'execute'.
Got execute 1.2.
Getting distribution for 'virtualenv>=1.7'.
warning: no previously-included files matching '*' found under directory 
'docs/_templates'
warning: no previously-included files matching '*' found under directory 
'docs/_build'
Got virtualenv 1.8.4.
Getting distribution for 'cov-core>=1.6'.
Got cov-core 1.7.
Getting distribution for 'coverage>=3.4'.
warning: no previously-included files matching '*.pyc' found anywhere in 
distribution
Got coverage 3.6.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/checker'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/tox'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage2'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage'.
Generated interpreter '/Users/mauritsvanrees/tmp/checker/bin/py'.
Installing docs.
Getting distribution for 'sphinx-pypi-upload'.
zip_safe flag not set; analyzing archive contents...
Got Sphinx-PyPI-upload 0.2.1.
Getting distribution for 'zc.rst2'.
Got zc.rst2 0.2.
Getting distribution for 'pkginfo'.
Got pkginfo 1.0b2.
Getting distribution for 'setuptools-git'.
/Users/mauritsvanrees/buildout/python2.6/parts/opt/lib/python2.6/distutils/dist.py:266: 
UserWarning: Unknown distribution option: 'mainainer'
   warnings.warn(msg)
/Users/mauritsvanrees/buildout/python2.6/parts/opt/lib/python2.6/distutils/dist.py:266: 
UserWarning: Unknown distribution option: 'mainainer_email'
   warnings.warn(msg)
Got setuptools-git 1.0b1.
Getting distribution for 'Pygments>=1.2'.
Got Pygments 1.6.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/checker'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/sphinx-apidoc'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/sphinx-build'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/sphinx-quickstart'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/sphinx-autogen'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/rst2'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/pkginfo'.
Generated interpreter '/Users/mauritsvanrees/tmp/checker/bin/docpy'.
mauritsvanrees at procyon:checker (git:master+) $ cat bin/buildout
#!/Users/mauritsvanrees/py/bin/python2.6

import sys
sys.path[0:0] = [
     '/Users/mauritsvanrees/tmp/checker',
     '/Users/mauritsvanrees/shared-eggs/tox-1.4.2-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/zope.testing-4.1.1-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/zc.recipe.egg-2.0.0a3-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/zc.buildout-1.7.0-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/testfixtures-2.3.5-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/nose_cov-1.6-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/nose_fixes-1.3-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/nose-1.2.1-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/manuel-1.7.1-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/mock-1.0.1-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/zope.dottedname-4.0.0-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/mailinglogger-3.7.0-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/execute-1.2-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/argparse-1.2.1-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/py-1.4.12-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/virtualenv-1.8.4-py2.6.egg',
 
'/Users/mauritsvanrees/shared-eggs/zope.interface-4.0.3-py2.6-macosx-10.6-x86_64.egg',
     '/Users/mauritsvanrees/shared-eggs/zope.exceptions-4.0.5-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/distribute-0.6.35-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/cov_core-1.7-py2.6.egg',
     '/Users/mauritsvanrees/shared-eggs/six-1.2.0-py2.6.egg',
 
'/Users/mauritsvanrees/shared-eggs/coverage-3.6-py2.6-macosx-10.8-x86_64.egg',
     ]


import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())



Ah, but wait: I use a shared eggs directory.  I can turn that off and 
try again, with a cleaned checkout.  During the buildout run 
zc.recipe.egg 1.3.2 is first installed and later on 2.0.0a3 so that is 
indeed strange.  The buildout does not even finish then, though that 
seems a problem with sphinx:

mauritsvanrees at procyon:checker (git:master+) $ g diff
diff --git a/buildout.cfg b/buildout.cfg
index 19fca17..3346a90 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -6,9 +6,10 @@
  develop = .
  parts = py docs
  versions = versions
+eggs-directory = eggs^M
+download-cache = downloads^M

  [versions]
-zc.buildout = 1.7.0

  [py]
  recipe = zc.recipe.egg
mauritsvanrees at procyon:checker (git:master+) $ python2.6 bootstrap.py
Creating directory '/Users/mauritsvanrees/tmp/checker/bin'.
Creating directory '/Users/mauritsvanrees/tmp/checker/parts'.
Creating directory '/Users/mauritsvanrees/tmp/checker/develop-eggs'.
Getting distribution for 'distribute'.
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at 
/Users/mauritsvanrees/buildout/python2.6/python-2.6/lib/python2.6/site-packages
Non-egg installation
Moving elements out of the way...
Already patched.
/Users/mauritsvanrees/buildout/python2.6/python-2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info 
already patched.
After install bootstrap.
/Users/mauritsvanrees/buildout/python2.6/python-2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info 
already exists
Got distribute 0.6.35.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
mauritsvanrees at procyon:checker (git:master+) $ cat bin/buildout
#!/Users/mauritsvanrees/py/bin/python2.6

import sys
sys.path[0:0] = [
     '/Users/mauritsvanrees/tmp/checker/eggs/distribute-0.6.35-py2.6.egg',
     '/Users/mauritsvanrees/tmp/checker/eggs/zc.buildout-1.7.0-py2.6.egg',
     ]


import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())
mauritsvanrees at procyon:checker (git:master+) $ bin/buildout
Develop: '/Users/mauritsvanrees/tmp/checker/.'
Getting distribution for 'zc.recipe.egg<2'.
Got zc.recipe.egg 1.3.2.
Unused options for buildout: 'zope-directory'.
Installing py.
Getting distribution for 'tox'.
Got tox 1.4.2.
Getting distribution for 'zope.testing'.
warning: no files found matching '*.test' under directory 'src'
warning: no files found matching 'sampletests' under directory 'src'
Got zope.testing 4.1.1.
Getting distribution for 'zc.recipe.egg<2'.
Got zc.recipe.egg 2.0.0a3.
Getting distribution for 'testfixtures'.
Got testfixtures 2.3.5.
Getting distribution for 'nose-cov'.
Got nose-cov 1.6.
Getting distribution for 'nose-fixes'.
Got nose-fixes 1.3.
Getting distribution for 'nose'.
no previously-included directories found matching 'doc/.build'
Got nose 1.2.1.
Getting distribution for 'manuel'.
Got manuel 1.7.1.
Getting distribution for 'mock'.
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.css' under directory 'docs'
warning: no files found matching '*.html' under directory 'docs'
warning: no files found matching '*.js' under directory 'docs'
zip_safe flag not set; analyzing archive contents...
Got mock 1.0.1.
Getting distribution for 'zope.dottedname'.
Got zope.dottedname 4.0.0.
Getting distribution for 'mailinglogger>=3.4.0'.
Got mailinglogger 3.7.0.
Getting distribution for 'execute'.
Got execute 1.2.
Getting distribution for 'argparse'.
warning: no previously-included files matching '*.pyc' found anywhere in 
distribution
warning: no previously-included files matching '*.pyo' found anywhere in 
distribution
warning: no previously-included files matching '*.orig' found anywhere 
in distribution
warning: no previously-included files matching '*.rej' found anywhere in 
distribution
no previously-included directories found matching 'doc/_build'
no previously-included directories found matching 'env24'
no previously-included directories found matching 'env25'
no previously-included directories found matching 'env26'
no previously-included directories found matching 'env27'
zip_safe flag not set; analyzing archive contents...
Got argparse 1.2.1.
Getting distribution for 'py>=1.4.9'.
Got py 1.4.12.
Getting distribution for 'virtualenv>=1.7'.
warning: no previously-included files matching '*' found under directory 
'docs/_templates'
warning: no previously-included files matching '*' found under directory 
'docs/_build'
Got virtualenv 1.8.4.
Getting distribution for 'zope.interface'.
Got zope.interface 4.0.3.
Getting distribution for 'zope.exceptions'.
warning: no files found matching '_static' under directory 'docs'
warning: no files found matching '_templates' under directory 'docs'
Got zope.exceptions 4.0.5.
Getting distribution for 'cov-core>=1.6'.
Got cov-core 1.7.
Getting distribution for 'six'.
zip_safe flag not set; analyzing archive contents...
Got six 1.2.0.
Getting distribution for 'coverage>=3.4'.
warning: no previously-included files matching '*.pyc' found anywhere in 
distribution
Got coverage 3.6.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/checker'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/tox'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage2'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage'.
Generated interpreter '/Users/mauritsvanrees/tmp/checker/bin/py'.
Installing docs.
Getting distribution for 'sphinx'.
zip_safe flag not set; analyzing archive contents...
Installing Sphinx PyPI-upload-0.2.1
Caused installation of a distribution:
Sphinx-PyPI-upload 0.2.1
with a different project name.
Installing Sphinx PyPI-upload-0.2.1
Caused installation of a distribution:
Sphinx-PyPI-upload 0.2.1
with a different version.
Got None.
Getting distribution for 'zc.rst2'.
Got zc.rst2 0.2.
Getting distribution for 'pkginfo'.
Got pkginfo 1.0b2.
Getting distribution for 'setuptools-git'.
/Users/mauritsvanrees/buildout/python2.6/parts/opt/lib/python2.6/distutils/dist.py:266: 
UserWarning: Unknown distribution option: 'mainainer'
   warnings.warn(msg)
/Users/mauritsvanrees/buildout/python2.6/parts/opt/lib/python2.6/distutils/dist.py:266: 
UserWarning: Unknown distribution option: 'mainainer_email'
   warnings.warn(msg)
Got setuptools-git 1.0b1.
Getting distribution for 'sphinx'.
zip_safe flag not set; analyzing archive contents...
Installing Sphinx PyPI-upload-0.2.1
Caused installation of a distribution:
Sphinx-PyPI-upload 0.2.1
with a different project name.
Installing Sphinx PyPI-upload-0.2.1
Caused installation of a distribution:
Sphinx-PyPI-upload 0.2.1
with a different version.
Got None.
While:
   Installing docs.
Error: There is a version conflict.
We already have: Sphinx-PyPI-upload 0.2.1



I can try again without sphinx and then it works again, though I still 
get zc.recipe.egg 2.0.0a3.  zc.buildout remains at 1.7.0.

mauritsvanrees at procyon:checker (git:master+) $ g diff
diff --git a/buildout.cfg b/buildout.cfg
index 19fca17..5f78904 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -6,9 +6,10 @@
  develop = .
  parts = py docs
  versions = versions
+eggs-directory = eggs^M
+download-cache = downloads^M

  [versions]
-zc.buildout = 1.7.0

  [py]
  recipe = zc.recipe.egg
@@ -20,8 +21,6 @@ dependent-scripts = true
  recipe = zc.recipe.egg
  eggs =
    checker[test]
-  sphinx
-  sphinx-pypi-upload
    zc.rst2
    pkginfo
    setuptools-git
mauritsvanrees at procyon:checker (git:master+) $ python2.6 bootstrap.py
Creating directory '/Users/mauritsvanrees/tmp/checker/bin'.
Creating directory '/Users/mauritsvanrees/tmp/checker/parts'.
Creating directory '/Users/mauritsvanrees/tmp/checker/develop-eggs'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
mauritsvanrees at procyon:checker (git:master+) $ cat bin/buildout
#!/Users/mauritsvanrees/py/bin/python2.6

import sys
sys.path[0:0] = [
     '/Users/mauritsvanrees/tmp/checker/eggs/distribute-0.6.35-py2.6.egg',
     '/Users/mauritsvanrees/tmp/checker/eggs/zc.buildout-1.7.0-py2.6.egg',
     ]


import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())
mauritsvanrees at procyon:checker (git:master+) $ bin/buildout
Develop: '/Users/mauritsvanrees/tmp/checker/.'
Unused options for buildout: 'zope-directory'.
Installing py.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/checker'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/tox'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/buildout'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/nosetests'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/virtualenv-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/easy_install-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage2'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage-2.6'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/coverage'.
Generated interpreter '/Users/mauritsvanrees/tmp/checker/bin/py'.
Installing docs.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/checker'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/rst2'.
Generated script '/Users/mauritsvanrees/tmp/checker/bin/pkginfo'.
Generated interpreter '/Users/mauritsvanrees/tmp/checker/bin/docpy'.
mauritsvanrees at procyon:checker (git:master+) $ grep zc bin/buildout
 
'/Users/mauritsvanrees/tmp/checker/eggs/zc.recipe.egg-2.0.0a3-py2.6.egg',
     '/Users/mauritsvanrees/tmp/checker/eggs/zc.buildout-1.7.0-py2.6.egg',
import zc.buildout.buildout
     sys.exit(zc.buildout.buildout.main())



-- 
Maurits van Rees: http://maurits.vanrees.org/
Zest Software: http://zestsoftware.nl



More information about the Distutils-SIG mailing list