[Zope3-dev] Building standalone ZPT from Zope 3 using zpkgtools

Jim Fulton jim at zope.com
Fri Apr 22 09:26:44 EDT 2005


Shane Hathaway wrote:
> Shane Hathaway wrote:
> 
>>Jim Fulton wrote:
>>
>>
>>>Thanks for the positive feedback. Fred Drake worked very hard
>>>on this.  One thing we did right was to leverage distutils
>>>ability to build binary releases.  I'm also encouraged by work done
>>>at the recent PyCon sprints that someday we'll even have a packaging
>>>system, for Python that will allow us to make installation of packages
>>>much easier too.
>>
>>
>>FWIW, my original reason for trying Gentoo Linux was to evaluate its
>>packaging system, Portage, which is written in Python.  I intended to
>>grab ideas and incorporate them into a new packaging system, but Portage
>>turned out to be so good that I switched to Gentoo and stopped designing
>>my own system.  Portage also leverages distutils and can produce/consume
>>binary packages.
>>
>>Have you thought about porting Portage, or something like it, for use as
>>a general Python package management system?
> 
> 
> BTW, I'll give you an escape hatch. ;-)  Portage is licensed under the
> GPL, which probably excludes it from the Python standard library.

Too bad.  It's possible that is surmountable somehow.

> I'm sure Fred is doing excellent work, but I'm having trouble seeing why
> we need zpkgtools.  Is it not sufficient to just "python setup.py
> install" all of Zope 3? 

I hope so.  What zpkgtools does is to:

- Build our setup.py script (which we name install.py) for us based
   on meta data.  In that sense, it is a setup.py-development tool.

- Allow us more flexibility in deciding what a release is by allowing
   us to specify what to include in a release and make sure other things
   are included to make sure we distribute what we need.

Also, by providing dependincies as meta-data files, we:

- We are making design-level commitments about interdependencies, and

- We are taking a step towards being able to have an automated package
   system that will someday allow releases and updates to be smaller,
   more automated, and easier to keep up to date.

 > I've been doing that with Zope 3 Subversion
> checkouts and Twisted, even though I actually use less than 10% of the
> code installed.  In fact, my co-workers are about to put such a system
> into production.  The unused code causes no problems that I've detected.

Note that we plan to make the checkout setup.py zpkgtools-based
evenually, so we don't have to maintain it.

I want to be very selective about what we put in a release. I only
want to release packages that we are willing to provide support for.
There are lots of packages in the repository that we haven't made
such a commitment for. zpkgtools gives us the ability to control
what we include.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list