Re: Registries and such ..
Greetings again from down unda ...
The segestion of the perl based Windows style registry was
interesting but I think you
have missed my point a little . The idea that Im trying to get across
isnt related to the
individual configurations of each package . That is , the individual
configurations for each
package are in well defined places ( ie /etc , /usr/etc and such as
perscribed by fsstd 2.0 ) .
I agree that there are many useable configuration tools available (
such as Registry.pl
and Linuxconf ) to assist the user / sysadmin in configuring the
individual programs with
the results usually residing in .conf and rc files . No point in
defining what is already defined .
To this end I have attatched a bad description by using the word
'registry' . The
concept of a registry in Windows more refers to the configured state of
programs installed on a given PC . For a correspondence of what I am
trying to get at ,
think of the add/remove programs section of the Windows configuration
panel , as
a somewhat simple example .
However what does not seem to be defined is a general consensus on
where and in what
format to place the information on what is actually installed on a given
machine , what those
packages depend on and what state the build environment of the machine
is in . Since the two
main methods of package distribution comes down to pre-compiled packages
of various flavours
and the humble source tree , what I am segesting is that an
agreement should be reached as to
where such overall system information could be stored . Possibly in
the hope that maybe , for
example , when a configure script goes to generate a makefile for
building a program , it could
refer to a given place where information such as what Libs are present ,
what compilers / makers
are present , is the make program broken , is the compiler POSIX
compiant and so on is stored .
When the makefile actually installs the program , it could then add its
own record to the
'state archive' to simply indicate that it is present and that it
depends on libs / programs x,y, and z
for its correct function . Extending the concept , the makefile
could even leave an uninstall
script lying around that removes said package along with its 'state
archive' entry to indicate
that it is no longer present on the machine .
If the pre-compiled package formats can agree on a single place to
put such info , then
they can utilize this information and update it as necesary as well .
Of course when a package is installed that affects the build environment
of a given machine
(such as a new compiler or make program ) it would need to run a
conformance script ( such
as the configure scripts created by autoconf ) to establish the nature
of the compiler / make
program and then store the results . It is something that is done
already when a program is built
from source . The difference is that instead of running the conformance
sections for every
program built on a machine , it only needs to be run once when a new
compiler or maker is
installed on a machine .
Something like this would have to be the result of all parties involved
agreeing on a standard
place to put such info so that all packaging methods can call on such
info and update as
needed . The end result would be that no matter wether one installs a
package from a deb file ,
an rpm file a tar.gz file or from source , the results of that
installation can be recorded used
for future reference . Especially noting that software writers would
like this since a
consistent archive can be called upon to assess the state of a machine
that is about to
have software installed upon it and that adequate steps can be taken to
installation and successfull operation .
From this point , then a linuxconf style program or Registry program
can go to work to
actually configure the individual package to suit its new
Clear as mud now ??
Cheers Mik Voase .
( Last time , Im running away and hiding under my rock now ... bye )