Subject: Making pkgsrc more robust
To: None <tech-pkg@netbsd.org>
From: Roland Illig <rillig@NetBSD.org>
List: tech-pkg
Date: 01/21/2006 12:49:26
Hi,
to make pkgsrc (in general; especially the bulk builds) more robust
against unforeseen errors, I'd like to add the command "set -e -u" at
the top of every shell program that is used in the pkgsrc infrastructure.
The -e option terminates the program as soon as a command fails, which
is much more often appropriate than just continuing. The current shell
programs contain lots of lines like:
cd "$some_directory"
do_something
So what should be done if the directory $some_directory is not accessible?
The -u option terminates the program as soon as an uninitialized
variable is used. This prevents from spelling mistakes. If you want to
use a possibly-undefined variable, you can provide a default value using
${possibly_undefined_variable-default_value} instead of
$possibly_undefined_variable.
Together these two options will probably make pkgsrc break more often
than before, but almost always at points where the error checking had
not be done in the past. These points must be fixed anyway, so this is
just a help to find them early.
Roland