[Distutils] Packaging: bdist_deb patches / platform specific code

David Lyon david.lyon at preisshare.net
Tue Jun 9 05:52:49 CEST 2009


On Tue, 09 Jun 2009 12:20:17 +0900, David Cournapeau
>> Don't forget, cygwin runs under windows
> 
> And how does that help to build a linux binary ?

I wasn't thinking of it for building binaries.. rather
using various packaging tools that could be adapted or
compiled from source to run. 

Not all distributions need to be binary executables.
> 
>> , and wine runs under linux
>>   
> 
> Yes, but Visual Studio does not. So you are out of luck if you need full
> compatibility with pre-built python binaries on python.org. It works
> almost ok with mingw, but not always - and it is far from working well
> on windows 64 bits BTW.

Yes. Point taken.

But not everybody is building C extensions for python.

A lot of python libraries are built with absolutely no C code within
them at all.

> Anyway, as long as distutils works under windows, distutils will work
> under wine - the problem is the toolchain, not distutils.

Yes. That's correct.

>> Cross compiling has been common practice for the last 30 years.
> 
> And still hard to get right. That should certainly not be built in
> distutils - 

Well distutils already has partial support for it.

And the alternative being disccused here is removing the platform 
specific code.

quoting
http://docs.python.org/distutils/builtdist.html#cross-compiling-on-windows

"A built distribution is how you make life as easy as possible for
installers of your module distribution: for users of RPM-based Linux
systems, it’s a binary RPM; for Windows users, it’s an executable
installer; for Debian-based Linux users, it’s a Debian package; and so
forth. Obviously, no one person will be able to create built distributions
for every platform under the sun, so the Distutils are designed to enable
module developers to concentrate on their specialty—writing code and
creating source distributions"

>> At a minimum, distutils should be able to create an .egg that will
>> work on every system.
> 
> Before implementing things that no other system has ever done, we should
> focus on basic things that distutils cannot do today and are expected
> from a build/distribution tool.

I'm just reading the distutils documentation.....

The documentation is setting an expectation...

Yes - you can be expected to work towards the goals that are documented
within your project.

Change the documentation and don't promise it if it is not going to
be delivered.....

> Those are hard problems to get right, saying that it is not hard because
> it is just moving files and scripts does not really help. That's like
> saying programming is easy because it is just inputting characters in a
> text file.

yeah - but there are clever people working on this stuff....

They should be encouraged to work towards the solution as documented.

David



More information about the Distutils-SIG mailing list