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

breaking up base-config

I've just uploaded base-config 0.50, which should close all known
RC bugs. That is just the beginning of what I want to do with the
package for woody though.

Base-config has always been a stopgap measure. The real plan is to allow
any package that needs to be configured when a newly installed debian
system boots up, to do (using debconf[1]). So the various bits of
base-config really belong in other packages:

* the md5/shadow stuff belongs in passwd or pam or something
* the root password/new user stuff in passwd (or something like that)
* the apt setup stuff in apt
* the ppp configuration stuff in pppconfig (well it is; base-config just
  runs it. It doesn't use debconf, but I don't really care.)
* the timezone configuration stuff[2] in timezones
* the pcmcia removal stuff in pcmcia (?)

This leaves the following stuff, which doesn't seem to have a good home
outside base-config:

* dbootstrap_settings reading
* package selection (tasks, dselect, anxious) and installation
* final messages

All of the above is mixed together in one package right now, which is
really a hideous mess. To break it up, what I want to do is let packages
use debconf, so when they are reconfigured, they handle stuff in the
first list. For example, the root password prompt would work like this:

  The passwd package gets a configure script. The configure script checks 
  to see if there is a root password, and checks to see if there is a user
  account. If not, it prompts for the info using debconf, and then the
  postinst script makes them.

  Since we don't want to bother users about this every time passwd is
  upgraded (they may have a valid reason for not having a root password ;-),
  the config script only does its thing when it is reconfigured.
  There is a line in inittab on a freshly installed system that runs
  base-config. Base-config is now just a program that iterates through a
  list of packages and reconfigures them using debconf. passwd is added
  to that list in the appropriate place[3], and we're done.

I would actually like to start with moving the password/new
user/shadow/md5 stuff out into passwd or some other appropriate package,
if Ben is willing. After that I'd be happy to unload the apt setup
stuff, and the rest of the list.

see shy jo

[1] Using debconf is not required, it's just a good idea; we want to
    present a consistent post-installation interface.
[2] It's not in base-config, but we are moving it out of dbootstrap.
[3] Order matters.

Reply to: