Packaging Zope 2.12
Michael Mulich
mrm41 at psu.edu
Tue Jul 27 01:07:10 UTC 2010
On 7/20/10 6:14 PM, Jonas Meurer wrote:
> Hey Michael,
>
> On 14/07/2010 Michael Mulich wrote:
>>
>> ... snip ...
>>
>
> I for sure can help you with packaging issues, but unfortunately I don't
> know much about buildout and all that distutils stuff. Maybe we can work
> together in order to package zope2.12, that would be awesome.
>
Sounds like a plan.
> Do you know the pkg-zope SVN repository? It already has a zope2.12
> directory, but I guess that most of debian/rules (the makefile used to
> build the package) needs to be rewritten. You can find the repos at
> svn://svn.debian.org/svn/pkg-zope/zope2.12
>
Thanks for the link. I found the repository the other day. I decided to
fork the zope2.12 package for now, but would be more than willing to
work on the package in the debian repo if someone can give me access.
> If I got it right, the main difference between zope2.11 and zope2.12
> build system is, that zope2.12 no longer contains the required zope
> dependencies (libraries developed for zope). Instead it uses some
> buildout receipe to fetch these dependencies as python eggs, and builds
> something like a full python environment, including all required python
> dependencies.
>
Right. My latest stab has been to create a buildout recipe that will
isolate these dependencies.[0] I've tried to solve the dependency issue
without using buildout, but I'm tired of fighting that battle, so I've
embraced the buildout. I intend to use this isolation recipe to populate
a python environment (or virtual environment) rather than trying to
build Zope inside the that environment.
The isolation recipe has three deliverables that are relevant to the
packaging of zope:
1) The distribution packages and any dependencies are placed in a
directory.
2) A .pth file, which is basically a list of paths where these
packages are located, is created; and placed by default along side the
packages.
3) The scripts that get generated from these distributions are
placed into a separate directory.
I created a document that somewhat illustrates the new build process for
the zope2.12 package.[1] Rather than repeat all that here, I'll just
supply the link at the end of this email under number [1]. But for
completeness, the gist of it is that we can use the .pth file to pull
all the zope dependencies into a single python environment.
> So one issue with packaging is how to make the dependencies available to
> the build process. Fetching them from internet is not an option at all.
> Unfortunately the dependencies break even for minor version changes (in
> other words: they don't ensure backwards compability), thus packaging
> all the zope libs as seperate packages is not an option either. Thus the
> only option is to distribute all required eggs within the zope package
> tarball, which is a bad solution security-wise.
>
Can you elaborate on why that would be "bad solution security-wise".
> Another issue is how to build the zope/python environment in a FHS
> compliant way: placing the different parts of zope (libraries, logs,
> configs) at places similar to legacy zope versions: with relative paths,
> using the system python interpreter instead of a local copy, etc.
>
This is the part I'm still fuzzy on. I'm not very familiar with the
legacy zope setup. I currently use the zope2.10 package, and I'm only
somewhat somewhat familiar with that.
> And last but not least instances need to be seperated from the global
> zope2.12 files in a similar way as done up to zope2.11. continuing
> support for the debian 'dzhandle' utility for managing zope instances,
> products and extensions should be the goal.
>
I'll have to think about this a bit more. I decided early on in this
process that I was going to abandon Products support, because 1) Plone
has decided to remove the products section from it's default buildout 2)
the unified installer has done this as well. Therefore, I think it would
be easier for us to drop the Products stuff. But I would like to add
support for adding distributes (aka eggs) much like products are added
currently.
> greetings,
> jonas
Thanks for the support Jonas!
I'd be grateful if a few people could look over the document [1] and let
me know if there are any glaring misunderstandings and/or missing
pieces. Thanks.
[0]
https://weblion.psu.edu/trac/weblion/browser/weblion/buildout.recipe.isolation?rev=12091
[1]
https://weblion.psu.edu/trac/weblion/browser/users/mrm41/zope2.12-debian_packaging_notes.rst?rev=12092
-Michael Mulich (pumazi)
More information about the pkg-zope-developers
mailing list