[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: