Commit acec5d89 authored by Julien Muchembled's avatar Julien Muchembled Committed by Xavier Thompson

Explain egg dependencies when an egg fails to install

parent 8cb89934
...@@ -61,6 +61,8 @@ Now we can run the buildout and make sure all attempts to dist.plone.org fails:: ...@@ -61,6 +61,8 @@ Now we can run the buildout and make sure all attempts to dist.plone.org fails::
... ...
While: While:
Installing eggs. Installing eggs.
Base installation request: 'allowdemo'
Requirement of allowdemo: kss.core
Getting distribution for 'kss.core'. Getting distribution for 'kss.core'.
Error: Couldn't find a distribution for 'kss.core'. Error: Couldn't find a distribution for 'kss.core'.
...@@ -92,6 +94,8 @@ Now we can run the buildout and make sure all attempts to dist.plone.org fails:: ...@@ -92,6 +94,8 @@ Now we can run the buildout and make sure all attempts to dist.plone.org fails::
... ...
While: While:
Installing eggs. Installing eggs.
Base installation request: 'allowdemo'
Requirement of allowdemo: kss.core
Getting distribution for 'kss.core'. Getting distribution for 'kss.core'.
Error: Couldn't find a distribution for 'kss.core'. Error: Couldn't find a distribution for 'kss.core'.
......
...@@ -87,6 +87,8 @@ buildout to see where the egg comes from this time. ...@@ -87,6 +87,8 @@ buildout to see where the egg comes from this time.
... ...
While: While:
Updating eggs. Updating eggs.
Base installation request: 'depdemo'
Requirement of depdemo: demoneeded
Getting distribution for 'demoneeded'. Getting distribution for 'demoneeded'.
Error: Couldn't find a distribution for 'demoneeded'. Error: Couldn't find a distribution for 'demoneeded'.
......
...@@ -185,6 +185,9 @@ def _execute_permission(): ...@@ -185,6 +185,9 @@ def _execute_permission():
_easy_install_cmd = 'from setuptools.command.easy_install import main; main()' _easy_install_cmd = 'from setuptools.command.easy_install import main; main()'
_doing_list = type('', (), {'__mod__': staticmethod(
lambda x: '\n '.join(*x))})()
class Installer: class Installer:
_versions = {} _versions = {}
...@@ -653,6 +656,7 @@ class Installer: ...@@ -653,6 +656,7 @@ class Installer:
def install(self, specs, working_set=None, patch_dict=None): def install(self, specs, working_set=None, patch_dict=None):
logger.debug('Installing %s.', repr(specs)[1:-1]) logger.debug('Installing %s.', repr(specs)[1:-1])
__doing__ = _doing_list, self._requirements_and_constraints
self._requirements_and_constraints.append( self._requirements_and_constraints.append(
"Base installation request: %s" % repr(specs)[1:-1]) "Base installation request: %s" % repr(specs)[1:-1])
......
...@@ -212,6 +212,7 @@ versions: ...@@ -212,6 +212,7 @@ versions:
While: While:
Installing. Installing.
Checking for upgrades. Checking for upgrades.
Base installation request: 'zc.buildout', 'setuptools'
Getting distribution for 'setuptools'. Getting distribution for 'setuptools'.
Error: Picked: setuptools = 0.6.30 Error: Picked: setuptools = 0.6.30
......
...@@ -320,6 +320,9 @@ Now, let's create a buildout that requires y and z: ...@@ -320,6 +320,9 @@ Now, let's create a buildout that requires y and z:
Requirement of sampley: demoneeded==1.0 Requirement of sampley: demoneeded==1.0
While: While:
Installing eggs. Installing eggs.
Base installation request: 'sampley', 'samplez'
Requirement of samplez: demoneeded==1.1
Requirement of sampley: demoneeded==1.0
Error: There is a version conflict. Error: There is a version conflict.
We already have: demoneeded 1.1 We already have: demoneeded 1.1
but sampley 1 requires 'demoneeded==1.0'. but sampley 1 requires 'demoneeded==1.0'.
...@@ -373,6 +376,12 @@ If we use the verbose switch, we can see where requirements are coming from: ...@@ -373,6 +376,12 @@ If we use the verbose switch, we can see where requirements are coming from:
Requirement of sampley: demoneeded==1.0 Requirement of sampley: demoneeded==1.0
While: While:
Installing eggs. Installing eggs.
Base installation request: 'samplea', 'samplez'
Requirement of samplez: demoneeded==1.1
Requirement of samplea: sampleb
Requirement of sampleb: samplea
Requirement of sampleb: sampley
Requirement of sampley: demoneeded==1.0
Error: There is a version conflict. Error: There is a version conflict.
We already have: demoneeded 1.1 We already have: demoneeded 1.1
but sampley 1 requires 'demoneeded==1.0'. but sampley 1 requires 'demoneeded==1.0'.
...@@ -441,6 +450,11 @@ that we can't find. when run in verbose mode ...@@ -441,6 +450,11 @@ that we can't find. when run in verbose mode
... ...
While: While:
Installing eggs. Installing eggs.
Base installation request: 'samplea'
Requirement of samplea: sampleb
Requirement of sampleb: samplea
Requirement of sampleb: sampley
Requirement of sampley: demoneeded
Getting distribution for 'demoneeded'. Getting distribution for 'demoneeded'.
Error: Couldn't find a distribution for 'demoneeded'. Error: Couldn't find a distribution for 'demoneeded'.
""" """
...@@ -2044,6 +2058,28 @@ def dealing_with_extremely_insane_dependencies(): ...@@ -2044,6 +2058,28 @@ def dealing_with_extremely_insane_dependencies():
... ...
While: While:
Installing pack1. Installing pack1.
Base installation request: 'pack0'
Requirement of pack0: pack4
Requirement of pack0: pack3
Requirement of pack0: pack2
Requirement of pack0: pack1
Requirement of pack4: pack5
Requirement of pack4: pack3
Requirement of pack4: pack2
Requirement of pack4: pack1
Requirement of pack4: pack0
Requirement of pack3: pack4
Requirement of pack3: pack2
Requirement of pack3: pack1
Requirement of pack3: pack0
Requirement of pack2: pack4
Requirement of pack2: pack3
Requirement of pack2: pack1
Requirement of pack2: pack0
Requirement of pack1: pack4
Requirement of pack1: pack3
Requirement of pack1: pack2
Requirement of pack1: pack0
Getting distribution for 'pack5'. Getting distribution for 'pack5'.
Error: Couldn't find a distribution for 'pack5'. Error: Couldn't find a distribution for 'pack5'.
...@@ -2087,6 +2123,28 @@ def dealing_with_extremely_insane_dependencies(): ...@@ -2087,6 +2123,28 @@ def dealing_with_extremely_insane_dependencies():
... ...
While: While:
Installing pack1. Installing pack1.
Base installation request: 'pack0'
Requirement of pack0: pack4
Requirement of pack0: pack3
Requirement of pack0: pack2
Requirement of pack0: pack1
Requirement of pack4: pack5
Requirement of pack4: pack3
Requirement of pack4: pack2
Requirement of pack4: pack1
Requirement of pack4: pack0
Requirement of pack3: pack4
Requirement of pack3: pack2
Requirement of pack3: pack1
Requirement of pack3: pack0
Requirement of pack2: pack4
Requirement of pack2: pack3
Requirement of pack2: pack1
Requirement of pack2: pack0
Requirement of pack1: pack4
Requirement of pack1: pack3
Requirement of pack1: pack2
Requirement of pack1: pack0
Getting distribution for 'pack5'. Getting distribution for 'pack5'.
Error: Couldn't find a distribution for 'pack5'. Error: Couldn't find a distribution for 'pack5'.
""" """
...@@ -3132,6 +3190,7 @@ def want_new_zcrecipeegg(): ...@@ -3132,6 +3190,7 @@ def want_new_zcrecipeegg():
Getting section egg. Getting section egg.
Initializing section egg. Initializing section egg.
Installing recipe zc.recipe.egg <2dev. Installing recipe zc.recipe.egg <2dev.
Base installation request: 'zc.recipe.egg <2dev'
Getting distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'. Getting distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'.
Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'. Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'.
""" """
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment