[Distutils] formencode as .egg in Debian ??
Phillip J. Eby
pje at telecommunity.com
Thu Nov 24 00:59:28 CET 2005
At 12:25 AM 11/24/2005 +0100, Matthias Urlichs wrote:
>Phillip J. Eby:
> > I'm also debating whether this option should also require the --record
> > option, since there might otherwise be no way for an external packaging
> > tool to know which files and directories belong to the installed package.
> >
>Sure there is -- you install with --root (in Debian's case it's usually
>$pwd/debian/tmp), which was empty before you started, and declare that
>*all* files in there belong to the package you're creating. Or you use
>an external LD_PRELOADed file installation logger.
>
>Thus you could simply declare that somebody who does that either
>deserves to shoot themselves in the foot, or has a valid reason to do it
Yeah, although historically I've preferred in such cases to require a
further option like --yes-i-want-to-shoot-my-foot in order to enable
foot-directed shooting features. It tends to keep people with holes in
their feet from complaining afterwards. :)
>(maybe I'm testing the latest version and don't want to fill my system
>with .pth files pointing to my development directories -- I, for one,
>*will* forget to delete them afterwards
Well, they'll be overwritten when you change what version you're using, and
ignored if you've deleted the source tree, and there'll only be one such
file in the first place unless you're using the easy_deb approach of a
directory full of them.
> ... on the other hand, the mess
>I just created will nicely clean up after itself when I install the next
>official version on top, assuming I managed not to install random
>additional files).
I'm not sure if you mean if you install the new proposed way, or the
existing setuptools way. In the existing setuptools way, your mess is
strictly in your source tree or inside an .egg file or directory, so
there's nothing to clean up except maybe a meaningless line in your
easy-install.pth, which will indeed be cleaned up if you install an
official version.
In the new way, overwriting stuff in site-packages seems like a good way to
implement the holes-in-feet protocol. :)
Maybe what I should do is require *either* --root (which should in that
case point to an empty directory) or --record in conjunction with
--single-version-externally-managed. I don't really want to condone using
this option in place of "setup.py develop", especially since the latter at
least has an --uninstall option. :)
More information about the Distutils-SIG
mailing list