maintainer mode

Andrew Tridgell tridge at samba.anu.edu.au
Sat Oct 31 13:37:34 GMT 1998


> ...
> The main argument against it is that there is a reduced number
> of source files, all compiled with the same commands, so there's no
> reason to use a tool that would require us to create Makefiles in
> every single directory 

that's not my main objection. I think my main objection is that a
build process should be either foolproof or transparent
(ie. easily debugged). I have yet to see a foolproof one so a
transparent one is all that left.

I have had heaps of problems over the years building packages where
the build systems (Makefiles etc) try to be very clever and fail. Then
I spend a large amount of frustrating time trying to work out how to
get the damn package to build on my often weird system. I'm not a
wizard with shell scripts and make but I'm also not a beginner. I
can't imagine what the beginners must go through.

The problems I had generally weren't with packages that use automake
(I don't remember building any automake based packages recently) but
I've certainly had heaps of problems with packages that try to do
recursive make and stuff it up. I'm sure it works on the systems it
was tested on so maybe I just have weird systems.

What I've learnt to appreciate is really simple, easy to follow
Makefiles that make it easy to fix problems. Editing a Makefile to fix
a CFLAGS macro is easy. Editing it in 10 subdirectories becomes a
pain. It gets even worse when some rule decides that the carefully
hand edited Makefile is out of date and clobbers it.

autoconf doesn't hurt things too much because it generates a clean,
easy to edit Makefile, but I hope you understand my reticence to trust
an automated system to build a tree of Makefiles from a description
file. If it goes wrong then how does the poor sysadmin go about
building the package? We can expect them to have a rudimentary
knowledge of make but we can't expect them to know all the arcane
stuff that gets generated by automated systems.

maybe I just haven't had enough experience with packages that use
automake yet. 




More information about the samba-technical mailing list