[66] in athena10
Making our CDBS modules portable to other sites
daemon@ATHENA.MIT.EDU (Tim Abbott)
Wed Jan 30 03:51:15 2008
Date: Wed, 30 Jan 2008 03:50:33 -0500 (EST)
From: Tim Abbott <tabbott@MIT.EDU>
To: athena10@MIT.EDU
Message-ID: <Pine.LNX.4.64L.0801300252060.23541@yaz-pistachio.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
I've been thinking about the problem of making our system for making
Debian configuration packages (i.e. our CDBS modules) useful to other
organizations. The changes that I think would need to be done would
include:
1) adding DEBATHENA_DIVERT_SUFFIX=.debathena to all our config package
rules files, and making DEBATHENA_DIVERT_SUFFIX default to something more
generically appropriate like .divert in debathena-divert.mk.
2) Renaming all the variables that start with DEBATHENA_ to start with
DEBIAN_, to fit in with the other CDBS modules. So,
DEBATHENA_DIVERT_SUFFIX would become DEBIAN_DIVERT_SUFFIX. This step
would involve changing all of our packagings to use the new variable
names, and thus only makes sense to do once our system ends up in Debian
upstream.
3) Doing something intelligent if someone tries to install two different
configuration packages that divert and expect to control a configuration
file (say, /etc/ldap/ldap.conf). One idea is to try to use the
update-alternatives mechanism to allow users to select which such
configuration file they get. This probably can only lead to suffering,
however, because when designing configuration packages one generally
assumes some coupling between the packages that may be broken by this.
The strategy that I currently prefer is to automatically add Provides: and
Conflicts: lines for some encoding into valid package name characters of
the diverted filename, i.e. add to anything diverting /etc/ldap/ldap.conf
through our system something like:
Provides: configures-etc++ldap++ldap.conf
Conflicts: configures-etc++ldap++ldap.conf
(I have a general injective encoding in mind). This would mean that any
two packages from different sites using our system would conflict with
each other if and only if they wanted to configure the same file.
I'd appreciate any comments on this (relatively long-term) plan.
-Tim Abbott