On Jun 9, 2009, at 12:52 AM, David Lyon wrote:
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.....
The point is, getting past the trivial stuff, building packages for different systems is hard, maintaining the code to build packages to other systems is way way harder. For example, Tarek may be using OS/2 warp (Its just an example people) and for him to maintain the rpm/deb/mpkg/win32_inst stuff is actually impossible, so he wants that people on those platforms to take responsability for a little part of distutils so when rpm-ng 6.0 comes either red hat people would say that building python package is not supported or they are going to update the rpm code which is external to disutils. The point is not exactly cross compilation, but cross maintaining of distribution specific code. The only way this actually works now, I would guess, is because rpm format hasn't changed much, and win32_inst has a huge user base. -- Leonardo Santagada santagada at gmail.com