[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