[Distutils] [Python Language Summit] Distutils / Packaging survey

David Cournapeau david at ar.media.kyoto-u.ac.jp
Wed Jan 28 12:35:03 CET 2009


Tarek Ziadé wrote:
> On Wed, Jan 28, 2009 at 12:05 PM, David Cournapeau
> <david at ar.media.kyoto-u.ac.jp> wrote:
>   
>> Tarek Ziadé wrote:
>>     
>>> On Wed, Jan 28, 2009 at 11:45 AM, David Cournapeau
>>> <david at ar.media.kyoto-u.ac.jp> wrote:
>>>
>>>       
>>>> It is a solved problem: autoconf does it well, and has all the required
>>>> features,
>>>>
>>>>         
>>> So does it mean that having Distutils generate some kind of
>>> "configure.in" template that could
>>> be used by autoconf could be the right approach ?
>>>
>>>       
>> I meant that instead of installing almost everything indistinctly like
>> we do now with distutils/setuptools, we should have something like:
>>
>> python setup.py install --bindir=foodir --sbindir=bardir --mandir=mandir
>> ....
>>     
>
> Sounds like new metadata to me

Yes - sorry if I don't use the right terms. Although I am quite familiar
with distutils for the build parts (compilation and co) from my work on
numpy/scipy, I am not so familiar with the installation parts and its
vocabulary.

>  but besides the executable scripts location,
> how would you deal with man file from the Python developer point of view ?
>   

What's the problem with man files for python developers ? I am not
saying that any developer is required to add a manpage, only that if
she/he does though, that should be marked as man.

That's quite simple, really: the python developer should not - does not
-  have to care about FHS, windows, mac os X, whatever, only about
marking correctly the different files: mark the pdf as pdf, html doc as
html, etc... so that the *user* (the one executing setup.py) can choose
whatever he wants, like for autoconf. You *can* do ./configure
--mandir=bla --bindir=foo, but most people are fine with ./configure
--prefix.

It also means if the developer made a mistake in the setup.py, the
package maintainer can fix the problem in the setup.py, and sent a patch
upstream (so any platform is fixed). IMHO, that's really a part of
distutils where explicitly avoiding any policy (where to install what)
makes sense, and should be relatively easy to implement.


> Yes that was my example (the log file), and the feature needeed to have it
> should be thaught and implemented on its own, because setuptools's
> pkg_resources
> does myriad of things.
>   

Maybe, I don't claim to be familiar with pkg_resources - I am not a user
of setuptools, except when I am forced to.

> Would you like to write down a detail description of that feature as well ?

I am not sure I will have time to do it - I may underestimate the
difficult of some things because I am not familiar with distutils
implementation for install-related commands. Doing a description without
any design proposal would certainly be possible, though.

cheers,

David



More information about the Distutils-SIG mailing list