how GNU stow is complementary rather than alternative to distutils
Nick Craig-Wood
nick at craig-wood.com
Mon May 11 05:30:04 EDT 2009
Zooko Wilcox-O'Hearn <zooko at zooko.com> wrote:
> On May 10, 2009, at 11:18 AM, Martin v. Löwis wrote:
>
> > If GNU stow solves all your problems, why do you want to use
> > easy_install in the first place?
>
> That's a good question. The answer is that there are two separate
> jobs: building executables and putting them in a directory structure
> of the appropriate shape for your system is one job, and installing
> or uninstalling that tree into your system is another. GNU stow does
> only the latter.
>
> The input to GNU stow is a set of executables, library files, etc.,
> in a directory tree that is of the right shape for your system. For
> example, if you are on a Linux system, then your scripts all need to
> be in $prefix/bin/, your shared libs should be in $prefix/lib, your
> Python packages ought to be in $prefix/lib/python$x.$y/site-
> packages/, etc. GNU stow is blissfully ignorant about all issues of
> building binaries, and choosing where to place files, etc. -- that's
> the job of the build system of the package, e.g. the "./configure --
> prefix=foo && make && make install" for most C packages, or the
> "python ./setup.py install --prefix=foo" for Python packages using
> distutils (footnote 1).
>
> Once GNU stow has the well-shaped directory which is the output of
> the build process, then it follows a very dumb, completely reversible
> (uninstallable) process of symlinking those files into the system
> directory structure.
Once you've got that well formed directory structure it is very easy
to make it into a package (eg deb or rpm) so that idea is useful in
general for package managers, not just stow.
--
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick
More information about the Python-list
mailing list