Problem with buildout and zc.recipe.cmmi
Next try was to change buildout to use minitage.recipe.cmmi and that works! So it appears that something changed in zc.recipe.cmmi in December that broke it.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 James J Myers wrote:
Next try was to change buildout to use minitage.recipe.cmmi and that works!
So it appears that something changed in zc.recipe.cmmi in December that broke it.
Unless you are using an SVN checkout of zc.recipe.cmmi, the latest release was 1.3.1, 2009-09-10. zc.buildout 1.4.3 was released 2009-12-10, but its deltas don't appear to explain the behavior you report. $ export ZSVN=svn+ssh://svn.zope.org/repos/main/ $ svn diff $ZSVN/zc.buildout/tags/1.4.{2,3} Can you reproduce the problem in a "fresh" buildout environment? E.g., check you your buildout, run bootstrap, then buildout? How about if you pin zc.buildout to 1.4.2? Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksjJrUACgkQ+gerLs4ltQ7GaQCcCvz7aF6pkxAVseKgmmlszkkm z5IAoMxrJcCw7XmI5yXyt5nXM6bGv098 =BVDW -----END PGP SIGNATURE-----
On 12/12/09 6:14 AM, Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
James J Myers wrote:
Next try was to change buildout to use minitage.recipe.cmmi and that works!
So it appears that something changed in zc.recipe.cmmi in December that broke it.
Unless you are using an SVN checkout of zc.recipe.cmmi, the latest release was 1.3.1, 2009-09-10. zc.buildout 1.4.3 was released 2009-12-10, but its deltas don't appear to explain the behavior you report.
I'm also getting an error: While: Installing. Getting section lxml. Initializing section lxml. Installing recipe z3c.recipe.staticlxml >= 0.6. An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1660, in main File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 416, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 964, in __getitem__ File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1048, in _initialize File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1004, in _install_and_load File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 800, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 663, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 612, in _constrain AttributeError: 'str' object has no attribute 'project_name' I put a try/except in there and 'str' in this case is the string "The 'zc.recipe.cmmi' distribution was not found on this system, and is required by this application.". The staticlxml recipe uses zc.recipe.cmmi. The path to zc.buildout that's in the traceback isn't correct either: it is simply a shared egg, definitively not something in a temp folder :-) Weird... Well, I'm off cycling. I'll dig around a bit in zc.recipe.cmmi to see if it perhaps uses the basically one line in zc.buildout that changed with 1.4.3. Another option: does it have to do with distribute 0.6.9 that was just released? I pinned zc.buildout to 1.4.3 to allow it to update distribute from 0.6.8 to 0.6.9 (that was what the buildout fix was for, otherwise you'd get an infinite recursion). Reinout -- Reinout van Rees - reinout@vanrees.org - http://reinout.vanrees.org Software developer at http://www.thehealthagency.com "Military engineers build missiles. Civil engineers build targets"
On Sat, Dec 12, 2009 at 2:56 PM, Reinout van Rees <reinout@vanrees.org> wrote:
On 12/12/09 6:14 AM, Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
James J Myers wrote:
Next try was to change buildout to use minitage.recipe.cmmi and that works!
So it appears that something changed in zc.recipe.cmmi in December that broke it.
Unless you are using an SVN checkout of zc.recipe.cmmi, the latest release was 1.3.1, 2009-09-10. zc.buildout 1.4.3 was released 2009-12-10, but its deltas don't appear to explain the behavior you report.
I'm also getting an error:
While: Installing. Getting section lxml. Initializing section lxml. Installing recipe z3c.recipe.staticlxml >= 0.6.
An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1660, in main File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 416, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 964, in __getitem__ File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1048, in _initialize File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1004, in _install_and_load File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 800, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 663, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 612, in _constrain AttributeError: 'str' object has no attribute 'project_name'
I put a try/except in there and 'str' in this case is the string "The 'zc.recipe.cmmi' distribution was not found on this system, and is required by this application.".
The staticlxml recipe uses zc.recipe.cmmi.
The path to zc.buildout that's in the traceback isn't correct either: it is simply a shared egg, definitively not something in a temp folder :-)
Weird... Well, I'm off cycling. I'll dig around a bit in zc.recipe.cmmi to see if it perhaps uses the basically one line in zc.buildout that changed with 1.4.3.
Another option: does it have to do with distribute 0.6.9 that was just released? I pinned zc.buildout to 1.4.3 to allow it to update distribute from 0.6.8 to 0.6.9 (that was what the buildout fix was for, otherwise you'd get an infinite recursion).
Yes that's a problem introduced by 0.6.9. I have changed the way the DistributionNotFound() exception is raised. Unfortunately zc.buildout does a str(error) to grab the name of the distribution, leading to the problem you have I am reverting this change and releasing 0.6.10 so people are not confused. Then we can think about changing zc.buildout error handling. Cheers,
On Sat, Dec 12, 2009 at 3:06 PM, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
On Sat, Dec 12, 2009 at 2:56 PM, Reinout van Rees <reinout@vanrees.org> wrote:
On 12/12/09 6:14 AM, Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
James J Myers wrote:
Next try was to change buildout to use minitage.recipe.cmmi and that works!
So it appears that something changed in zc.recipe.cmmi in December that broke it.
Unless you are using an SVN checkout of zc.recipe.cmmi, the latest release was 1.3.1, 2009-09-10. zc.buildout 1.4.3 was released 2009-12-10, but its deltas don't appear to explain the behavior you report.
I'm also getting an error:
While: Installing. Getting section lxml. Initializing section lxml. Installing recipe z3c.recipe.staticlxml >= 0.6.
An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1660, in main File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 416, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 964, in __getitem__ File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1048, in _initialize File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/buildout.py", line 1004, in _install_and_load File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 800, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 663, in install File "/private/var/folders/qC/qC6d69l0EDe-sx-yyKchqU+++TI/-Tmp-/tmpeuNbOC/zc.buildout-1.4.3-py2.5.egg/zc/buildout/easy_install.py", line 612, in _constrain AttributeError: 'str' object has no attribute 'project_name'
Ok this is fixed now. 0.6.10 released I think we should work on adding a functional test in Distribute, that runs some zc.buildout scripts to make sure this doesn't happen again, Reinout, do you have some buildout.cfg scripts you could add in Distribute, that can be built quickly and illustrates this problem ? Tarek
Tarek Ziadé a écrit :
On Sat, Dec 12, 2009 at 3:06 PM, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
On Sat, Dec 12, 2009 at 2:56 PM, Reinout van Rees <reinout@vanrees.org> wrote:
Ok this is fixed now. 0.6.10 released
I think we should work on adding a functional test in Distribute, that runs some zc.buildout scripts to make sure this doesn't happen again
This can break zc.recipe.egg also, other relative recipes around, and other stuff doing magic with 'setuptools/pkg_resources'. Is there no other way to break backward compatibility, in the 0.6.x?
Reinout, do you have some buildout.cfg scripts you could add in Distribute, that can be built quickly and illustrates this problem ?
Tarek _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
-- Cordialement, KiOrKY GPG Key FingerPrint: 0x1A1194B7681112AF
On Sat, Dec 12, 2009 at 5:08 PM, kiorky <kiorky@cryptelium.net> wrote:
Tarek Ziadé a écrit :
On Sat, Dec 12, 2009 at 3:06 PM, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
On Sat, Dec 12, 2009 at 2:56 PM, Reinout van Rees <reinout@vanrees.org> wrote:
Ok this is fixed now. 0.6.10 released
I think we should work on adding a functional test in Distribute, that runs some zc.buildout scripts to make sure this doesn't happen again
This can break zc.recipe.egg also, other relative recipes around, and other stuff doing magic with 'setuptools/pkg_resources'. Is there no other way to break backward compatibility, in the 0.6.x?
There are hundreds of way to break things :) IOW everytime a change is made, there's a potential risk. Functional tests may help Tarek
On Dec 12, 2009, at 11:26 AM, Tarek Ziadé wrote:
There are hundreds of way to break things :)
IOW everytime a change is made, there's a potential risk. Functional tests may help
Tarek, What are you using for a test suite pre-release now? I started on the multi-package installer we talked about but we never got back together to get it into the release testing. Steve
On Sat, Dec 12, 2009 at 6:29 PM, ssteinerX@gmail.com <ssteinerx@gmail.com> wrote:
On Dec 12, 2009, at 11:26 AM, Tarek Ziadé wrote:
There are hundreds of way to break things :)
IOW everytime a change is made, there's a potential risk. Functional tests may help
Tarek,
What are you using for a test suite pre-release now?
I run the test command using python then python3 : $ python setup.py test $ python3 setup.py test the latter triggers the 2to3 script and launch the tests in build/
I started on the multi-package installer we talked about but we never got back together to get it into the release testing.
That would be a good timing to continue then ;) Tarek
On Dec 12, 2009, at 12:34 PM, Tarek Ziadé wrote:
On Sat, Dec 12, 2009 at 6:29 PM, ssteinerX@gmail.com <ssteinerx@gmail.com> wrote:
On Dec 12, 2009, at 11:26 AM, Tarek Ziadé wrote:
There are hundreds of way to break things :)
IOW everytime a change is made, there's a potential risk. Functional tests may help
Tarek,
What are you using for a test suite pre-release now?
I run the test command using python then python3 :
$ python setup.py test $ python3 setup.py test
the latter triggers the 2to3 script and launch the tests in build/
I started on the multi-package installer we talked about but we never got back together to get it into the release testing.
That would be a good timing to continue then ;)
I'm thinking you're right... Do we have a buildout that fails to put into the loop? S
On Sat, Dec 12, 2009 at 6:39 PM, ssteinerX@gmail.com <ssteinerx@gmail.com> wrote:
On Dec 12, 2009, at 12:34 PM, Tarek Ziadé wrote:
On Sat, Dec 12, 2009 at 6:29 PM, ssteinerX@gmail.com <ssteinerx@gmail.com> wrote:
On Dec 12, 2009, at 11:26 AM, Tarek Ziadé wrote:
There are hundreds of way to break things :)
IOW everytime a change is made, there's a potential risk. Functional tests may help
Tarek,
What are you using for a test suite pre-release now?
I run the test command using python then python3 :
$ python setup.py test $ python3 setup.py test
the latter triggers the 2to3 script and launch the tests in build/
I started on the multi-package installer we talked about but we never got back together to get it into the release testing.
That would be a good timing to continue then ;)
I'm thinking you're right...
Do we have a buildout that fails to put into the loop?
any buildout that contains a mrdeveloper egg should trigger that particular problem. For regression testing I think using the plone 4 development .cfg could be a good idea because its quite big and complex
On Dec 12, 2009, at 12:34 PM, Tarek Ziadé wrote:
That would be a good timing to continue then ;)
The work I did is in the distutils-buildbot branch "smoke_with_mirrors". Basically, what I did was set up a configuration file that contained the packages we were going to install, what versions they are to be installed on. What still needs to be sone is to iterate through that configuration, doing the actual install/run test suite. Could you take a quick look and see if you agree with the approach I took? Thanks, S
On Sat, Dec 12, 2009 at 6:52 PM, ssteinerX@gmail.com <ssteinerx@gmail.com> wrote:
On Dec 12, 2009, at 12:34 PM, Tarek Ziadé wrote:
That would be a good timing to continue then ;)
The work I did is in the distutils-buildbot branch "smoke_with_mirrors".
Basically, what I did was set up a configuration file that contained the packages we were going to install, what versions they are to be installed on.
What still needs to be sone is to iterate through that configuration, doing the actual install/run test suite.
Could you take a quick look and see if you agree with the approach I took?
It looks good to me, it makes it simpler to configure
Thanks,
S
-- Tarek Ziadé | http://ziade.org | オープンソースはすごい! | 开源传万世,因有你参与
On 12/12/09 3:25 PM, Tarek Ziadé wrote:
AttributeError: 'str' object has no attribute 'project_name'
Ok this is fixed now. 0.6.10 released
I think we should work on adding a functional test in Distribute, that runs some zc.buildout scripts to make sure this doesn't happen again,
Reinout, do you have some buildout.cfg scripts you could add in Distribute, that can be built quickly and illustrates this problem ?
Well, including zc.buildout as a test dependency of distribute is a bit big, I guess. The thing I'd try: add a test that does the thing zc.buildout does (str(exception)) and demonstrate that that's the right answer. Add a comment on why this needs testing. The thing that gave me an error (cmmi through staticlxml) is exactly one of those buildout tasks that takes 15 minutes to compile... ;-) Reinout -- Reinout van Rees - reinout@vanrees.org - http://reinout.vanrees.org Software developer at http://www.thehealthagency.com "Military engineers build missiles. Civil engineers build targets"
On Sat, Dec 12, 2009 at 6:33 PM, Reinout van Rees <reinout@vanrees.org> wrote:
On 12/12/09 3:25 PM, Tarek Ziadé wrote:
AttributeError: 'str' object has no attribute 'project_name'
Ok this is fixed now. 0.6.10 released
I think we should work on adding a functional test in Distribute, that runs some zc.buildout scripts to make sure this doesn't happen again,
Reinout, do you have some buildout.cfg scripts you could add in Distribute, that can be built quickly and illustrates this problem ?
Well, including zc.buildout as a test dependency of distribute is a bit big, I guess.
I wasn't thinking about a regular unit test or functional test, but more like a "smoke" test like what I am doing in distutils. That would be a shell sequence in a script that build a buildout and checks everything went well.
The thing I'd try: add a test that does the thing zc.buildout does (str(exception)) and demonstrate that that's the right answer. Add a comment on why this needs testing.
Sure, for that particular case we can add this test, but what I really want is a script that uses Distribute in various execution environments because distribute is just a layer and we can't find such bugs before they happen through other softwares like zc.buildout.
The thing that gave me an error (cmmi through staticlxml) is exactly one of those buildout tasks that takes 15 minutes to compile... ;-)
Yes, that is why a buildbot can help. Of course we can't test everything, but if we can prevent regressions in zc.buildout, that could be useful. Cheers
On 12/12/09 3:06 PM, Tarek Ziadé wrote:
On Sat, Dec 12, 2009 at 2:56 PM, Reinout van Rees<reinout@vanrees.org> wrote:
AttributeError: 'str' object has no attribute 'project_name'
I put a try/except in there and 'str' in this case is the string "The 'zc.recipe.cmmi' distribution was not found on this system, and is required by this application.".
Yes that's a problem introduced by 0.6.9.
I have changed the way the DistributionNotFound() exception is raised. Unfortunately zc.buildout does a str(error) to grab the name of the distribution, leading to the problem you have
I am reverting this change and releasing 0.6.10 so people are not confused.
Thanks, my buildout runs fine now. And I'm happy to see that zc.buildout 1.4.3 indeed allows a distribute upgrade just fine without infinite recursion :-) Reinout -- Reinout van Rees - reinout@vanrees.org - http://reinout.vanrees.org Software developer at http://www.thehealthagency.com "Military engineers build missiles. Civil engineers build targets"
On 12/12/09 5:16 PM, Reinout van Rees wrote:
And I'm happy to see that zc.buildout 1.4.3 indeed allows a distribute upgrade just fine without infinite recursion :-)
With the new distribute and buildout release, I've wrote a blog post (http://tinyurl.com/ya5ru3m) to make sure people have something to google when they run into the recursion problem. Reinout -- Reinout van Rees - reinout@vanrees.org - http://reinout.vanrees.org Software developer at http://www.thehealthagency.com "Military engineers build missiles. Civil engineers build targets"
On Sat, Dec 12, 2009 at 6:35 PM, Reinout van Rees <reinout@vanrees.org> wrote:
On 12/12/09 5:16 PM, Reinout van Rees wrote:
And I'm happy to see that zc.buildout 1.4.3 indeed allows a distribute upgrade just fine without infinite recursion :-)
With the new distribute and buildout release, I've wrote a blog post (http://tinyurl.com/ya5ru3m) to make sure people have something to google when they run into the recursion problem.
Thanks for that.
James J Myers a écrit :
Next try was to change buildout to use minitage.recipe.cmmi and that works! Great, you can also check for all the other features this recipe provides :). (And also for minitage stuff around, specially if you are building 'non python stuff' in prefix, it can help you to set your compilation flags and things like rpath.)
So it appears that something changed in zc.recipe.cmmi in December that broke it. _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
-- Cordialement, KiOrKY GPG Key FingerPrint: 0x1A1194B7681112AF
participants (6)
-
James J Myers
-
kiorky
-
Reinout van Rees
-
ssteinerX@gmail.com
-
Tarek Ziadé
-
Tres Seaver