[sugar] Python: distutils, setuptools, packages, etc
Marco Pesenti Gritti
Wed Sep 27 18:04:48 EDT 2006
Ian Bicking wrote:
> So, the other topic about package layout, is if and how OLPC should
> use distutils and/or setuptools.
> Right now, honestly, I don't understand the Sugar build process (not
> jhbuild so much as the sugar package itself). I assume it makes sense
> to people familiar with auto* and the configure/make/make install
> pattern. Honestly I'm not one of those people, so maybe the current
> system handles requirements I'm unaware of.
> Anyway, the conventional way to distribute and install a package in
> Python is with distutils. This involves a file setup.py in the root
> of the package, which describes the package and anything in the build
> process (for pure-Python packages it's very short). It handles
> compiling extensions as well, but without as much flexibility as
> configure, or as efficient as make. But in practice it seems to be
> enough flexibility, and certainly enough for OLPC. And you just have
> a setup.py file, without any other build-related files, which I
> personally appreciate.
I can't comment on the technical merits of distutils since I never used
them. Generally everyone hates auto* but as Dan mention it's a very
Anyway the reason we chose automake to start with was:
- All the sugar dependencies use it. There is some value in a consistent
build system for the whole software stack.
- The whole GNOME tools ecosystem is based on auto*. Just think about
jhbuild or pkg-config.
- Sugar will end up being a mix of C and python code.
- We are familiar with it.
Still I think it might bw worth considering distutils as one of the
option for external activities. It might just be easier for people that
are not familiar with auto*. In general I think the bundles
specification should be kept independent from any build system (and I
think it is atm)
More information about the Sugar-devel