Re: [ZODB-Dev] packaging zodb in eggs.
On Mar 3, 2006, at 8:08 AM, Sidnei da Silva wrote: On Thu, Mar 02, 2006 at 10:03:48PM -0500, Chris McDonough wrote: | I'm taking a stab at packaging the various pieces of ZODB as eggs. | One of the things I'd like to do is to separate the packages of ZODB | that are currently shipped together (BTrees, ZODB/ZEO, persistent | transaction, ZConfig) into separate packages, because each may | arguably be useful outside of what we call ZODB now. | | One of the issues I've run into is that there are compile-time | dependencies between packages mainly due to C header files. For | example, the BTrees package assumes that it will be able to find the | cPersistence.h file, which currently ships with the persistent | package. I wonder if I should bother breaking the persistent and | BTrees packages apart as separate eggs. I suspect not. Can't you make them separate eggs that depend on the other? Well, yes. I've already done that. But it's a hack. The runtime dependencies aren't a problem, it's the build-time dependencies. I don't know of a way to say use this header file from this egg to build this other egg in an egg setup script. - C ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On Fri, Mar 03, 2006 at 09:52:43AM -0500, Chris McDonough wrote: | | On Mar 3, 2006, at 8:08 AM, Sidnei da Silva wrote: | | On Thu, Mar 02, 2006 at 10:03:48PM -0500, Chris McDonough wrote: | | I'm taking a stab at packaging the various pieces of ZODB as eggs. | | One of the things I'd like to do is to separate the packages of ZODB | | that are currently shipped together (BTrees, ZODB/ZEO, persistent | | transaction, ZConfig) into separate packages, because each may | | arguably be useful outside of what we call ZODB now. | | | | One of the issues I've run into is that there are compile-time | | dependencies between packages mainly due to C header files. For | | example, the BTrees package assumes that it will be able to find the | | cPersistence.h file, which currently ships with the persistent | | package. I wonder if I should bother breaking the persistent and | | BTrees packages apart as separate eggs. I suspect not. | | Can't you make them separate eggs that depend on the other? | | Well, yes. I've already done that. But it's a hack. The runtime | dependencies aren't a problem, it's the build-time dependencies. I | don't know of a way to say use this header file from this egg to | build this other egg in an egg setup script. Maybe it's a missing feature. I would ask Phillip Eby. -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On Mar 3, 2006, at 10:13 AM, Sidnei da Silva wrote: | Well, yes. I've already done that. But it's a hack. The runtime | dependencies aren't a problem, it's the build-time dependencies. I | don't know of a way to say use this header file from this egg to | build this other egg in an egg setup script. Maybe it's a missing feature. I would ask Phillip Eby. Maybe it is, but in this case, is it worth it? Does anyone want to use BTrees outside of a persistent hierarchy? - C ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On Fri, Mar 03, 2006 at 10:20:13AM -0500, Chris McDonough wrote: | On Mar 3, 2006, at 10:13 AM, Sidnei da Silva wrote: | | | Well, yes. I've already done that. But it's a hack. The runtime | | dependencies aren't a problem, it's the build-time dependencies. I | | don't know of a way to say use this header file from this egg to | | build this other egg in an egg setup script. | | Maybe it's a missing feature. I would ask Phillip Eby. | | Maybe it is, but in this case, is it worth it? Does anyone want to | use BTrees outside of a persistent hierarchy? IMO, you have to ask the opposite question. Does anyone want to use persistent without using BTrees? Then the answer is yes. -- Sidnei da Silva Enfold Systems, LLC. http://enfoldsystems.com ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On 3/2/06, Chris McDonough [EMAIL PROTECTED] wrote: On Mar 2, 2006, at 10:48 PM, Gary Poster wrote: On Mar 2, 2006, at 10:03 PM, Chris McDonough wrote: persistence-3.6.0.egg (which would include persistent and BTrees modules). zodblib-3.6.0.egg (which would include ZODB and ZODB packages). transaction-3.6.0.egg (which would include only the transaction package). zconfig-2.3.1.egg (which would include only the ZConfig package). zodb-3.6.0.egg (which might be an empty dependency package that depended on persistence, transaction, zodblib, and zconfig). Anyone care? First, rah rah!. Go go! I don't understand the eggs philosophy. (I succeeded in missing the eggs talk twice at PyCon.) I don't think any of the pieces of ZODB are very useful in isolation. You can't use persistent without transaction, and there isn't much that uses transaction other than ZODB. Same with BTrees, you can't use them without ZODB and they're probably the most useful data structure in ZODB. Software like DirectoryStorage, BDBStorage, or IndexedCatalog seem like good candidates for separate packaging. ZConfig, Jeremy Second, zodblib seems unlikely to be useful alone, but maybe I'm wrong, and even if I'm right there's precedent for that sort of thing in packaging land, so what the hey. Well, I'm only an egg, as Michael Valentine would say, so I'm not sure what the right thing is. Third, I'd guess that zodb would contain the stitching for zconfig- to-zodb. It makes me wonder if a zodb-without-zconfig egg would be feasible/useful, but that's probably for later navel-staring. Yeah, that'd be good. It's currently pretty dense in there. - C ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
Chris McDonough wrote: I'm taking a stab at packaging the various pieces of ZODB as eggs. One of the things I'd like to do is to separate the packages of ZODB that are currently shipped together (BTrees, ZODB/ZEO, persistent transaction, ZConfig) into separate packages, because each may arguably be useful outside of what we call ZODB now. One of the issues I've run into is that there are compile-time dependencies between packages mainly due to C header files. For example, the BTrees package assumes that it will be able to find the cPersistence.h file, which currently ships with the persistent package. I wonder if I should bother breaking the persistent and BTrees packages apart as separate eggs. I suspect not. I realize BTrees aren't terribly useful outside of persistent storage, so reasonable response would be to say don't split pieces of ZODB up into separate subpackages unless they don't share much/any code. In that case, I might create a persistence egg that includes both the 'persistent' and 'BTrees' packages. The ZODB egg might include both ZODB and ZEO (these are linked inextricably) which depends on the persistence distribution. Transaction should be dependency-free (but probably isn't, I haven't gotten that far yet). So in any case, for ZODB, if I punted on the one-package-one-egg relationship, we'd wind up with (for example): persistence-3.6.0.egg (which would include persistent and BTrees modules). zodblib-3.6.0.egg (which would include ZODB and ZODB packages). transaction-3.6.0.egg (which would include only the transaction package). zconfig-2.3.1.egg (which would include only the ZConfig package). zodb-3.6.0.egg (which might be an empty dependency package that depended on persistence, transaction, zodblib, and zconfig). Anyone care? Yup. However, I think before we can package these separately, we need to fix the dependency graph. in particilar we have a lot of cycles, which is bad. For example. ZODB depends on ZEO. persistent and transaction depend on ZODB. I think that this needs to be cleaned up first. This is not a small job. BTW, the turbogears folks are interested in using transaction. The transaction package has shallow dependencies on ZODB. A nice start would be to release a separate transaction egg that doesn't depend on ZODB. (Hint, we'll need a separate weak-set egg that transaction and ZODB depend on and we'll need to decouple the transaction exceptions from ZODB.) 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 ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On Mar 3, 2006, at 11:46 AM, Jeremy Hylton wrote: Go go! I don't understand the eggs philosophy. (I succeeded in missing the eggs talk twice at PyCon.) I don't think any of the pieces of ZODB are very useful in isolation. You can't use persistent without transaction, and there isn't much that uses transaction other than ZODB. Same with BTrees, you can't use them without ZODB and they're probably the most useful data structure in ZODB. I think you put transaction in a separate package because it was meant to be useful independent of ZODB. There's no actual code in persistent that depends on transaction save for the tests (although I couldn't imagine using persistent without transaction, is there ever a case?). Maybe the right packaging division is transaction, ZConfig, and everything else? - C ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
On Mar 3, 2006, at 11:47 AM, Jim Fulton wrote: BTW, the turbogears folks are interested in using transaction. The transaction package has shallow dependencies on ZODB. A nice start would be to release a separate transaction egg that doesn't depend on ZODB. (Hint, we'll need a separate weak-set egg that transaction and ZODB depend on and we'll need to decouple the transaction exceptions from ZODB.) OK, that sounds like a place to start, thanks. - C ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
Sidnei da Silva wrote: ... Can't you make them separate eggs that depend on the other? There's no point given the cyclic dependencies. You need everything anyway, so we might as well have a single source distribution. BTW, there is no such thing as a source egg, and given that ZODB has required C extensions, I expect source distributions, rather than eggs will be the norm. Of course, binary eggs for windows and perhaps some other platforms would be useful. 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 ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
Chris McDonough wrote: On Mar 3, 2006, at 11:46 AM, Jeremy Hylton wrote: Go go! I don't understand the eggs philosophy. (I succeeded in missing the eggs talk twice at PyCon.) I don't think any of the pieces of ZODB are very useful in isolation. You can't use persistent without transaction, and there isn't much that uses transaction other than ZODB. Same with BTrees, you can't use them without ZODB and they're probably the most useful data structure in ZODB. I think you put transaction in a separate package because it was meant to be useful independent of ZODB. There's no actual code in persistent that depends on transaction save for the tests (although I couldn't imagine using persistent without transaction, is there ever a case?). Maybe the right packaging division is transaction, ZConfig, and everything else? Eventually, these packages should be untangled and packaged separately. But that's more work than we want to do now. I do think that persistent will someday be useful outside of ZODB. In which case, so would BTrees. 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 ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] packaging zodb in eggs.
Chris McDonough wrote at 2006-3-2 22:03 -0500: ... The ZODB egg might include both ZODB and ZEO (these are linked inextricably) which depends on the persistence distribution. Transaction should be dependency-free (but probably isn't, I haven't gotten that far yet). While ZEO is of no use without ZODB, the inverse is not true: ZODB might very well be interesting without ZEO. I would not bundle ZEO and ZODB together... persistence-3.6.0.egg (which would include persistent and BTrees modules). I would prefer if BTrees could remain a package (rather than a module). zodblib-3.6.0.egg (which would include ZODB and ZODB packages). sure, you means something different... -- Dieter ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev