apt-class WAS: fai next level
Jens Ruehmkorf
ruehmkorf at informatik.Uni-Koeln.DE
Thu Nov 15 02:34:53 CET 2001
> How about "apt-class"?
I wouldn't use anything in the apt or dpkg namespace.
> Looking into the problem slightly further, it looks like the easiest
> solution is to write out a selections file that could be installed via
> dpkg --set-selections and then use a apt-get dselect-upgrade to
> actually initiate the upgrade.
FAI's install_packages can already do what you want, although I find
dselect-upgrade somewhat irritating. OK it aims at "apt-get
dselect-upgrade", but you can use it for other things as well.
> It should be pretty easy to parse the current FAI package_config file
> format.
Yup, using regex in C
> * A package can have the following desired install states: install, hold,
> deinstall, purge, and unknown.
You'd have to think whether it's good to mix package "selection states"
(={install, deinstall, purge}) with package "flags" (={hold}). It's a
different concept. With "unknown" you probably don't mean a regular state
but an internal state that might occur.
> * To prevent a package from being automatically upgraded it would have
> to be placed in the "held" state, things in the unknown or install
> states get upgraded.
See above. Besides that use /etc/apt/preferences more extensively, it
is much more powerful in some cases because of its use of regexes.
> * apt-get dselect-upgrade can deal with constructing the dependency list.
> * apt-get dselect-upgrade ignores package names that don't exist in
> the available database. (solving the original problem with apt-get)
> * there really isn't any error handling of packages not being in the
> archive.
>
> I was thinking of writing it in either C++ or Python, any preferences?
* use python/perl for easier maintanance, it probably makes sense to use
perl for use with fai
* use C for wide usability (you could think of integrating it into
debian-installer/boot-floppies once). Portability is no problem.
> Also what can be done about packages that are reading/writing to the
> console? The best solution I thought of is to provide a timer that
> can either kill the install or send email after some delay. However for
> the email to be useful the program would need to provide a way for the
> sysadmin to log into the machine and connect to the apt-get session.
Could you specify this somewhat further?
> What do people think of the rough outline of the proposed program?
some nice thoughts
--
Jens
More information about the linux-fai
mailing list