Re: Proposal: Automatic query servicing for dpkg installation scripts
Andreas <firstname.lastname@example.org> writes:
>wouldn't it be better to not ask any question at all as part of the
>core installation process?
I suggest that we need, primarily, three things:
1) The package installer should be able to get configuration
information from several places:
- a same-host database
- a database on a specified host
- default answers supplied with the package
- from the sysadmin (interactive)
2) The sysadmin should be able to specify a set of rules for where the
information should come from. The source could depend on
- the host being installed to
- the package being installed
- the specific question for a specific package
- whether the package is new or an upgrade
There could also be several default methods, of specified priorities.
The package installer would try each in turn. If using a database,
the installer would supply answers like "expect". Any method could
fail (including interactive, if the sysadmin does not know an answer),
and the installer should leave that package in an unconfigured state.
Providing this fallback is critical, because it lets the installer
handle a mixed collection of ordinary and database-aware packages.
3) There should be several ways to load a database. The installer
should be able to monitor interactive installations and record the
sysadmin's answers. If the installer is told to get answers from a
database, but a configuration script asks a question for which the
database has no answer, then that configuration fails. However, the
question should also be added to the database. The sysadmin could use
a tool like the kernel's menuconfig to review these questions and
supply answers later. He should also be able to copy answers from one
database to another on a per-package basis.
We should invent a debian/questions file which supplies the possible
configuration questions, legal answers for the multiple choice
questions, and default answers. (The kernel configuration files might
be a good place to start.) All this data would be automatically added
to the database at package installation time. Developers should also
have a tool to generate an initial debian/questions file from the
There are several ways to employ these tools:
Current Debian Installation Style - The only source of information
RedHat Installation Style - The only source of information is
Hands-off Installation - Specify no sources of information, so all
interactive configurations would fail. The sysadmin would answer the
questions in a later interactive configuration pass, by filling in the
answers to recorded questions, by fetching answers from a database on
another host, or some combination.
Copycat Installation - Specify a database on another machine as first
priority, and interactive as second priority.
Many-Host Installation - Specify the local database as first
priority (preloaded with host-specific data, like the IP number),
and a database on another machine as second priority.
- Jim Van Zandt
To UNSUBSCRIBE, email to email@example.com
with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org