Parcourir la source

blindly add optional support for replication service via slurpd(8)

Ralf S. Engelschall il y a 22 ans
Parent
commit
82719e3052
4 fichiers modifiés avec 41 ajouts et 9 suppressions
  1. 1 1
      openldap/fsl.openldap
  2. 25 0
      openldap/openldap.patch
  3. 1 1
      openldap/openldap.spec
  4. 14 7
      openldap/rc.openldap

+ 1 - 1
openldap/fsl.openldap

@@ -2,7 +2,7 @@
 ##  fsl.openldap -- OSSP fsl configuration
 ##
 
-ident (slap.*)/.+ q{
+ident (slap.*|slurp.*)/.+ q{
     prefix(
         prefix="%b %d %H:%M:%S %N <%L> $1[%P]: "
     )

+ 25 - 0
openldap/openldap.patch

@@ -0,0 +1,25 @@
+Index: servers/slapd/slapd.conf
+--- servers/slapd/slapd.conf.orig	2003-05-25 01:19:14.000000000 +0200
++++ servers/slapd/slapd.conf	2003-11-14 20:27:06.000000000 +0100
+@@ -64,4 +64,21 @@
+ # Mode 700 recommended.
+ directory	%LOCALSTATEDIR%/openldap-data
+ # Indices to maintain
++
+ index	objectClass	eq
++
++#######################################################################
++# replication via slurpd(8)
++#######################################################################
++
++# master server configuration
++#replogfile      %LOCALSTATEDIR%/replog
++#replica-pidfile %LOCALSTATEDIR%/slurpd.pid
++#replica         host=slave.example.com:389
++#                binddn="cn=admin,dc=example,dc=org"
++#                bindmethod=simple credentials=secret
++
++# slave server(s) configuration
++#updatedn        "cn=admin,dc=example,dc=org"
++#updateref       ldap://master.example.org
++

+ 1 - 1
openldap/openldap.spec

@@ -33,7 +33,7 @@ Distribution: OpenPKG [BASE]
 Group:        Database
 License:      GPL
 Version:      2.1.23
-Release:      20031013
+Release:      20031114
 
 #   package options
 %option       with_fsl  yes

+ 14 - 7
openldap/rc.openldap

@@ -14,16 +14,21 @@
     openldap_log_complevel="9"
 
 %common
-    openldap_pidfile="@l_prefix@/var/openldap/slapd.pid"
-    openldap_signal () {
-        [ -f $openldap_pidfile ] && kill -$1 `cat $openldap_pidfile`
+    openldap_slapd_cfgfile="@l_prefix@/etc/openldap/slapd.conf"
+    openldap_slapd_pidfile="@l_prefix@/var/openldap/slapd.pid"
+    openldap_slurpd_pidfile="@l_prefix@/var/openldap/slurpd.pid"
+    openldap_slapd_signal () {
+        [ -f $openldap_slapd_pidfile ] && kill -$1 `cat $openldap_slapd_pidfile`
+    }
+    openldap_slurpd_signal () {
+        [ -f $openldap_slurpd_pidfile ] && kill -$1 `cat $openldap_slurpd_pidfile`
     }
 
 %status -u @l_susr@ -o
     openldap_usable="unknown"
     openldap_active="no"
     rcService openldap enable yes && \
-        openldap_signal 0 && openldap_active="yes"
+        openldap_slapd_signal 0 && openldap_active="yes"
     echo "openldap_enable=\"$openldap_enable\""
     echo "openldap_usable=\"$openldap_usable\""
     echo "openldap_active=\"$openldap_active\""
@@ -37,11 +42,15 @@
         flags="$flags -h $openldap_url"
     fi
     @l_prefix@/libexec/openldap/slapd $flags
+    if [ ".`grep '^replogfile' $openldap_slapd_cfgfile`" != . ]; then
+        @l_prefix@/libexec/openldap/slurpd
+    fi
 
 %stop -u @l_susr@
     rcService openldap enable yes || exit 0
     rcService openldap active no  && exit 0
-    openldap_signal INT
+    openldap_slapd_signal INT
+    openldap_slurpd_signal INT
     sleep 2
 
 %restart -u @l_susr@
@@ -51,8 +60,6 @@
 
 %daily -u @l_susr@
     rcService openldap enable yes || exit 0
-
-    #   rotate logfile
     shtool rotate -f \
         -n ${openldap_log_numfiles} -s ${openldap_log_minsize} -d \
         -z ${openldap_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \