Eggification of Zope Packages
| Title: | Eggification of zope.* packages |
|---|---|
| Version: | 5 |
| Last-Modified: | 28-March-2007 |
| Author: | Baiju M <baiju.m.mail at gmail.com> |
| Status: | IsImplementedProposal |
| Created: | 24-October-2006 |
Problem
Many zope.* packages are already eggified before this proposal. There are some packages remaining. This proposal is to track eggification of packages under zope and zope.app namespace which are distributed with Zope 3.
This proposal also track zc.buildout support for zope.* packages.
Proposal
The packages to be eggified are given below with status information. All packages will be having a unique version, that is 3.4 when released, and 3.4dev during development. Already eggified packages can be used as reference for further eggification.
Current status of packages
The package dependencies have changed. The zope.app package is deprecated, all packages that are not listed here, are not checked if they use the deprecated zope.app package.
Note that we also have to eggify deprecated packages, which have to be there for the 3.4 release, so that 3.4 packages are backward compatible.
| E: | Eggified |
|---|---|
| B: | Buildout |
| D: | Source distribution on http://download.zope.org/distribution |
Packages under zope namespace
| Package | Status | Notes | Unnecessary or Wrong Dependencies |
| zope.annotation | E,B,D | ok | |
| zope.cachedescriptors | E,B,D | ZODB3 | |
| zope.component | E,B,D | ok | |
| zope.configuration | E,B,D | ok | |
| zope.contentprovider | E,B,D | ok | |
| zope.contenttype | E,B,D | ok | |
| zope.copypastemove | E,B,D | zope.app.container, zope.app.principalannotation, zope.app.testing, zope.app.component | |
| zope.datetime | E,B,D | ok | |
| zope.decorator | E,B,D | ok | |
| zope.deferredimport | E,B,D | ok | |
| zope.deprecation | E,B,D | ok | |
| zope.documenttemplate | E,B,D | ok | |
| zope.dottedname | E,B,D | ok | |
| zope.dublincore | E,B,D | ok | |
| zope.error | E,B,D | zope.app.appsetup, zope.app.container | |
| zope.event | E,B,D | ok | |
| zope.exceptions | E,B,D | ok | |
| zope.filerepresentation | E,B,D | zope.app.container | |
| zope.formlib | E,B,D | zope.app.container, zope.app.form, zope.app.pagetemplate, zope.app.zcmlfiles | |
| zope.hookable | E,B,D | ok | |
| zope.html | E,B,D | ok | |
| zope.i18n | E,B,D | ok | |
| zope.i18nmessageid | E,B,D | ok | |
| zope.index | E,B,D | ok | |
| zope.interface | E,B,D | ok | |
| zope.lifecycleevent | E,B,D | ok | |
| zope.location | E,B,D | ok | |
| zope.minmax | E,B,D | ok | |
| zope.modulealias | E,B,D | ok | |
| zope.pagetemplate | E,B,D | ok | |
| zope.proxy | E,B,D | ok | |
| zope.publisher | E,B,D | ok | |
| zope.rdb | E,B,D | zope.app.container | |
| zope.schema | E,B,D | ok | |
| zope.security | E,B,D | ok | |
| zope.sendmail | E,B,D | ZODB3, zope.app.component | |
| zope.sequencesort | E,B,D | ok | |
| zope.server | E,B,D | ok | |
| zope.size | E,B,D | ok | |
| zope.structuredtext | E,B,D | ok | |
| zope.tal | E,B,D | ok | |
| zope.tales | E,B,D | ok | |
| zope.testbrowser | E,B,D | ok | |
| zope.testing | E,B,D | ok | |
| zope.testrecorder | E,B,D | zope.app.publisher | |
| zope.thread | E,B,D | ok | |
| zope.traversing | E,B,D | ct@gocept.com | zope.app.applicationcontrol |
| zope.viewlet | E,B,D | rj@gocept.com | zope.app.pagetemplate, zope.app.publisher |
| zope.xmlpickle | E,B,D | ok | |
| zope.app | N/A | No egg for this package it is a namespace | |
| zope.app.apidoc | E,B,D | ||
| zope.app.applicationcontrol | E,B,D | ||
| zope.app.appsetup | E,B,D | ||
| zope.app.authentication | E,B,D | ||
| zope.app.basicskin | E,B,D | ||
| zope.app.boston | E,B,D | ||
| zope.app.broken | E,B,D | ||
| zope.app.cache | E,B,D | ||
| zope.app.catalog | E,B,D | ||
| zope.app.component | E,B,D | ||
| zope.app.container | E,B,D | ||
| zope.app.content | E,B,D | ||
| zope.app.css | E,D | ||
| zope.app.dav | E,B,D | ||
| zope.app.debug | E,B,D | ||
| zope.app.dependable | E,B,D | ||
| zope.app.dtmlpage | E,B,D | ||
| zope.app.error | E,B,D | ||
| zope.app.exception | E,B,D | ||
| zope.app.externaleditor | E,B,D | ||
| zope.app.file | E,B,D | ||
| zope.app.folder | E,B,D | ||
| zope.app.form | E,B,D | ||
| zope.app.ftp | E,B,D | ||
| zope.app.generations | E,B,D | ||
| zope.app.http | E,B,D | ||
| zope.app.i18n | E,B,D | ||
| zope.app.i18nfile | E,B,D | ||
| zope.app.interface | E,B,D | ||
| zope.app.interpreter | E,B,D | ||
| zope.app.intid | E,B,D | ||
| zope.app.keyreference | E,B,D | ||
| zope.app.layers | E,B,D | ||
| zope.app.locales | E,B,D | ||
| zope.app.module | E,B,D | ||
| zope.app.onlinehelp | E,B,D | ||
| zope.app.pagetemplate | E,B,D | ||
| zope.app.pluggableauth | E,B,D | ||
| zope.app.preference | E,B,D | ||
| zope.app.preview | E,D | ||
| zope.app.principalannotation | E,B,D | ||
| zope.app.publication | E,B,D | ||
| zope.app.publisher | E,B,D | ||
| zope.app.renderer | E,B,D | ||
| zope.app.rotterdam | E,B,D | ||
| zope.app.schema | E,B,D | ||
| zope.app.security | E,B,D | ||
| zope.app.securitypolicy | E,B,D | ||
| zope.app.server | E,B,D | ||
| zope.app.session | E,B,D | ||
| zope.app.skins | E,B,D | ||
| zope.app.testing | E,B,D | ||
| zope.app.tree | E,B,D | ||
| zope.app.undo | E,B,D | ||
| zope.app.wsgi | E,B,D | ||
| zope.app.zapi | E,B,D | ||
| zope.app.zcmlfiles | E,B,D | ||
| zope.app.zopeappgenerations | E,B,D | ||
| zope.app.zptpage | E,B,D |
Implementation Details
Replace packagename with respective package names below.
Packages should be committed to svn://svn.zope.org/repos/main/zope.packagename/trunk
Also there should be these directories:
- svn://svn.zope.org/repos/main/zope.packagename/branches - svn://svn.zope.org/repos/main/zope.packagename/tagsA typical top directory will have these files:
bootstrap.py buildout.cfg README.txt setup.py setup.cfg src/Under src, create a zope directory with an __init__.py with this content:
# namespace package boilerplate try: __import__('pkg_resources').declare_namespace(__name__) except ImportError, e: from pkgutil import extend_path __path__ = extend_path(__path__, __name__)Set svn:ignore property of top directory like this:
bin build develop-eggs dist eggs lib parts .installed.cfgSet svn:ignore property of src directory like this:
zope.packagename.egg-infoSet svn:externals property in src/zope (or src/zope/app) to include a line like this:
packagename svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/packagenameIf any other packages are required to compile the current package, create an include package under main directory, and set svn:externals property to the package required. Look at zope.security package for more info. This is needed to pick up the C headers from the other package; the finished egg will not include the code from such packages.
Risks
None identified.
Implementation status
All necessary packages are eggified and buildout support has been added.
Comments
... --seletz, Thu, 26 Oct 2006 12:11:28 -0700 reply
Please color-code the tables. Red/Green sort of color codes ;)
