Re: [Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: If Python had and used a packaging system, like eggs, this wouldn't be necessary. Someday. *grinz* The irony that python is so successfuly _because_ of it's batteries included nature isn't lost on me ;-) Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: [Zope3-dev] December release post-mortem
Chris Withers wrote: Jim Fulton wrote: If Python had and used a packaging system, like eggs, this wouldn't be necessary. Someday. *grinz* The irony that python is so successfuly _because_ of it's batteries included nature isn't lost on me ;-) I would argue that it is successful despite it. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: [Zope3-dev] December release post-mortem
Chris Withers wrote: ... On a side note, I see python now includes doctest.py, why are we still maintaining our own copy in zope.testing? doctest has been in Python for a long time, far longer than we've been using it. Now that we use it aggressively and are aggressively contributing to it, we usually need a newer version than is available in the Python release we're using. If Python had and used a packaging system, like eggs, this wouldn't be necessary. Someday. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen wrote at 2006-1-19 19:37 +0100: ... I'm talking about a Zope 2 release including (most of) what's in a Zope 3 release, so that Five developers can work on exposing *that* in Zope 2 too (which can then be part of the next Zope 2 release as we integrate the newer Five in it). I very much like Jims idea: having a small core with the ability to add separately released extensions on demand. -- Dieter ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: Let's say zope.testbrowser is an egg and I discover a bug in zope.textbrowser while doing some other Zope 3 development, I have to check out zope.testbrowser, fix the bug, check it in, download the new egg and hope it fixed my Zope 3 problem. I'm an egg neophyte, but I believe you can put an egg in dev mode (or whatever it's called) and you'll get a subversion (or cvs) checkout. You can then make your changes, etc. -- Benji York Senior Software Engineer Zope Corporation ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: On Wednesday 18 January 2006 19:09, Jim Fulton wrote: You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. Right. If eggs work out, then a respository check out will be a lot smaller, but will download needed eggs. This would be a replacement of the use of externals we have now. Oh, this will make development so much more tedious. Let's say zope.testbrowser is an egg and I discover a bug in zope.textbrowser while doing some other Zope 3 development, I have to check out zope.testbrowser, fix the bug, check it in, download the new egg and hope it fixed my Zope 3 problem. Honestly this is far too much and I will at most make a bug report. I beliave that Eggs have a development mode in which you can work on the source. This apears to be easy to switch too, perhaps easier than editing externals. I haven't gotten to try this myself. We'll see as we learn more about eggs. I'm at least as lazy as you are, so rest assured, I'm gonna try to come up with a methodology that makes my life as easy as possible. If more than one application uses a package, it is feasible for at most one application to include it. Managing the application that way makes it more complicated for other applications to use. For example, the package's releace cycle becomes bound to the release cycle of the including application, which is cumbersome for other applications. I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. I don't understand what you mean. Having a separate zope.testing project has been extremely useful. For example, in our comercial apps, we often used newer versions than existed in Zope 3. We often needed enhacements to zope.testing at times that Zope 3 was feature frozen. We could have made a Zope 3 branch just to modify zope.testing, but that would have been a hassle for us and for Zope 3 developers. Note that the new test runner (from zope.testing) was used in ZODB long before it was used in Zope 3. I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. Perhaps our goals are different. I want Zope's packages to be usable outside of Zope. I also want to make it easier to use external packages. I think that a more package-centric development methodoligy will make achieving these goals much easier. I also think it will make Zope releases go smoother because the scope of the release will be narrower. Someday, A Zope release will include an app-server specific core and a collection of other package releases. To the extend that those packages have their own lifeccyles, and quality control, the amount of newly released code in a Zope release wil be smaller. A package-based approach will also make it easier to release less. We'll be freed from a batteries included mentality that encourages large high-risk releases. And it will make it easier for people to make custom releases that have configurations targeted to specific needs. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: Stephan Richter wrote: On Wednesday 18 January 2006 11:27, Martijn Faassen wrote: How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? I'll note that SchoolTool greatly benefits from the current release building. We simply include all the Zope 3 dependencies in our dependency list and build the release. We can decide to include Zope 3 dependencies or not. Overall I think zpkg is a great win and whatever we do next should not remove those features. I agree that dependency based releases -- and development is great. I think eggs are a lot farther along that zpkg. (Eggs weren't around when we started zpkg.) If eggs work out, as I hope they will, I'd like to stop work on zpkg and just use eggs. Sure, I support dependencies and separating out Zope into sub projects, I'm just listing an additional use case: the repository state should be similar to release state, to avoid confusion for developers as well as people who want to become developers. I.e. a developer should have the ability to easily see the same (or similar) code layout, dependencies, etc, as in a release, and someone familiar with a release should see the same (or similar) code layout, dependencies, if they become a developer. Another use case, probably mostly in the context of Five, it's nice to have an inclusive release of Zope 3 in Zope 2. The goal of reducing the amount of code included in Zope 2 sounds nice in theory, but it stops Five developers from exposing Zope 3 code in Zope 2 because it simply isn't there in a particular release. It is *nice* to have all of Zope 3 included in Zope 2. I don't want to lose that good thing in the rush to minimize dependencies. Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: Martijn Faassen wrote: ... How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? No, I mean using eggs. Zope should be broken into separate projects with their own eggs. A Zope release might just be an egg with dependencies. Or it might just be a collection of eggs. Ah, makes sense. A 'meta-package', so to speak. Works well in Debian, so I think that's an interesting pattern to follow. As long as we can do those micro releases quickly -- the problem is that Zope 3 is one project, and we want one communication channel, as we simply don't have enough people otherwise. From another perspective it's many projects, though. You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. Right. If eggs work out, then a respository check out will be a lot smaller, but will download needed eggs. This would be a replacement of the use of externals we have now. A risk here is that if I find a bug in package X, I can't easily track it into package Y and fix it there, as package Y is an egg. The current system doesn't have this problem. As a side issue: From the perspective of Five, it is beneficial to have as much Zope 3 code included into Zope 2 releases, as that gives us an opportunity to start using this functionality right away, exposing it to Zope 2, without waiting for a new release. Understand though that there is nothing like a backward compatibility promise for something that hasn't been released. Yes, but Zope 2 included *less* than Zope 3 in the most recent release, and I'd like *all* packages that are in a Zope 3 release to be available in a Zope 2 release. I.e. Five doesn't want packages that aren't in a Zope 3 release, but not less either. [snip] (If you're interested I can try to explain some of my thinking a bit deeply.) Eggs are a nice distribution mechanism, but I'd also want the knitting process to work for a SVN checkout -- developers working with SVN need to be very easily work with a 'knitted' version, so perhaps svn:externals will remain a valuable tool. Assuming that eggs fullfill their promise, I think I'd rather use eggs than externals. Sure, but see the risk I mentioned earlier in this mail. As part of this decomposition, we need to make zope.app much smaller. Early in Zope 3 development, I proposed a simple rule for organization of the repository: Anything that depended on zope.app went in zope.app. Anything else went in zope. If there was doubt, put it in zope.app. I think that served us well at the time, but I think we've moved beyond that, I'd like to migrate most of zope.app elsewhere. Zope 2.10 should not include zope.app. This worries me; Five is currently using massive quantities of code in zope.app, and as expressed above, I value Five having access to potentially all Zope 3 code that's in a Zope 3 release. The code that Five is using will still be available, but it will be somewhere else (with necessary backward compatibility hacks). As long as Zope 2.10 contains all packages in Zope 3. Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: On Wednesday 18 January 2006 19:09, Jim Fulton wrote: You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. Right. If eggs work out, then a respository check out will be a lot smaller, but will download needed eggs. This would be a replacement of the use of externals we have now. Oh, this will make development so much more tedious. Let's say zope.testbrowser is an egg and I discover a bug in zope.textbrowser while doing some other Zope 3 development, I have to check out zope.testbrowser, fix the bug, check it in, download the new egg and hope it fixed my Zope 3 problem. Honestly this is far too much and I will at most make a bug report. Ah, exactly the risk I pointed out too, I should've read the thread first before I repeated you. :) I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. What if we can create in SVN the equivalent of what would be an egg + its dependencies for checkout, using externals? I know Jim said he doesn't want to use externals, but I'm thinking in that direction. You'd have one SVN directory for each egg, which then contains the right externals to pull in all the dependencies. Hopefully the process of creating such an SVN directory could be automated from egg dependency metadata. Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Thursday 19 January 2006 07:00, Jim Fulton wrote: I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. I don't understand what you mean. Having a separate zope.testing project has been extremely useful. For example, in our comercial apps, we often used newer versions than existed in Zope 3. We often needed enhacements to zope.testing at times that Zope 3 was feature frozen. We could have made a Zope 3 branch just to modify zope.testing, but that would have been a hassle for us and for Zope 3 developers. Note that the new test runner (from zope.testing) was used in ZODB long before it was used in Zope 3. Argument taken and agreed that this is a valuable use case. Regard, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Thursday 19 January 2006 07:00, Jim Fulton wrote: I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. Perhaps our goals are different. I want Zope's packages to be usable outside of Zope. I also want to make it easier to use external packages. I think that a more package-centric development methodoligy will make achieving these goals much easier. I also think it will make Zope releases go smoother because the scope of the release will be narrower. Someday, A Zope release will include an app-server specific core and a collection of other package releases. To the extend that those packages have their own lifeccyles, and quality control, the amount of newly released code in a Zope release wil be smaller. A package-based approach will also make it easier to release less. We'll be freed from a batteries included mentality that encourages large high-risk releases. And it will make it easier for people to make custom releases that have configurations targeted to specific needs. I think we do have different goals here. I would agree with that approach, if we would have a large community where small groups take over the maintenance and development of a package. But that's not the case and it will not change any time soon, I think. Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Thursday 19 January 2006 07:46, Martijn Faassen wrote: Oh, this will make development so much more tedious. Let's say zope.testbrowser is an egg and I discover a bug in zope.textbrowser while doing some other Zope 3 development, I have to check out zope.testbrowser, fix the bug, check it in, download the new egg and hope it fixed my Zope 3 problem. Honestly this is far too much and I will at most make a bug report. Ah, exactly the risk I pointed out too, I should've read the thread first before I repeated you. :) Yeah, I am glad someone else backs my concern. I agreed with everything you said in your previous mail. I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. What if we can create in SVN the equivalent of what would be an egg + its dependencies for checkout, using externals? I know Jim said he doesn't want to use externals, but I'm thinking in that direction. You'd have one SVN directory for each egg, which then contains the right externals to pull in all the dependencies. Hopefully the process of creating such an SVN directory could be automated from egg dependency metadata. That would work for me. If it resolves the risk and is still pretty automated, SVN checkout or even calling make, then it is fine by me. The others have also pointed out the egg development mode. Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: [svn reflecting egg dependency structure] That would work for me. If it resolves the risk and is still pretty automated, SVN checkout or even calling make, then it is fine by me. The others have also pointed out the egg development mode. Right, I didn't know of that, but if that fulfills the usecases, then that's even better. Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen wrote: ... Sure, I support dependencies and separating out Zope into sub projects, I'm just listing an additional use case: the repository state should be similar to release state, to avoid confusion for developers as well as people who want to become developers. I.e. a developer should have the ability to easily see the same (or similar) code layout, dependencies, etc, as in a release, and someone familiar with a release should see the same (or similar) code layout, dependencies, if they become a developer. Right, got it. A checkout and a release should be very similar. If eggs work out, then they would both use eggs to satisfy their dependencies. Another use case, probably mostly in the context of Five, it's nice to have an inclusive release of Zope 3 in Zope 2. The goal of reducing the amount of code included in Zope 2 sounds nice in theory, but it stops Five developers from exposing Zope 3 code in Zope 2 because it simply isn't there in a particular release. It is *nice* to have all of Zope 3 included in Zope 2. I don't want to lose that good thing in the rush to minimize dependencies. Right now Five/Zope2 include lots of packages they don't and may never use. I want Five/Zope2 to not *have* to include packages they don't need just because we've created monoliths. I especially don't want to release experimental code through Five/Zope2 just because we don't have our repository and/or packaging in order. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen wrote: ... A risk here is that if I find a bug in package X, I can't easily track it into package Y and fix it there, as package Y is an egg. The current system doesn't have this problem. There are two issues here: 1. Debugging. Can debugging tools show you code in eggs? They should. If they don't they may need to be improved. If that's not an option, eggs let you expand an egg into a normal directory at installation time. I don't think this will be a problem, although we may need to take some steps to assure that it isn't. 2. Updates. We can't update packages now that we get via externals. If we didn't adopt eggs, I expect that we'd make greater and greater use of externals. Eggs don't make update any harder than externals. ... Understand though that there is nothing like a backward compatibility promise for something that hasn't been released. Yes, but Zope 2 included *less* than Zope 3 in the most recent release, and I'd like *all* packages that are in a Zope 3 release to be available in a Zope 2 release. I.e. Five doesn't want packages that aren't in a Zope 3 release, but not less either. I'm surprised that it included less. I think a more powerful packaging architecture will make it easeir to include what we want. Deciding what we want is another issue. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen wrote: ... What if we can create in SVN the equivalent of what would be an egg + its dependencies for checkout, using externals? I know Jim said he doesn't want to use externals, but I'm thinking in that direction. You'd have one SVN directory for each egg, which then contains the right externals to pull in all the dependencies. Hopefully the process of creating such an SVN directory could be automated from egg dependency metadata. I'm confused. I thought you wanted a checkout to look like a release. Releases won't use svn:externals. What about dependencies that aren't managed in subversion? Will you import them into a repository just so you can use an external? What if a dependency of a dependency changes? Externals don't handle this well. Eggs do. I think we should investigate eggs. Do I know they will work? No. I haven't done much with them yet. Do you know they won't? Obviously not. I suggest we reserve jusdgement until we have had an opportunity for some prototyping. Based on what I've seen so far, I'm very hopeful. And then there's the fact that they come from a much wider community than just Zope. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: On Thursday 19 January 2006 07:00, Jim Fulton wrote: I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. Perhaps our goals are different. I want Zope's packages to be usable outside of Zope. I also want to make it easier to use external packages. I think that a more package-centric development methodoligy will make achieving these goals much easier. I also think it will make Zope releases go smoother because the scope of the release will be narrower. Someday, A Zope release will include an app-server specific core and a collection of other package releases. To the extend that those packages have their own lifeccyles, and quality control, the amount of newly released code in a Zope release wil be smaller. A package-based approach will also make it easier to release less. We'll be freed from a batteries included mentality that encourages large high-risk releases. And it will make it easier for people to make custom releases that have configurations targeted to specific needs. I think we do have different goals here. I would agree with that approach, if we would have a large community where small groups take over the maintenance and development of a package. But that's not the case and it will not change any time soon, I think. I disagree. There are sub-projects within The Zope tree that are worked on by a few people. Take viewlets for example. I think we'll have more of this once we have a more supportive environment. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
... [Stephan Ricther] I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. [Jim Fulton] I don't understand what you mean. Having a separate zope.testing project has been extremely useful. For example, in our comercial apps, we often used newer versions than existed in Zope 3. We often needed enhacements to zope.testing at times that Zope 3 was feature frozen. We could have made a Zope 3 branch just to modify zope.testing, but that would have been a hassle for us and for Zope 3 developers. Note that the new test runner (from zope.testing) was used in ZODB long before it was used in Zope 3. I want to note that this was good for Zope3, too: as a willing early adopter of zope.testing, ZODB hit bugs and platform-dependent glitches first, and got them fixed before the larger Zope3 development community could be bit by them. Also want to note that ZRS needed to add new features to zope.testing, and ZRS doesn't include _any_ Zope code (ZRS builds on ZEO, not Zope). Having zope.testing be its own project without all the adminstrative overheads of having its own official releases made it very easy to add new code for ZRS's benefit without disturbing any of zope.testing's other users. In all, zope.testing is a poster child for the value of package development outside of a Zope tree. It's true that, to make changes in zope.testing, I needed to have a distinct checkout of zope.testing. I didn't feel that to be a burden, though. ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: Martijn Faassen wrote: ... What if we can create in SVN the equivalent of what would be an egg + its dependencies for checkout, using externals? I know Jim said he doesn't want to use externals, but I'm thinking in that direction. You'd have one SVN directory for each egg, which then contains the right externals to pull in all the dependencies. Hopefully the process of creating such an SVN directory could be automated from egg dependency metadata. I'm confused. I thought you wanted a checkout to look like a release. Releases won't use svn:externals. What about dependencies that aren't managed in subversion? Will you import them into a repository just so you can use an external? What if a dependency of a dependency changes? Externals don't handle this well. Eggs do. I wasn't fully aware when I wrote that that eggs can help during development. I need to read up on development eggs. I think we should investigate eggs. Do I know they will work? No. I haven't done much with them yet. Do you know they won't? Obviously not. I suggest we reserve jusdgement until we have had an opportunity for some prototyping. Based on what I've seen so far, I'm very hopeful. And then there's the fact that they come from a much wider community than just Zope. No, I don't know they don't work, I just hadn't considered eggs as a development tool. I agree wholeheartedly eggs should be explored, and I was homing in on a possible solution before I understand what other alternatives exist. :) Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: Martijn Faassen wrote: Yes, but Zope 2 included *less* than Zope 3 in the most recent release, and I'd like *all* packages that are in a Zope 3 release to be available in a Zope 2 release. I.e. Five doesn't want packages that aren't in a Zope 3 release, but not less either. I'm surprised that it included less. It was a bug, and I think some of it already got resolved (Philipp would know more), but it wasn't noticed until fairly late, as during development such dependencies are development. I think a more powerful packaging architecture will make it easeir to include what we want. Deciding what we want is another issue. Agreed. I just wanted to make clear what I want early on. :) Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: Martijn Faassen wrote: Another use case, probably mostly in the context of Five, it's nice to have an inclusive release of Zope 3 in Zope 2. The goal of reducing the amount of code included in Zope 2 sounds nice in theory, but it stops Five developers from exposing Zope 3 code in Zope 2 because it simply isn't there in a particular release. It is *nice* to have all of Zope 3 included in Zope 2. I don't want to lose that good thing in the rush to minimize dependencies. Right now Five/Zope2 include lots of packages they don't and may never use. I want Five/Zope2 to not *have* to include packages they don't need just because we've created monoliths. I especially don't want to release experimental code through Five/Zope2 just because we don't have our repository and/or packaging in order. Hm, some confusion.. Perhaps the cause is this: With Zope 3, I mean Zope 3 *as released*. I imagine you might think of Zope 3 differently, i.e. Zope 3 as what's in the repository, which includes things beyond what gets released (i.e experimental packages). I'm talking about a Zope 2 release including (most of) what's in a Zope 3 release, so that Five developers can work on exposing *that* in Zope 2 too (which can then be part of the next Zope 2 release as we integrate the newer Five in it). I'm describing a pattern of working that has worked pretty well for Five for a while now. Of course that doesn't mean I want experimental packages in Zope 2 that are not in a Zope 3 release. Five is about exposing Zope 3 as released in Zope 2, it shouldn't expose *more* functionality than Zope 3 does. :) Regards, Martijn ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On 1/20/06, Tim Peters [EMAIL PROTECTED] wrote: In all, zope.testing is a poster child for the value of package development outside of a Zope tree. I've been very happy using zope.testing with several non zope projects. Including how easy it is to follow and distribute that package as needed for those projects. Same goes for zdaemon. And of course ZConfig. Michael ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: [Zope3-dev] December release post-mortem
Jim Fulton wrote: I think we should investigate eggs. Do I know they will work? No. I haven't done much with them yet. Do you know they won't? Obviously not. I suggest we reserve jusdgement until we have had an opportunity for some prototyping. Based on what I've seen so far, I'm very hopeful. And then there's the fact that they come from a much wider community than just Zope. I have to admit to being very interested in eggs myself. I like the idea of zope being a collection of independent packages with their own release schedules - breaking down the monolithic release problem. I think Zope 3 has done extremely well with all this so far. Personally, I've used Zope 3s' ZPT and testbrowser packages in contexts that have nothing to do with Zope 3 (or even Zope sometimes) and liked the feel of it. I wasn't away the same was true for zope.testing but I'm very glad to hear it. On a side note, I see python now includes doctest.py, why are we still maintaining our own copy in zope.testing? cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wed, Jan 18, 2006 at 07:36:35AM -0500, Jim Fulton wrote: | And then there are the Windows releases. Making Zope 2 windows releases | is very painful and there don't seem to be many people willing to help. | We've avoided the pain for Zope 3 by being less ambitious. We let distutils | do most of the work. The result is that making a windows release takes | minutes | and is highly automated, but the experience for the end user is less than | ideal, Many would rightfully argue that it is inadequate. What we need | is a release process that is as easy as the Zope 3 windows release process | and produces a result as usable as the Zope 2 windows release. I'm not sure | exactly what the answer is, but I am sure we need to take a fresh approach. | Whatever approach we take needs to be highly automated and must not require | a lot of specialized Windows expertise. The installers do not require much Windows expertise. In fact, they require a lot of 'makefile' expertise right now, and some Inno Setup expertise, not much else. At Enfold Systems we are using our own home-grown python-based process to cobble together all the dependencies for building installers. We haven't switched to Zope 2.9 though. When the time comes around for a switch, our goal is to switch from Inno Setup to Wix [1], at which point we hope to contribute this work to Zope. That might take another 6 months though and sure we don't want to hold back the Zope Windows installers that long. [1] http://blogs.msdn.com/robmen/archive/2004/04/05/107709.aspx -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On 1/18/06, Jim Fulton [EMAIL PROTECTED] wrote: These were some of my reactions to this first attempt at time-based releases. What do other folks think? I think early January is an understandable delay, considering that midwinter celebrations came in the way. Great work everyone! -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/ ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Sidnei da Silva wrote: On Wed, Jan 18, 2006 at 07:36:35AM -0500, Jim Fulton wrote: | And then there are the Windows releases. Making Zope 2 windows releases | is very painful and there don't seem to be many people willing to help. | We've avoided the pain for Zope 3 by being less ambitious. We let distutils | do most of the work. The result is that making a windows release takes | minutes | and is highly automated, but the experience for the end user is less than | ideal, Many would rightfully argue that it is inadequate. What we need | is a release process that is as easy as the Zope 3 windows release process | and produces a result as usable as the Zope 2 windows release. I'm not sure | exactly what the answer is, but I am sure we need to take a fresh approach. | Whatever approach we take needs to be highly automated and must not require | a lot of specialized Windows expertise. The installers do not require much Windows expertise. In fact, they require a lot of 'makefile' expertise right now, and some Inno Setup expertise, not much else. Sorry, Inno Setup is a windows installation builder. I consider this windows expertise. At Enfold Systems we are using our own home-grown python-based process to cobble together all the dependencies for building installers. We haven't switched to Zope 2.9 though. I consider switching build languages from make to Python a definate step forward. When the time comes around for a switch, our goal is to switch from Inno Setup to Wix [1], at which point we hope to contribute this work to Zope. That might take another 6 months though and sure we don't want to hold back the Zope Windows installers that long. Unless the process is automated enough that *I* can do it, whoever suggests a new system needs to be prepared to operate it reliably as well. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wed, Jan 18, 2006 at 10:27:25AM -0500, Jim Fulton wrote: | The installers do not require much Windows expertise. In fact, they | require a lot of 'makefile' expertise right now, and some Inno Setup | expertise, not much else. | | Sorry, Inno Setup is a windows installation builder. I consider this | windows expertise. You don't have to know how to operate Inno Setup for building a installer though. It pretty much boils down to editing the makefiles to contain the proper version number and typing 'make'. I would consider that automated enough. What about adding a target that does this into the buildbot so we get nightly installers? -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Sidnei da Silva wrote: On Wed, Jan 18, 2006 at 10:27:25AM -0500, Jim Fulton wrote: | The installers do not require much Windows expertise. In fact, they | require a lot of 'makefile' expertise right now, and some Inno Setup | expertise, not much else. | | Sorry, Inno Setup is a windows installation builder. I consider this | windows expertise. You don't have to know how to operate Inno Setup for building a installer though. It pretty much boils down to editing the makefiles to contain the proper version number and typing 'make'. I would consider that automated enough. What about adding a target that does this into the buildbot so we get nightly installers? People up to now have come up with systems like this that they thought were automated enough. That's why we don't have a 2.9 release for windows. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Hi, On Wed, 2006-01-18 at 13:40 -0200, Sidnei da Silva wrote: On Wed, Jan 18, 2006 at 10:27:25AM -0500, Jim Fulton wrote: | The installers do not require much Windows expertise. In fact, they | require a lot of 'makefile' expertise right now, and some Inno Setup | expertise, not much else. | | Sorry, Inno Setup is a windows installation builder. I consider this | windows expertise. You don't have to know how to operate Inno Setup for building a installer though. It pretty much boils down to editing the makefiles to contain the proper version number and typing 'make'. I would consider that automated enough. What about adding a target that does this into the buildbot so we get nightly installers? You have to know Inno. I took care for the Windows builds for a while and it was a large pain to get it started. I'm not a natural windows hacker, although I was developing on windows some years ago and know my way around. Additionally the whole cludge (was/is) very fragile so that new releases pretty reliably required tweaking the build environment. As Tim said one day: You need to work/develop on windows on a daily basis to be able to cut releases for it. I'd second this for any platform actually. Christian -- gocept gmbh co. kg - forsterstraße 29 - 06112 halle/saale - germany www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 - fax +49 345 122 9889 1 - zope and plone consulting and development signature.asc Description: This is a digitally signed message part ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wed, Jan 18, 2006 at 10:45:20AM -0500, Jim Fulton wrote: | People up to now have come up with systems like this that they thought were | automated enough. That's why we don't have a 2.9 release for windows. What about we turn that around. How would you describe a 'automated enough' build environment? I suspect you consider: python setup.py bdist_wininst to be pretty close to that. How does it differ from: make installer once all dependencies are in place? I agree that the procedure for building the current Windows installer, though documented (yes, it is documented), has more steps than required. One place where it could be streamlined is that it expects you to download the Python 2.3 Windows Installer and tarball manually and put them into a specific directory. That could certainly be done by the makefile. -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Sidnei da Silva wrote: On Wed, Jan 18, 2006 at 10:45:20AM -0500, Jim Fulton wrote: | People up to now have come up with systems like this that they thought were | automated enough. That's why we don't have a 2.9 release for windows. What about we turn that around. How would you describe a 'automated enough' build environment? I suspect you consider: python setup.py bdist_wininst to be pretty close to that. I think http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/ZopeWindowsRelease Is pretty close. Note that this has a number os steps, but there are few and they are well documented, so I don't have to think. How does it differ from: make installer It uses a real language. once all dependencies are in place? The process has to include getting al of the dependencies in place. I agree that the procedure for building the current Windows installer, though documented (yes, it is documented), has more steps than required. One place where it could be streamlined is that it expects you to download the Python 2.3 Windows Installer and tarball manually and put them into a specific directory. That could certainly be done by the makefile. As I said before, the fact that we don't have a windows release is proof that the process isn't automated enough. I also know for a fact that Tim did a *lot* of work to get the installer that he asked people to review. This might be inevitable, given the changes in Python, but I don't think it needs to be as bad as it is. And, as I said before, we shouldn't be inventing this ourselves if we can possibly avoid it. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Hey, First, I'd like to thank you and everyone involved in the Zope 2 and Zope 3 releases for making this time-based release in what I consider to be a smashing success. Thanks for all the hard work! Things were late a bit, some things are imperfect, but we in the community are already feeling the positive effects of being able to plan for releases. I want Jim to be sure he realizes it's a success from other's perspective as well. Several great features are probably in Zope 2 now in part due to the time-based release system. I want to point out for special attention Florent's great work on making Zope 3 style events work with Zope 2. This is no less than fantastic. This kind of work might've lingered for a long time if release dates were uncertain. Jim Fulton wrote: Now that I've had a week or so to recover from making the Zope 3 releases, I'd like to look at how we did on our first timed releases. Thanks for doing the post-mortem. Very valuable. Of course, the releases didn't happen in December. In fact, the Zope 2 Windows release still hasn't happened. That we were late isn't a great surprise, given that this was our first timed release. The beginning of the release cycle was delayed because people didn't really realize/remember that we needed to freeze by November 1. [snip] In the future, if someone introduces a major change, they *must* be committed to be available to deal with issues that arise during the release cycle. Perhaps we need to pick different release dates to avoid holidays. Stephan has suggested moving the dates up to November/May rather than December/June. +1 to moving the dates to be further away from holiday seasons. And then there are the Windows releases. Making Zope 2 windows releases is very painful and there don't seem to be many people willing to help. [snip] Getting a dedicated volunteer to work on Windows releases seems to be hard. I've tried with lxml and while several people have successfully compiled it on Windows, and several people volunteered to help with releases, it still hasn't gotten off the ground. I'm glad the decision was made to let Windows not be a release blocker. We're not the only one with this problem. A few months ago I was reading the Apache HTTP server mailing lists and to my surprise found a thread talking about how their process was failing. The Apache HTTP server has a very strict policy concerning changes to the codebase; they have to be vetted by other programmers before they can go in. There were some problems pointed out about this procedure slowing things down, but interestingly enough one of the blockers for making new releases of Apache was the volunteers not knowing how to do a Windows release. :) I think that packaging is a significant challenge to our release process. The Zope 2 release was complicated by the use of zpkg. The zpkg system was developed to allow us to decouple the Zope 3 repository and releases. It was too painful to mold the repository to fleeting release decisions. We wanted people to put experimental and add-on applications in the repository so that they would be tested as we rapidly evolved things. While zpkg was crucial for the last 3 releases, I don't think it provides the best long-term approach. Rather than extracting a release from a larger repository tree, I think it would be better, going forward, to assemble a release from smaller individual repository trees or from releases. I'm glad this is being given a re-think. How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. As a side issue: From the perspective of Five, it is beneficial to have as much Zope 3 code included into Zope 2 releases, as that gives us an opportunity to start using this functionality right away, exposing it to Zope 2, without waiting for a new release. [snip] We have begun to see Zope 3 decomposed into separate projects knit together via svn:externals. I'd like to see that trend continue and to perhaps switch to making the knitting process use eggs, I'd like to leverage eggs to make the release process much simpler. It should be easy for people to make releases so that there could easily be multiple distributions aimed at different needs and expectations. I'll repeat here that I think there's much value in trying to keep the mapping of the SVN repository very similar to what is actually released. (If you're interested I can try to explain some of my thinking a bit deeply.) Eggs are a nice distribution mechanism, but
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wed, Jan 18, 2006 at 11:24:20AM -0500, Jim Fulton wrote: | Sidnei da Silva wrote: | On Wed, Jan 18, 2006 at 10:45:20AM -0500, Jim Fulton wrote: | | People up to now have come up with systems like this that they thought | were | | automated enough. That's why we don't have a 2.9 release for windows. | | What about we turn that around. How would you describe a 'automated | enough' build environment? I suspect you consider: | | python setup.py bdist_wininst | | to be pretty close to that. | | I think | | http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/ZopeWindowsRelease | | Is pretty close. Note that this has a number os steps, but there are few | and they are well documented, so I don't have to think. Not that much different from what already exists for Zope 2: http://svn.zope.org/Zope/trunk/inst/WinBuilders/README.txt?rev=39675view=auto | As I said before, the fact that we don't have a windows release | is proof that the process isn't automated enough. That's not a proof that the process is not automated enough. The transition from python2.3 to 2.4 *is* non-trivial because python changed from distutils to MSI. -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Sidnei da Silva wrote: ... | As I said before, the fact that we don't have a windows release | is proof that the process isn't automated enough. That's not a proof that the process is not automated enough. The transition from python2.3 to 2.4 *is* non-trivial because python changed from distutils to MSI. Except that the same sort of problems occurred with 2.8. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wed, Jan 18, 2006 at 11:46:33AM -0500, Jim Fulton wrote: | Sidnei da Silva wrote: | ... | | As I said before, the fact that we don't have a windows release | | is proof that the process isn't automated enough. | | That's not a proof that the process is not automated enough. The | transition from python2.3 to 2.4 *is* non-trivial because python | changed from distutils to MSI. | | Except that the same sort of problems occurred with 2.8. I would describe the problems with the Windows installers as lack of interest by the developers, not problems with installer building automation. One way or another, the best I can propose right now is to integrate the building of the Windows installer into a buildbot, either ZC's or Enfold Systems'. We already build the nightly Windows Installer for Plone, so it wouldn't be a big deal to do the same for Zope. -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Sidnei da Silva wrote: On Wed, Jan 18, 2006 at 11:46:33AM -0500, Jim Fulton wrote: | Sidnei da Silva wrote: | ... | | As I said before, the fact that we don't have a windows release | | is proof that the process isn't automated enough. | | That's not a proof that the process is not automated enough. The | transition from python2.3 to 2.4 *is* non-trivial because python | changed from distutils to MSI. | | Except that the same sort of problems occurred with 2.8. I would describe the problems with the Windows installers as lack of interest by the developers, not problems with installer building automation. We don't have any more Windows interest for Zope 3, but we have no problem creating windows releases. That's because we made the barrier very low. One way or another, the best I can propose right now is to integrate the building of the Windows installer into a buildbot, either ZC's or Enfold Systems'. We already build the nightly Windows Installer for Plone, so it wouldn't be a big deal to do the same for Zope. Cool. Then we can just pick up tomorrows output and ship that. ;) Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wednesday 18 January 2006 11:27, Martijn Faassen wrote: How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? I'll note that SchoolTool greatly benefits from the current release building. We simply include all the Zope 3 dependencies in our dependency list and build the release. We can decide to include Zope 3 dependencies or not. Overall I think zpkg is a great win and whatever we do next should not remove those features. Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
We should distinguish between authoring the Windows build-the-installer code, and running that code. Making a Zope 2 Windows release consists of _running_ the build-the-installer code, and is easy. It's actually easier than building a Zope 3 Windows release: once the Python tarball, Zope 2 tarball, and pywin32 installer are downloaded, building a Zope 2 release consists of typing one command in a Cygwin shell: WinBuilders/buildout zope That's it. _Authoring_ the Zope 2 build-the-installer code has been a royal PITA, but work is needed there only when packaging gimmicks change. Like moving to zpkgtools, or moving away from them again, or moving to a different packaging system for one of the components (like Python moving from a Wise installer to an MSI installer for 2.4, or pywin32 earlier moving from a Wise installer to a distutils installer). Across the long life of Zope 2.7, those things changed very little, and as a result very little needed to change in the build-the-installer code across 2.7's life. 2.7 Windows releases remained easy to build across that time (granting that Mark Hammond did the work to adjust to pywin32's packaging changes). 2.8 Windows releases were/are similarly easy to build. A lot of new work was needed for 2.9, due to Python and zpkgtools changes. I also took the opportunity to upgrade from InnoSetup 4 to version 5, which introduced a much easier scheme for managing the custom dialog screens in the Zope installer. All of that ended up making the build-the-installer code substantially simpler, to the point where it now seems kinda goofy to use makefiles at all in the process. Makefile mazes are inscrutable, and are particularly ill-suited to the true nature of this task: unpack various tarballs, and rearrange them like so. Finishing a Windows release of Zope 2 or Zope 3 takes much longer than just minutes, unless you skip testing. If you do skip testing, then it's minutes for both. Testing Zope as a Windows service is harder for Zope 3, because the Zope 3 installer doesn't (but the Zope 2 installer does) install or start the service, or auto-stop and remove the service when Zope is uninstalled. BTW, Zope3 _could_ do that too with a suitable post-install/pre-uninstall script, which is something InnoSetup automates for Zope2. It can take a Windows expert some days to author Zope2 build-the-installer changes when packaging fashions change (whether Zope's or the repackaged components'). InnoSetup is the least of the problems there, and while MSI is the coming fashion, slinging MSI code appears to require much more knowledge than slinging InnoSetup declarations. The idea that it takes Windows expertise to write an InnoSetup declaration is wrong: such lines merely say take the files you find _here_ now, and put them _there_ when the installer runs. For example, this is the entire Inno code needed to install Zope 2's lib/ directory: Source:lib\*.*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs That kind of stuff is truly trivial. It does take Inno expertise to create and manage the installer's dialog screens (manage == e.g., if the user chooses not to have the installer create an instance home, then the dialog asking for the instance home's directory shouldn't be shown), but those typically don't change across releases. ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen wrote: ... How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? No, I mean using eggs. Zope should be broken into separate projects with their own eggs. A Zope release might just be an egg with dependencies. Or it might just be a collection of eggs. You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. Right. If eggs work out, then a respository check out will be a lot smaller, but will download needed eggs. This would be a replacement of the use of externals we have now. As a side issue: From the perspective of Five, it is beneficial to have as much Zope 3 code included into Zope 2 releases, as that gives us an opportunity to start using this functionality right away, exposing it to Zope 2, without waiting for a new release. Understand though that there is nothing like a backward compatibility promise for something that hasn't been released. [snip] We have begun to see Zope 3 decomposed into separate projects knit together via svn:externals. I'd like to see that trend continue and to perhaps switch to making the knitting process use eggs, I'd like to leverage eggs to make the release process much simpler. It should be easy for people to make releases so that there could easily be multiple distributions aimed at different needs and expectations. I'll repeat here that I think there's much value in trying to keep the mapping of the SVN repository very similar to what is actually released. I think I understand where you are coming from. (If you're interested I can try to explain some of my thinking a bit deeply.) Eggs are a nice distribution mechanism, but I'd also want the knitting process to work for a SVN checkout -- developers working with SVN need to be very easily work with a 'knitted' version, so perhaps svn:externals will remain a valuable tool. Assuming that eggs fullfill their promise, I think I'd rather use eggs than externals. As part of this decomposition, we need to make zope.app much smaller. Early in Zope 3 development, I proposed a simple rule for organization of the repository: Anything that depended on zope.app went in zope.app. Anything else went in zope. If there was doubt, put it in zope.app. I think that served us well at the time, but I think we've moved beyond that, I'd like to migrate most of zope.app elsewhere. Zope 2.10 should not include zope.app. This worries me; Five is currently using massive quantities of code in zope.app, and as expressed above, I value Five having access to potentially all Zope 3 code that's in a Zope 3 release. The code that Five is using will still be available, but it will be somewhere else (with necessary backward compatibility hacks). Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
Stephan Richter wrote: On Wednesday 18 January 2006 11:27, Martijn Faassen wrote: How do you assemble releases 'from releases'? I'm not sure I understand that. You mean make a Zope 2 release using a Zope 3 release? I'll note that SchoolTool greatly benefits from the current release building. We simply include all the Zope 3 dependencies in our dependency list and build the release. We can decide to include Zope 3 dependencies or not. Overall I think zpkg is a great win and whatever we do next should not remove those features. I agree that dependency based releases -- and development is great. I think eggs are a lot farther along that zpkg. (Eggs weren't around when we started zpkg.) If eggs work out, as I hope they will, I'd like to stop work on zpkg and just use eggs. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On 1/18/06, Jim Fulton [EMAIL PROTECTED] wrote: If eggs work out, as I hope they will, I'd like to stop work on zpkg and just use eggs. +42 -Fred -- Fred L. Drake, Jr.fdrake at gmail.com There is no wealth but life. --John Ruskin ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: [Zope3-dev] December release post-mortem
On Wednesday 18 January 2006 19:09, Jim Fulton wrote: You know my position concerning the repository and the release; I'd prefer them to be kept as similar as possible to simplify the release process. I hope we can go in that direction. It also makes things more predictable to developers. We noticed that some Zope 3 packages weren't packaged into Zope 2 after the release, even though in a developer's sandbox of Zope 2 they were there. Right. If eggs work out, then a respository check out will be a lot smaller, but will download needed eggs. This would be a replacement of the use of externals we have now. Oh, this will make development so much more tedious. Let's say zope.testbrowser is an egg and I discover a bug in zope.textbrowser while doing some other Zope 3 development, I have to check out zope.testbrowser, fix the bug, check it in, download the new egg and hope it fixed my Zope 3 problem. Honestly this is far too much and I will at most make a bug report. I have seen you take a similar approach to zope.testing and I found that painful just by watching the checkins. I feel like an old record, but please let's keep the development process as simple as possible. I rather make some concessions to the packaging and dependency system than spending more time developing. Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )