[Distutils] Setuptools' goal in rpm/deb-based systems

Kevin Dangoor dangoor at gmail.com
Thu Dec 29 16:51:24 CET 2005


On 12/29/05, Jeff Pitman <jeff.pitman at gmail.com> wrote:
> On 12/29/05, Kevin Dangoor <dangoor at gmail.com> wrote:
> > On 12/29/05, Jeff Pitman <jeff.pitman at gmail.com> wrote:
> > > (Because turbogears script generation is not trivial
> > > to package. I think I'll just include a generated script as one of the
> > > Sources, for now.)
> >
> > Note that TurboGears 0.9 absolutely needs to run as a proper egg.
> > (When you say you're including the generated script as part of the
> > sources, I'm not sure if that means that you're bypassing the egg
> > packaging entirely...)
>
> It's just /usr/bin/tg-admin.

Oh, OK. If that's all you did, that shouldn't pose a problem.

> > The problem is with the missing metadata. setuptools doesn't know what
> > version of SQLObject that is, and TurboGears most definitely requires
> > 0.7 and up. I think the goal is ultimately to have system-installed
> > .debs/.rpms that are also eggs (with the proper metadata).
>
> Do you mean package the egg-info in with the rpm/deb?

I believe that's what Phillip's recent changes have been about. They
provide a way to put the egg metadata inside the package directory so
that it can install like a traditional package but still have the
appropriate metadata. I'll stop commenting at this point, though,
because Phillip's the authoritative source and I've never had to
personally walk down the path of packaging an egg up into something
else.

> BTW, TurboGears
> needs to be installed as rpm to ever be included in Fedora Extras (and
> as .deb in Debian/Ubuntu land). This is a matter of policy. And people
> are very wary about pollution of system directories like /usr.
> Technically, files updated during runtime should go in /var (like
> logs, state, and crap).

Absolutely.

> > TurboGears
> > 0.9 makes use of setuptools' extension mechanism which is why the egg
> > metadata needs to be available.
>
> During runtime or during installation?

During runtime. Certain parts of TurboGears can be extended just by
installing an egg with the additional functionality. TurboGears itself
uses this mechanism to define the base pieces. (tg-admin commands are
an example of this: anyone can create an egg that adds tg-admin
commands. the existing commands are all defined in the same way that a
user would create commands.)

Kevin


More information about the Distutils-SIG mailing list