On Tue, Jun 14, 2005 at 07:29:59PM +0200, Knut Yrvin wrote:
<snip/>
> 8 new persons was tending the gathering. 5 of them would contribute to
> the next version. There came 3 new translators. Many had considerable
> experience with Linux, and was quick to catch up. We focused on the
> next version of Skolelinux to get the config-files at the right place,
> and choose the right strategy. A lot of translation and quality
> insurance were also done.
That reminds me to discus ( exchange opinions ) about less hard coded
configuration files.
There are a lot 'skolelinux.no' and 'dc=skolelinux,dc=no' strings
in the config files.
Another strange thing ( in the vision of an administrator who has seen
many other Unix / Linux systems ) are the symbolic links to debian-edu
files. Such as /etc/ldap/slapd.conf pointing to /etc/ldap/slapd-debian-edu.conf
But back to hard coded skolelinux strings.
What I would like to see is a construction that uses .in files,
same idea as autoconf does. Have a look at this unified diff:
--- root.ldif 2004-05-25 20:58:38.000000000 +0200
+++ root.ldif.in 2005-06-19 19:00:18.000000000 +0200
@@ -1,16 +1,16 @@
-dn: dc=skole,dc=skolelinux,dc=no
+dn: $BASEDN
objectClass: top
objectClass: dcObject
-dc: skole
+dc: $DC
objectClass: organization
-o: skole.skolelinux.no
+o: $FDN
-dn: ou=Attic,dc=skole,dc=skolelinux,dc=no
+dn: ou=Attic,$BASEDN
objectClass: top
objectClass: organizationalUnit
ou: Attic
-dn: ou=Machines,ou=People,dc=skole,dc=skolelinux,dc=no
+dn: ou=Machines,ou=People,$BASEDN
objectClass: top
objectClass: organizationalUnit
ou: Machines
@@ -53,7 +53,7 @@
description: LDAP Administrator
userPassword: {crypt}$ROOTPW
-dn: cn=admins,ou=Group,dc=skole,dc=skolelinux,dc=no
+dn: cn=admins,ou=Group,$BASEDN
objectClass: top
objectClass: posixGroup
objectClass: lisGroup
"root.ldif" is from current package debian-edu-config,
and "root.ldif.in" from requested package debian-edu-config.
This will effect the ldap-install script like
--- /usr/bin/ldap-debian-edu-install.0.397 2004-06-30
17:06:47.000000000 +0200
+++ /usr/bin/ldap-debian-edu-install 2005-06-19 19:33:47.000000000
+0200
@@ -10,16 +10,23 @@
exit 9
fi
+BASEDN=$( debconf code to be build )
+DC=$( debconf code to be build )
+DOMAIN=$( debconf code to be build )
+
# Init tree
init_ldap () {
rm -f /var/lib/ldap/*
for ldif in \
- /etc/ldap/root.ldif \
- /etc/ldap/netgroup.ldif \
- /etc/ldap/autofs.ldif
+ /etc/ldap/root.ldif.in \
+ /etc/ldap/netgroup.ldif.in \
+ /etc/ldap/autofs.ldif.in
do
if (PW=`cat /etc/shadow | grep ^root \
| cut -d':' -f2`; sed s:\$ROOTPW:$PW:) < $ldif \
+ | sed s:\$BASEDN:$BASEDN: \
+ | sed s:\$DC:$DC: \
+ | sed s:\$DOMAIN:$DOMAIN: \
| /usr/sbin/slapadd
then
:
@@ -37,7 +44,7 @@
/etc/init.d/slapd stop
if slapcat \
- |grep 'dn: cn=all-hosts,ou=Netgroup,dc=skole,dc=skolelinux,dc=no' \
+ |grep "dn: cn=all-hosts,ou=Netgroup,${BASEDN}" \
>/dev/null 2>&1
then
echo "Found existing data: skiping initalization"
What are the opinions about this idea?
Cheers
Geert Stappers
Attachment:
signature.asc
Description: Digital signature