Enabling standardized debconf preseeding in base-config
I sat down to look at base-config today, and to try to add code for
getting a standardized way to pre-seed the debconf database on first
time installs. This is my first try.
The debconf-seed.mnu file should make sure this seeding is done as
early as possible in the process. I choosed order 5 to make sure it
was before the currently first entry (10 - intro). I believe
pre-seeding should be done every time base-config is executed, and
that it is safe to do so with packages using debconf correctly (ie not
as a register but as a way to ask questions). I'm not sure if the
'debconf: true' setting is correct. This is my suggested
debconf-seed.mnu:
Only-New: false
Debconf: true
Order: 5
The script to load the values is simple. The only design issue is
where to place the files and how to report errors. Do you have better
suggestions?
#!/bin/sh
#
# Load debconf values before installation is started, to allow
# pre-seeding of debconf answers.
SEEDDIR=/usr/share/base-config/debconf-seed
if [ ! -d $SEEDDIR ] ; then
exit 0
fi
for file in $SEEDDIR/*; do
if debconf-get-selections -c $file ; then
echo "error: Failed to load debconf values from '$file'."
else
debconf-get-selections $file
fi
done
Joey, do you think this is the right approach? I considered script
fragments in the SEEDDIR, but decided against it. If the pre-loading
need logic to decide which values to load, it should be done in a
base-config script instead.
Reply to: