[Distutils] permissions and GNU stow (was: PEP 376 for Distutils)
zooko at zooko.com
Wed Feb 25 04:42:39 CET 2009
On Feb 24, 2009, at 12:48 PM, Andrew Straw wrote:
> But that is already implemented via file/dir permissions.
That's what's beautiful about GNU stow. Look:
sudo mkdir /usr/local/stow/grozz
sudo chown `whoami` /usr/local/stow/grozz
python ./setup.py install --prefix=/usr/local/stow/grozz # LOOK NO SUDO
sudo stow grozz
The important point is that the install process doesn't have
permission to write into the system, but GNU stow does. GNU stow is
more trusted to behave well than the install scripts of the grozz
package are, and it is extremely simple and fail-safe -- all it does
is make symlinks from /usr/local/x/y -> /usr/local/stow/grozz/x/y .
Note that GNU stow can therefore completely and correctly *uninstall*
everything that it installed, by examining all of /usr/local looking
for symlinks into /usr/local/stow/grozz and removing them.
(Therefore it doesn't need a "RECORD" file -- the filesystem itself
contains the exact record.)
I hope that this new distutils work will make it possible to use GNU
stow to manage Python packages (by making it so that installation
consists only of *adding* files to the system, not requiring
*editing* files such as .pth files).
Tahoe, the Least-Authority Filesystem -- http://allmydata.org
store your data: $10/month -- http://allmydata.com/?tracking=zsig
More information about the Distutils-SIG