buildout pinning versions and egg requires
Hi - I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg. Here's the scenario: 1) I am pinning my buildout with a versions.cfg file that specifies zope2 = 2.13.0 2) One of my parts is based on recipe = plone.recipe.zope2instance 3) The plone.recipe.zope2instance egg has a requires.txt file containing Zope2 >= 2.12.1 Here's what happens: When I run buildout, it looks the recipe eggs are downloaded first, along with eggs specified in the requires.txt for each egg. So, buildout gets Zope2 2.13.1 (>=2.12.1) for plone.recipe.zope2instance without looking at what I specified for versions. How can I make sure I only get Zope 2.13.0 ? An excerpt of my buildout.cfg is below. Thanks. -- Jeff [buildout] ... extends = versions.cfg versions = versions ... parts = mydeps zeo inst1 inst2 inst3 inst4 myproducts siteconfig [mydeps] ... [inst1] recipe = plone.recipe.zope2instance zeo-client = true ... [inst2] ...
Op 12-01-11 23:33, Jeff Kunce schreef:
Hi -
I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg.
Here's the scenario:
1) I am pinning my buildout with a versions.cfg file that specifies zope2 = 2.13.0 2) One of my parts is based on recipe = plone.recipe.zope2instance 3) The plone.recipe.zope2instance egg has a requires.txt file containing Zope2 >= 2.12.1
Here's what happens:
When I run buildout, it looks the recipe eggs are downloaded first, along with eggs specified in the requires.txt for each egg. So, buildout gets Zope2 2.13.1 (>=2.12.1) for plone.recipe.zope2instance without looking at what I specified for versions.
How can I make sure I only get Zope 2.13.0 ? An excerpt of my buildout.cfg is below. Thanks.
Looks like you have a typo in the version pin: it should be Zope2 with a capital 'Z'. This small buildout.cfg correctly picks Zope2 2.13.0 when I try it: [buildout] parts = instance versions = versions [versions] Zope2 = 2.13.0 [instance] recipe = plone.recipe.zope2instance Note that to avoid such problems with uppercase versus lowercase, you could use a buildout extension that on the fly turns all version pins to lowercase when checking if a package has a pin: [buildout] extensions = buildout-versions It also dumps which versions are picked by buildout instead of being pinned by you in buildout.cfg. -- Maurits van Rees Programmer at Zest Software http://zestsoftware.nl Personal website http://maurits.vanrees.org/
On Wed, Jan 12, 2011 at 6:38 PM, Maurits van Rees <m.van.rees@zestsoftware.nl> wrote:
Op 12-01-11 23:33, Jeff Kunce schreef:
I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg.
Looks like you have a typo in the version pin: it should be Zope2 with a capital 'Z'.
Adding allow-picked-versions = false to your [buildout] section can help keep this from happening. -- Benji York
Thanks Maurits (and Benji) - That explains a lot. We are running on windows, and our versions.cfg was generated by buildout.dumppickedversions - it looks like everything in that file is all lower case. Your suggestions will be very useful. -- Jeff On Wed, Jan 12, 2011 at 6:38 PM, Maurits van Rees < m.van.rees@zestsoftware.nl> wrote:
Op 12-01-11 23:33, Jeff Kunce schreef:
Hi -
I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg.
Here's the scenario:
1) I am pinning my buildout with a versions.cfg file that specifies zope2 = 2.13.0 2) One of my parts is based on recipe = plone.recipe.zope2instance 3) The plone.recipe.zope2instance egg has a requires.txt file containing Zope2 >= 2.12.1
Here's what happens:
When I run buildout, it looks the recipe eggs are downloaded first, along with eggs specified in the requires.txt for each egg. So, buildout gets Zope2 2.13.1 (>=2.12.1) for plone.recipe.zope2instance without looking at what I specified for versions.
How can I make sure I only get Zope 2.13.0 ? An excerpt of my buildout.cfg is below. Thanks.
Looks like you have a typo in the version pin: it should be Zope2 with a capital 'Z'.
This small buildout.cfg correctly picks Zope2 2.13.0 when I try it:
[buildout] parts = instance versions = versions
[versions] Zope2 = 2.13.0
[instance] recipe = plone.recipe.zope2instance
Note that to avoid such problems with uppercase versus lowercase, you could use a buildout extension that on the fly turns all version pins to lowercase when checking if a package has a pin:
[buildout] extensions = buildout-versions
It also dumps which versions are picked by buildout instead of being pinned by you in buildout.cfg.
-- Maurits van Rees Programmer at Zest Software http://zestsoftware.nl Personal website http://maurits.vanrees.org/
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
On Thu, Jan 13, 2011 at 11:00:40AM -0500, Jeff Kunce wrote:
Thanks Maurits (and Benji) -
That explains a lot. We are running on windows, and our versions.cfg was generated by buildout.dumppickedversions - it looks like everything in that file is all lower case. Your suggestions will be very useful.
buildout-versions is a replacement for buildout.dumppickedversions, and shouldn't have this issue. Marius Gedminas -- If you are angry with someone, you should walk a mile in their shoes... then you'll be a mile away from them, and you'll have their shoes.
On 13/01/2011 14:27, Benji York wrote:
On Wed, Jan 12, 2011 at 6:38 PM, Maurits van Rees <m.van.rees@zestsoftware.nl> wrote:
Op 12-01-11 23:33, Jeff Kunce schreef:
I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg.
Looks like you have a typo in the version pin: it should be Zope2 with a capital 'Z'.
Adding allow-picked-versions = false to your [buildout] section can help keep this from happening.
Yeah, but that only tells you one problem for each run, which is kinda annoying ;-) ...which is one of the reasons I wrote buildout-versions! cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On 13/01/2011 16:00, Jeff Kunce wrote:
That explains a lot. We are running on windows, and our versions.cfg was generated by buildout.dumppickedversions - it looks like everything in that file is all lower case. Your suggestions will be very useful.
Heh, yes, this was an even more specific reason why I forked buildout-versions from buildout.dumppickedversions ;-) Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On Fri, Jan 14, 2011 at 10:07 AM, Chris Withers <chris@simplistix.co.uk> wrote:
On 13/01/2011 14:27, Benji York wrote:
On Wed, Jan 12, 2011 at 6:38 PM, Maurits van Rees <m.van.rees@zestsoftware.nl> wrote:
Op 12-01-11 23:33, Jeff Kunce schreef:
I'm having trouble pinning versions in my buildout. It looks like "requires.txt" for the recipe eggs are overriding what I specify in versions.cfg.
Looks like you have a typo in the version pin: it should be Zope2 with a capital 'Z'.
Adding allow-picked-versions = false to your [buildout] section can help keep this from happening.
Yeah, but that only tells you one problem for each run, which is kinda annoying ;-)
When used to find unspecified versions it is indeed annoying (and I'm sure buildout-versions is good at that). But that's not what I was suggesting. I was suggesting allow-picked-versions be used to ensure that there are no dependencies without specified versions. -- Benji York
participants (5)
-
Benji York
-
Chris Withers
-
Jeff Kunce
-
Marius Gedminas
-
Maurits van Rees