Thomas Lotterer пре 23 година
родитељ
комит
1bcb027850
3 измењених фајлова са 63 додато и 8 уклоњено
  1. 15 0
      openldap/fsl.openldap
  2. 33 8
      openldap/openldap.spec
  3. 15 0
      openldap/rc.openldap

+ 15 - 0
openldap/fsl.openldap

@@ -0,0 +1,15 @@
+##
+##  fsl.openldap -- OSSP fsl configuration
+##
+
+ident (slap.*)/.+ q{
+    prefix(
+        prefix="%b %d %H:%M:%S %N <%L> $1[%P]: "
+    ) 
+    -> {
+        debug: file(
+            path="@l_prefix@/var/openldap/openldap.log",
+            append=1, perm=0644
+        )
+    }
+};

+ 33 - 8
openldap/openldap.spec

@@ -33,20 +33,26 @@ Distribution: OpenPKG [BASE]
 Group:        Database
 License:      GPL
 Version:      2.1.22
-Release:      20030627
+Release:      20030701
 
 #   package options
+%option       with_fsl  yes
 %option       with_sasl no
 
 #   list of sources
 Source0:      ftp://ftp.openldap.org/pub/openldap/openldap-release/openldap-%{version}.tgz
 Source1:      rc.openldap
+Source2:      fsl.openldap
 
 #   build information
 Prefix:       %{l_prefix}
 BuildRoot:    %{l_buildroot}
-BuildPreReq:  OpenPKG, openpkg >= 20020206, openssl, db >= 4.1.24, make, gcc
-PreReq:       OpenPKG, openpkg >= 20020206
+BuildPreReq:  OpenPKG, openpkg >= 20030415, openssl, db >= 4.1.24, make, gcc
+PreReq:       OpenPKG, openpkg >= 20030415
+%if "%{with_fsl}" == "yes"
+BuildPreReq:  fsl
+PreReq:       fsl
+%endif
 %if "%{with_sasl}" == "yes"
 BuildPreReq:  sasl
 PreReq:       sasl
@@ -81,7 +87,8 @@ AutoReqProv:  no
     CC="%{l_cc}" \
     CFLAGS="%{l_cflags -O}" \
     CPPFLAGS="$cf" \
-    LDFLAGS="%{l_ldflags}" \
+    LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \
+    LIBS="%{l_fsl_libs}" \
     ./configure \
         --prefix=%{l_prefix} \
         --localstatedir=%{l_prefix}/var/openldap \
@@ -102,16 +109,34 @@ AutoReqProv:  no
 
 %install
     rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/var/%{name}
     %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT"
     rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/openldap/*.default
     rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/openldap/*/*.default
-    %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/openldap
-    %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
-    %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
+
+    #   Creating run-command script
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+    %{l_shtool} install -c -m 755 \
+        -e 's;@l_prefix@;%{l_prefix};g' \
         -e 's;@l_susr@;%{l_susr};g' \
-        %{SOURCE rc.openldap} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+        -e 's;@l_rusr@;%{l_rusr};g' \
+        -e 's;@l_rgrp@;%{l_rgrp};g' \
+        %{SOURCE rc.%{name}} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
+    #   OSSP fake syslog library
+    %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
+    %{l_shtool} install -c -m 644 \
+        -e 's;@l_prefix@;%{l_prefix};g' \
+        %{SOURCE fsl.%{name}} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
+
+    #   determine installation files
     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
         %{l_files_std} \
+        '%not %dir %{l_prefix}/etc/fsl' \
+        '%config %{l_prefix}/etc/fsl/fsl.%{name}' \
         '%config %{l_prefix}/etc/openldap/*.conf'
 
 %files -f files

+ 15 - 0
openldap/rc.openldap

@@ -5,6 +5,11 @@
 
 %config
     openldap_enable="yes"
+    openldap_log_prolog="true"
+    openldap_log_epilog="true"
+    openldap_log_numfiles="10"
+    openldap_log_minsize="1M"
+    openldap_log_complevel="9"
 
 %start -p 200 -u @l_susr@
     opServiceEnabled openldap || exit 0
@@ -20,3 +25,13 @@
     sleep 2
     @l_prefix@/libexec/slapd
 
+%daily -u @l_susr@
+    opServiceEnabled openldap || exit 0
+
+    #   rotate logfile
+    shtool rotate -f \
+        -n${openldap_log_numfiles} -s${openldap_log_minsize} -d \
+        -z${openldap_log_complevel} -o@l_rusr@ -g@l_rgrp@ -m644 \
+        -P "${openldap_log_prolog}" \
+        -E "${openldap_log_epilog}" \
+        @l_prefix@/var/openldap/openldap.log