[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