Yesterday I made a change to the Zope 3 trunk that changes how the
ZCML slugs from the package-includes/ directory are handled.
If you're not accustomed to using "make" to build the software (at
least on non-Windows platforms), you might want to run "make" at least
Here's what changed: The ZCML slug files are now provided by the
packages themselves rather than being commited in package-includes/.
The slugs from the packages are installed into
zopeskel/etc/package-includes/ (which was previously empty), and the
site.zcml and ftesting.zcml look there to load them. This is done
using the distutils "install_data" command. The makefile adds this to
the build for you; you can run this directly if you prefer.
When adding or modifying ZCML slugs, it is important to make the
changes in the package and not in zopeskel/etc/package-includes/, or
"svn stat" won't notice the change. This means that all changes and
additions of slugs require that the install_data command is run before
running the tests or starting Zope.
Here's why we changed things: The old setup.py (before revision 37889
for the trunk) contained a lot of very specific code that understood
how to build the software, even though much of it was also included in
the metadata files used by zpkg. This duplicated information and made
it more difficult to add packages to Zope 3 since the build
information had to be added in two different locations. This
requirement has now been removed; the build information for a package
is now stored entirely within the package.
(One goal is to be able to use zpkg for Zope 2 as well, so keeping
build information within the packages is essential.)
Fred L. Drake, Jr. <fdrake at gmail.com>
Zope3-dev mailing list