[Aptitude-devel] Towards a better build system

Miles Bader miles at gnu.org
Thu Apr 29 15:29:11 UTC 2010

Daniel Burrows <dburrows at debian.org> writes:
>> 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'm not saying that programmability isn't good, just that the particular
_type_ of programmability (e.g. good data structure support and fast
execution vs. something /bin/sh, which is not particularly sophisticated
but gets the job done for simple tasks) isn't so important in this case.
You're not writing a compiler, after all, you're writing little tweaks;
the tradeoffs involved are very different.

>> [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.

It's easy to imagine a "modern posix system" without it, although you're
probably right for "modern linux distro".  In the particular case of
aptitude, maybe it's only ever built on full installations etc., but
that sort of thing makes it bad idea to standardize on something like
scons (well, from your description, scons sounds like a lose just
generally, so maybe nobody would want to anyway), and being able to
standardize on a build system (not changing from project to project!)
is very nice.

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

Yes.  Still a stupidly bloated dependency.  [I think something like Lua,
which gives the same benefits without the bloat would be much more



More information about the Aptitude-devel mailing list