[Aptitude-devel] Towards a better build system

Daniel Burrows dburrows at debian.org
Thu Apr 29 14:06:57 UTC 2010

On Thu, Apr 29, 2010 at 05:15:09PM +0900, Miles Bader <miles at gnu.org> was heard to say:
> Daniel Burrows <dburrows at debian.org> writes:
> >   scons has (IMO) a really good idea at its core, namely using a real
> > programming language to define the build.
> Is this actually an important thing for a build system?  Do you find you
> actually need to do significant amount of "real programming" to build
> aptitude?

  If you can't do "real programming", it becomes very difficult to
customize the build system to your needs, which every nontrivial project
I've worked on eventually needs or wants to do.  In an ideal world where
the build system authors predicted everything you wanted and provided it
out of the box, I guess you don't need access to a programming language.
I haven't seen a build system like that yet, although I'm prepared to be
surprised with cmake.

  I may feel more strongly about the need to customize the build system
because I interact with it on a daily basis; in a way it's my "user
interface" to aptitude.  Things like having to jump through more hoops
to build with different compile flags are minor annoyances, but I've
been living with them for ten years.  If I'm going to seriously rethink
how aptitude is built, I'm not going to settle for an answer that
doesn't fix them.  I'm also nervous about getting stuck with another
system that's painful to customize the next time I want to tweak it.

> [Remember, something like python is _also_ a significant dependency --
> python is not small.]

  Yes, but I have trouble imagining a modern UNIX-like without Python,
and it doesn't really make sense to build aptitude anywhere but on a
modern POSIX system.  And considering that I also require apt, sigc++,
log4cxx, boost, GTK+, and some libraries built on GTK+, I personally
think Python is the least of the bootstrapping problems.

  Remember also that this is only a *build-time* dependency.  Aptitude
doesn't need Python at run-time.


More information about the Aptitude-devel mailing list