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

[Devel] Changing the Skolelinux configuration...



At the moment, the skolelinux configuration is done using different
methods at install time:

 - Loading debconf answers before packages are installed and
   configured (base-config-skolelinux)

 - Editing configuration files (cfengine-skolelinux)

 - Copying replacement configuration files in place of current one
   (cfengine-skolelinux)

 - Symlinking from config files to replacement files
   (cfengine-skolelinux)

 - Creating / modifying config files on the fly
   (base-config-skolelinux).

The prefered method is to use debconf answers.  But all these methods
give problems when upgrading packages, both Skolelinux packages and
Debian packages.

There are several problems at the moment.  One is the fact that
changes to the skolelinux master configuration file are not propagated
into the local copy when the cfengine-skolelinux package is upgraded.
This could be solved by using symlinks instead of copying the file
into place.  Symlinks are now used for the LDAP configuration, and
this method should work just fine when doing upgrades while avoiding
conflicts with the packages we configure.  I suggest following the
format used in ldap-skolelinux:

  /etc/<file>.conf -> /etc/<file>-skolelinux.conf

All the files in cf/masterfiles/ must then be installed into the
correct location in the package, and the cfengine-script will only
take care of creating the symlink.  Would this be a good idea?

Another problem is that the new debconf answers are only activated
when the package is installed, and that new or corrected debconf
answers do not take effect it the package is already installed.  I do
not know how to solve this.  One idea is to load the debconf answers
from postinst in base-config-skolelinux, and call 'dpkg-reconfigure
<package>' for all packages configured by base-config-skolelinux when
the package is installed.  This would make it possible to get some of
the configuration activated without running base-config.