[Distutils] PEP 376 for Distutils

Floris Bruynooghe floris.bruynooghe at gmail.com
Thu Feb 26 12:33:28 CET 2009


2009/2/25 P.J. Eby <pje at telecommunity.com>:
> At 10:03 PM 2/25/2009 +0000, Floris Bruynooghe wrote:
>>
>> It's interesting to point out what seems to be planned for Debian:
>> http://lists.debian.org/debian-devel/2009/02/msg00431.html
>>
>> Quoting just the relevant part:
>>
>> """
>> Local installation path
>> -----------------------
>>
>> When installing Python modules using distutils, the resulting files
>> end up in the same location wether they are installed by a Debian
>> package, or by a local user or administrator, unless the installation
>> path is overwritten on the command line.  Compare this with most
>> software based on autoconf, where an explicit prefix has to be
>> provided for the packaging, while the default install installs into
>> /usr/local.  For new Python versions packaged in Debian this will
>> change so that an installation into /usr (not /usr/local) requires an
>> extra option to distutils install command (--install-layout=deb).  To
>> avoid breaking the packaging of existing code the distutils install
>> command for 2.4 and 2.5 will just accept this option and ignore it.
>
> I wonder why they don't just use the sitewide distutils.cfg file, which
> would let them configure user-installed packages to go to somewhere else,
> e.g.:
>
> [install]
> prefix = /usr/local
>
> (And of course the build tools could specify different options.)

There might be an issue with this while building python itself.  I
remember having issues failing to build python because I had

[install]
home=/home/flub

in my .pydistutils.cfg.  When python is building and installing it's
standard library it uses distutils and having that in my configuration
file messed everything up and the builds failed (this was both when
building the upstream tarball as well as rebuilding the debian
package).  This is all IIRC however, I'd have to try this again to
remind me of the exact issues (thinking about it now this is probably
because python's makefile doesn't invoke setup.py with enough options
to be sure to overwrite the configuration file).

So you'd have to build-conflict against python, which would be
annoying at best, but you also need python to build python these days
(again IIRC, might be possible to get round this) so you're stuck.


Regards
Floris


-- 
Debian GNU/Linux -- The Power of Freedom
www.debian.org | www.gnu.org | www.kernel.org


More information about the Distutils-SIG mailing list