[Zope3-dev] Re: More thoughts on packaging

Shane Hathaway shane at zope.com
Sat Feb 14 17:34:05 EST 2004


On Fri, 13 Feb 2004, Jeff Kowalczyk wrote:

> Gentoo's python-based portage system has a lot to offer as inspiration
> for a Zope-specific packaging system.
> 
> (snip)
> 
> 'ebuild' package definitions are the basic commodity traded
> among Gentoo integrators, and comprise the metadata, dependencies,
> code-maturity tag, source locations and build steps for a given package.

ebuilds are pretty neat.  They serve the same purpose as RPM .spec files,
but they are much more concise.  Although ebuilds are shell scripts, they
have enough automation to make them mostly declarative.  Merely for
discussion, I'll share most of plone-1.0.5.ebuild (installed on any Gentoo
system at /usr/portage/net-zope/plone).  Plone is probably the most
complex open source application built on Zope 2, yet it doesn't take much
to express its packaging.

---
DESCRIPTION="A Zope Content Management System, based on Zope CMF."
HOMEPAGE="http://plone.org"
SRC_URI="mirror://sourceforge/plone/CMFPlone${PV}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="x86"
RDEPEND="=net-zope/cmf-1.3*
        >=net-zope/formulator-1.2.0
        ${RDEPEND}"
---

SRC_URI specifies how to download the tarball in an automated way.  
KEYWORDS specifies the maturity of the package.  "x86" means that this
package has passed stability tests on the x86 architecture.  RDEPEND
specifies what other packages this package depends on.  CMF version 1.3 is
required (1.4 is disallowed).  Formulator 1.2 or better is required.  
Note that the text of the ebuild doesn't actually specify the version of
Plone.  The version is encoded in the ebuild's filename.

Most Zope product ebuilds are similar.

Shane



More information about the Zope3-dev mailing list