Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.buildout
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Xavier Thompson
slapos.buildout
Commits
55c12a67
Commit
55c12a67
authored
May 14, 2021
by
Julien Muchembled
Committed by
Xavier Thompson
May 20, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[feat] Explain egg dependencies when an egg fails to install
parent
71791075
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
72 additions
and
0 deletions
+72
-0
src/zc/buildout/easy_install.py
src/zc/buildout/easy_install.py
+5
-0
src/zc/buildout/tests/allow-unknown-extras.txt
src/zc/buildout/tests/allow-unknown-extras.txt
+1
-0
src/zc/buildout/tests/allowhosts.txt
src/zc/buildout/tests/allowhosts.txt
+4
-0
src/zc/buildout/tests/dependencylinks.txt
src/zc/buildout/tests/dependencylinks.txt
+2
-0
src/zc/buildout/tests/repeatable.txt
src/zc/buildout/tests/repeatable.txt
+1
-0
src/zc/buildout/tests/test_all.py
src/zc/buildout/tests/test_all.py
+59
-0
No files found.
src/zc/buildout/easy_install.py
View file @
55c12a67
...
@@ -242,6 +242,10 @@ def dist_needs_pkg_resources(dist):
...
@@ -242,6 +242,10 @@ def dist_needs_pkg_resources(dist):
)
)
_doing_list
=
type
(
''
,
(),
{
'__mod__'
:
staticmethod
(
lambda
x
:
'
\
n
'
.
join
(
*
x
))})()
class
Installer
(
object
):
class
Installer
(
object
):
_versions
=
{}
_versions
=
{}
...
@@ -675,6 +679,7 @@ class Installer(object):
...
@@ -675,6 +679,7 @@ class Installer(object):
def
install
(
self
,
specs
,
working_set
=
None
):
def
install
(
self
,
specs
,
working_set
=
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
])
...
...
src/zc/buildout/tests/allow-unknown-extras.txt
View file @
55c12a67
...
@@ -40,6 +40,7 @@ Now we can run the buildout and see that it fails:
...
@@ -40,6 +40,7 @@ Now we can run the buildout and see that it fails:
...
...
While:
While:
Installing eggs.
Installing eggs.
Base installation request: 'allowdemo[bad_extra]'
Error: Couldn't find the required extra...
Error: Couldn't find the required extra...
If we flip the option on, the buildout succeeds
If we flip the option on, the buildout succeeds
...
...
src/zc/buildout/tests/allowhosts.txt
View file @
55c12a67
...
@@ -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'.
...
...
src/zc/buildout/tests/dependencylinks.txt
View file @
55c12a67
...
@@ -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'.
...
...
src/zc/buildout/tests/repeatable.txt
View file @
55c12a67
...
@@ -208,6 +208,7 @@ versions:
...
@@ -208,6 +208,7 @@ versions:
Getting section foo.
Getting section foo.
Initializing section foo.
Initializing section foo.
Installing recipe spam.
Installing recipe spam.
Base installation request: 'spam'
Getting distribution for 'spam'.
Getting distribution for 'spam'.
Error: Picked: spam = 2
Error: Picked: spam = 2
...
...
...
...
src/zc/buildout/tests/test_all.py
View file @
55c12a67
...
@@ -433,6 +433,9 @@ Now, let's create a buildout that requires y and z:
...
@@ -433,6 +433,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'.
...
@@ -483,6 +486,12 @@ If we use the verbose switch, we can see where requirements are coming from:
...
@@ -483,6 +486,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'.
...
@@ -551,6 +560,11 @@ that we can't find. when run in verbose mode
...
@@ -551,6 +560,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'.
"""
"""
...
@@ -2234,6 +2248,28 @@ def dealing_with_extremely_insane_dependencies():
...
@@ -2234,6 +2248,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'.
...
@@ -2275,6 +2311,28 @@ def dealing_with_extremely_insane_dependencies():
...
@@ -2275,6 +2311,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'.
"""
"""
...
@@ -3363,6 +3421,7 @@ def want_new_zcrecipeegg():
...
@@ -3363,6 +3421,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.6'.
Getting distribution for 'zc.recipe.egg<2dev,>=2.0.6'.
Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.6'.
Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.6'.
"""
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment