I have a Plone site (something around 4.2.4, telling from a version.txt
in the root directory) which I'd like to update to a recent version (I found this how-to) (as of now, 4.3.4
); I have inherited a plethora of pinned versions which are not documented and might be outdated.
When commenting out my versions.cfg
, using http://dist.plone.org/release/4.3-latest/versions.cfg
instead and re-running buildout
with -vvv
, I get:
Develop: '.../src/collective.mathjax'
in: '.../src/collective.mathjax'
/tmp/tmpbXsnpD -q develop -mxN -d .../develop-eggs/tmp2yhe9ubuild
...
Installing 'zc.recipe.egg'.
We have the best distribution that satisfies 'zc.recipe.egg<2dev'.
Picked: zc.recipe.egg = 1.3.2
...
There is a version conflict.
We already have: zc.recipe.egg 1.3.2.
While:
Installing.
Getting section test.
Initializing section test.
Installing recipe zc.recipe.testrunner.
So there seems to be some requirement for a sub-2 version of zc.recipe.egg
, but I can't find it. (In my versions.cfg
it is pinned to 2.0.1
- which used to work, surprisingly.)
I searched the tree with find
and grep
, looking for rc.recipe.egg
in version*.cfg
and setup.py
files, but I couldn't find anything but in my project root directory. I even searched every single file below .../src/collective.mathjax
, without success.
How can I ferret out this dependency? Thank you!
Basically there's three places to look for version-pinnings:
1.) The requires-files of eggs released on PyPi, like Luca Fabbri pointed out, which you can search for pins like this:
grep -r --include=requires.txt "dependency.to.search.for" path/to/eggs-cache
2.) The setup.py-files of development-eggs, similar searchable like:
grep -r --include=setup.py "dependency.to.search.for" path/to/dev-eggs-cache
3.) The [versions]
-part of config-files, where in this case the version.cfg is pulling more version-configs in, via its extends
-option and the pulled one's might also specify more configs via extends
.
You're lucky, admired M. v. Rees has shared a snippet, on how to get all pinnings of all Plone versions: https://gist.github.com/mauritsvanrees/99cb4a25b622479e7dc3
but a better way to upgrade the existing installation is probably to get a standard buildout for the plone version you want to upgrade to, and then add your non-standard eggs to this buildout. Finally move your database and blobs over to the new installation, and follow the upgrade guide.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With