Hi everybody!
Many great people provided great comments and ideas to my thought and
the picture gets bigger. Another twist is added by the fact that it's
holiday time here in Italy, and I have eaten and drunk things that no
English words to my knowledge can describe :)
You made me discover that my thoughts were limited in may ways; among
others I considered ifupdown the main center for profile detection and
reconfiguration, and I supposed that all the possible system
configurations could be represented by many distinct profiles.
The problem gets bigger and involves many (still independent) parts of
Debian: apmd, acpid, network tools, pppd, pcmcia-cs, hotplug are some
examples of parts of Debian that cause or detect changes on the system
and provide hooks to react to them, and more can be expected to be added
in the future. Reacting to IrDA discoveries comes to mind, as well as
deploying a tool to enable some services based on user requests (take a
look to http://reshare.sf.net for an example of a tool to manage such
requests. Ready to be added to Debian if needed, btw.).
Right now there are utilities to scratch many of the itches related to
this, but Debian seems not to have a masterplan to define its behaviour
for a system that should react to a changing configuration.
Maybe I should retarget my thoughts and start addressing this whole
issue? In fact, right now we already have some problems: pppd scripts
might need to be filled with `if's checking if other network
connectivity is present, and start some network services only depending
on if the system is running on AC power or if a given PCMCIA hard drive
is present. A DNS or a network route might need to be reconfigured by
pppd, pcmcia-cs and network-detection tools. At the current state of
things this things, if pushed, can easily lead to a mess.
Maybe it's time to design a tool that gathers all notification of the
changes that happen in the system and provides the user with a single
point to program the logic to react to them, and standardize it in such
a way that other parts of Debian can interact with it? With it we could
have tools specialized for detection, tools specialized for
reconfiguration and a central point that can do the coordination to make
them work together.
I can easily see that the issue will become more important in the
future, as outplugging devices will become more popular and Linux
systems will be deployed in environments that require more flexibility.
Am I still under the effects of my wonder-lunch (anyone here is invided
should you pass in the nearby) or is there some logic in all this?
If there is, I'm ready to get to work.
Bye, Enrico
P.S.
In the meantime, we might still like to think about merging efforts to
share functionalities with all the network detection tools, and it would
still be an interesting work. Unluckily I won't have access to
whereami until tuesday so I can't make studies right now,
besides proposing to extract the link-beat detection code from
laptop-net in a daemon that launches a script when the link goes up or
down on a given interface and let users hook their preferred tool to it.
--
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@debian.org>