[Zope-dev] Proposal: Make Zope2 smaller
Hi. I'd like to get feedback on an idea I had recently. Problem Zope2 currently includes large parts of Zope 3. Not all of the zope.* and zope.app.* packages are maintained or are in use. Still Zope 2 includes large amounts of them and thus implicitly advertises them to be used. In addition they blow up the installed code size and add a long term maintenance burden. The move to gain Python 2.6 compatibility has shown some of this and I expect to see more work in moving to Python 3 at a later stage. Assumption Zope 2.12 will most probably see two kind of distributions. One is a Zope2 egg, consisting of one large Zope2 egg which pulls in everything that has been eggified on their own as dependencies. This includes the ZODB and all zope.* and zope.app.* packages. The second distribution is a tradtional tarball, which exactly matches the current distribution format. Proposal I'd like to change the egg distribution alone and introduce one setuptools extra to it. The old tarball distribution would stay the same. The standard Zope2 egg install would only include those zope.* and zope.app.* packages which it actually requires. The extra would be called 'zope_app' and pull in all zope.* and zope.app.* packages which we did include so far, but are not actually required to run Zope 2. For example: extras_require = dict( zope_app = [ 'zope.app.rotterdam', 'zope.app', ], ), Rational Any package that does require any of the zope.* or zope.app.* packages can define those as an explicit dependency itself. The zope_app extra makes the transition phase easier, in which packages do not yet declare all their dependencies. In the long run, the extra can be dropped entirely. This proposal makes it possible to get a smaller, well-defined Zope2 egg. The first egg release of Zope2 gives us an opportunity to do this move without breaking backwards compatibility. While Zope 2 has included large parts of Zope 3, it never exactly included all of it. As Zope 3 is not likely to see an ongoing monolithic release, I don't see a reason for Zope 2 to include Zope 3 in the monolithic fashion we do so far. Implementation This is not yet implemented but should be quite easy. Figuring out the exact packages which are required by Zope 2 is to be done. Questions / Comments / Feedback Are more than welcome. Hanno ___ 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] Proposal: Make Zope2 smaller
On 26.10.2008 16:37 Uhr, Hanno Schlichting wrote: Implementation This is not yet implemented but should be quite easy. Figuring out the exact packages which are required by Zope 2 is to be done. General +1 on getting rid of the dependencies which are actually no dependencies. However I have the feeling that there possibly only a small number of packages that are really have no dependency to Zope 2. Andreas begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:[EMAIL PROTECTED] title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard ___ 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] Proposal: Make Zope2 smaller
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hanno Schlichting wrote: Hi. I'd like to get feedback on an idea I had recently. Problem Zope2 currently includes large parts of Zope 3. Not all of the zope.* and zope.app.* packages are maintained or are in use. Still Zope 2 includes large amounts of them and thus implicitly advertises them to be used. In addition they blow up the installed code size and add a long term maintenance burden. The move to gain Python 2.6 compatibility has shown some of this and I expect to see more work in moving to Python 3 at a later stage. Assumption Zope 2.12 will most probably see two kind of distributions. One is a Zope2 egg, consisting of one large Zope2 egg which pulls in everything that has been eggified on their own as dependencies. This includes the ZODB and all zope.* and zope.app.* packages. The second distribution is a tradtional tarball, which exactly matches the current distribution format. Proposal I'd like to change the egg distribution alone and introduce one setuptools extra to it. The old tarball distribution would stay the same. The standard Zope2 egg install would only include those zope.* and zope.app.* packages which it actually requires. The extra would be called 'zope_app' and pull in all zope.* and zope.app.* packages which we did include so far, but are not actually required to run Zope 2. For example: extras_require = dict( zope_app = [ 'zope.app.rotterdam', 'zope.app', ], ), Rational Any package that does require any of the zope.* or zope.app.* packages can define those as an explicit dependency itself. The zope_app extra makes the transition phase easier, in which packages do not yet declare all their dependencies. In the long run, the extra can be dropped entirely. This proposal makes it possible to get a smaller, well-defined Zope2 egg. The first egg release of Zope2 gives us an opportunity to do this move without breaking backwards compatibility. While Zope 2 has included large parts of Zope 3, it never exactly included all of it. As Zope 3 is not likely to see an ongoing monolithic release, I don't see a reason for Zope 2 to include Zope 3 in the monolithic fashion we do so far. Implementation This is not yet implemented but should be quite easy. Figuring out the exact packages which are required by Zope 2 is to be done. +1 to releasing a Zope 2.12 egg with minimal / correct dependencies. Perhaps the following script would help to identify them: http://www.tarind.com/py2depgraph.py Tres. - -- === Tres Seaver +1 540-429-0999 [EMAIL PROTECTED] Palladion Software Excellence by Designhttp://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJBK9s+gerLs4ltQ4RApXCAJ0XxxlGM6kqPiepsDySVXBA4C4NnQCeI53v qJcn001PPGZjJ1YlhUUMT0U= =UprJ -END PGP SIGNATURE- ___ 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] Proposal: Make Zope2 smaller
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Oct 26, 2008, at 16:37 , Hanno Schlichting wrote: I'd like to change the egg distribution alone and introduce one setuptools extra to it. The old tarball distribution would stay the same. The standard Zope2 egg install would only include those zope.* and zope.app.* packages which it actually requires. +1 jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.8 (Darwin) iEYEARECAAYFAkkE0w0ACgkQRAx5nvEhZLLYtACgh7Z7kcNqwlpV8nrAZDYOjeAr aswAniNTbZeVm2me0RTRxTZVct27YsQQ =5j9f -END PGP SIGNATURE- ___ 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 )