gunnar: server/perl-kolab/Kolab-Conf Conf.pm.in,1.12,1.13

cvs at kolab.org cvs at kolab.org
Tue Jul 31 13:54:35 CEST 2007


Author: gunnar

Update of /kolabrepository/server/perl-kolab/Kolab-Conf
In directory doto:/tmp/cvs-serv26549/perl-kolab/Kolab-Conf

Modified Files:
	Conf.pm.in 
Log Message:
Removed knowledge of the kolabd package from the Kolab.pm script.

Index: Conf.pm.in
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab-Conf/Conf.pm.in,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Conf.pm.in	17 Jul 2007 15:07:15 -0000	1.12
+++ Conf.pm.in	31 Jul 2007 11:54:33 -0000	1.13
@@ -49,7 +49,6 @@
         &buildLDAPReplicas
         &rebuildTemplates
 	&checkPermissions
-        %haschanged
     ) ]
 );
 
@@ -76,99 +75,7 @@
 my %ownership = ();
 my %permissions = ();
 my %templatehaschanged = ();
-
-# my %templates = (
-# 		 "$templatedir/rc.conf.template" => "@sysconfdir@/rc.conf",
-# 		 "$templatedir/session_vars.php.template" => "@phplibdir2@/admin/include/session_vars.php",
-# 		 "$templatedir/clamd.conf.template" => "@clamav_confdir@/clamd.conf",
-# 		 "$templatedir/freshclam.conf.template" => "@clamav_confdir@/freshclam.conf",
-# 		 "$templatedir/amavisd.conf.template" => "@amavisd_conffile@",
-# 		 "$templatedir/main.cf.template" => "@emailserver_confdir@/main.cf@",
-# 		 "$templatedir/ldapdistlist.cf.template" => "@emailserver_confdir@/ldapdistlist.cf",
-# 		 "$templatedir/ldaptransport.cf.template" => "@emailserver_confdir@/ldaptransport.cf",
-# 		 "$templatedir/ldapvirtual.cf.template" => "@emailserver_confdir@/ldapvirtual.cf",
-# 		 "$templatedir/master.cf.template" => "@emailserver_confdir@/master.cf",
-# 		 "$templatedir/transport.template" => "@emailserver_confdir@/transport",
-# 		 "$templatedir/virtual.template" => "@emailserver_confdir@/virtual",
-# 		 "$templatedir/saslauthd.conf.template" => "@sasl_authdconffile@",
-# 		 "$templatedir/imapd.conf.template" => "@imap_confdir@/imapd.conf",
-# 		 "$templatedir/imapd.group.template" => "@imap_confdir@/imapd.group",
-# 		 "$templatedir/cyrus.conf.template" => "@imap_confdir@/cyrus.conf",
-# 		 "$templatedir/httpd.conf.template" => "@webserver_confdir@/apache.conf",
-# 		 "$templatedir/httpd.local.template" => "@webserver_confdir@/apache.local",
-# 		 "$templatedir/php.ini.template" => "@phpini_dir@/php.ini",
-# 		 "$templatedir/proftpd.conf.template" => "@ftpserver_confdir@/proftpd.conf",
-# 		 "$templatedir/ldap.conf.template" => "@sysconfdir@/openldap/ldap.conf",
-# 		 "$templatedir/slapd.conf.template" => "@sysconfdir@/openldap/slapd.conf",
-# 		 "$templatedir/slapd.access.template" => "@sysconfdir@/openldap/slapd.access",
-# 		 "$templatedir/slapd.replicas.template" => "@sysconfdir@/openldap/slapd.replicas",
-# 		 "$templatedir/DB_CONFIG.slapd.template" => "@ldapserver_dir@/DB_CONFIG",
-# 		 "$templatedir/freebusy.conf.template" => "@resmgr_confdir@/freebusy.conf",
-# 		 "$templatedir/fbview.conf.template" => "@resmgr_confdir@/fbview.conf",
-# 		 "$templatedir/resmgr.conf.template" => "@resmgr_confdir@/resmgr.conf"
-# 		);
-
-# my %permissions = (
-# 		   "@sysconfdir@/rc.conf"                                  => 0644,
-# 		   "@phplibdir2@/admin/include/session_vars.php"      => 0640,
-# 		   "@resmgr_confdir@/freebusy.conf"                     => 0640,
-# 		   "@resmgr_confdir@/fbview.conf"                       => 0640,
-# 		   "@resmgr_confdir@/resmgr.conf"                       => 0640,
-# 		   "@emailserver_confdir@/main.cf"                          => 0644,
-# 		   "@emailserver_confdir@/ldapdistlist.cf"                  => 0640,
-# 		   "@emailserver_confdir@/ldaptransport.cf"                 => 0640,
-# 		   "@emailserver_confdir@/ldapvirtual.cf"                   => 0640,
-# 		   "@emailserver_confdir@/master.cf"                        => 0640,
-# 		   "@clamav_confdir@/clamd.conf"                           => 0640,
-# 		   "@clamav_confdir@/freshclam.conf"                       => 0640,
-# 		   "@sysconfdir@/amavisd/amavisd.conf"                     => 0640,
-# 		   "@sasl_authdconffile@"                         => 0600,
-# 		   "@imap_confdir@/imapd.conf"                             => oct('@imap_confperm@'),
-# 		   "@webserver_confdir@/apache.conf"                       => 0640,
-# 		   "@webserver_confdir@/apache.local"                      => 0640,
-# 		   "@phpini_dir@/php.ini"  		                          => 0640,
-# 		   "@ftpserver_confdir@/proftpd.conf"                      => 0640,
-# 		   "@sysconfdir@/openldap/slapd.conf"                      => 0640,
-# 		   "@sysconfdir@/openldap/slapd.access"                    => 0640,
-# 		   "@sysconfdir@/openldap/slapd.replicas"                  => 0640,
-# 		   "@ldapserver_dir@/DB_CONFIG"                            => 0640,
-# 		   "@sysconfdir@/openldap/ldap.conf"                       => 0644,
-# 		   "@emailserver_confdir@/transport"                        => 0640,
-# 		   "@emailserver_confdir@/virtual"                          => 0640,
-# 		   "@imap_confdir@/cyrus.conf"                             => oct('@imap_confperm@'),
-# 		   "@imap_confdir@/imapd.group"                            => oct('@imap_confperm@'));
-
-# my %ownership = (
-# 		 "@sysconfdir@/rc.conf"                                  => "kolab:kolab",
-# 		 "@phplibdir2@/admin/include/session_vars.php"      => "kolab:kolab-n",
-# 		 "@resmgr_confdir@/freebusy.conf"                     => "kolab:kolab-n",
-# 		 "@resmgr_confdir@/fbview.conf"                       => "kolab:kolab-n",
-# 		 "@resmgr_confdir@/resmgr.conf"                       => "kolab:kolab-n",
-# 		 "@emailserver_confdir@/main.cf"                          => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@emailserver_confdir@/ldapdistlist.cf"                  => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@emailserver_confdir@/ldaptransport.cf"                 => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@emailserver_confdir@/ldapvirtual.cf"                   => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@emailserver_confdir@/master.cf"                        => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@clamav_confdir@/clamd.conf"                           => "kolab:kolab-r",
-# 		 "@clamav_confdir@/freshclam.conf"                       => "kolab:kolab-r",
-# 		 "@amavisd_conffile@"                                    => "kolab:kolab-r",
-# 		 "@sasl_authdconffile@"                                  => "kolab:kolab",
-# 		 "@imap_confdir@/imapd.conf"                             => "@imap_usr@:@imap_grp@",
-# 		 "@webserver_confdir@/apache.conf"                       => "kolab:kolab-n",
-# 		 "@webserver_confdir@/apache.local"                      => "kolab:kolab-n",
-# 		 "@phpini_dir/php.ini"                        			   => "kolab:kolab-n",
-# 		 "@ftpserver_confdir@/proftpd.conf"                      => "kolab:kolab-n",
-# 		 "@sysconfdir@/openldap/ldap.conf"                       => "@ldapserver_usr@:@ldapserver_grp@",
-# 		 "@sysconfdir@/openldap/slapd.conf"                      => "@ldapserver_usr@:@ldapserver_grp@",
-# 		 "@sysconfdir@/openldap/slapd.access"                    => "@ldapserver_usr@:@ldapserver_grp@",
-# 		 "@sysconfdir@/openldap/slapd.replicas"                  => "@ldapserver_usr@:@ldapserver_grp@",
-# 		 "@ldapserver_dir@/DB_CONFIG"                            => "@ldapserver_usr@:@ldapserver_grp@",
-# 		 "@emailserver_confdir@/transport"                        => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@emailserver_confdir@/virtual"                          => "@emailserver_usr@:@emailserver_grp@",
-# 		 "@imap_confdir@/cyrus.conf"                             => "@imap_usr@:@imap_grp@",
-# 		 "@imap_confdir@/imapd.group"                            => "@imap_usr@:@imap_grp@");
-
-
+my %haschanged = ();
 
 sub fixup {
    my $file = shift;
@@ -325,21 +232,21 @@
         chomp($rc);
         if ($rc) {
             if ($cfg =~ /postfix/) {
-                $Kolab::haschanged{'postfix'} = 1;
+                $haschanged{'postfix'} = 1;
             } elsif ($cfg =~ /saslauthd/) {
-                $Kolab::haschanged{'saslauthd'} = 1;
+                $haschanged{'saslauthd'} = 1;
             } elsif ($cfg =~ /apache2/) {
-                $Kolab::haschanged{'apache2'} = 1;
+                $haschanged{'apache2'} = 1;
             } elsif ($cfg =~ /proftpd/) {
-                $Kolab::haschanged{'proftpd'} = 1;
+                $haschanged{'proftpd'} = 1;
             } elsif ($cfg =~ /openldap/) {
-                $Kolab::haschanged{'slapd'} = 1;
+                $haschanged{'slapd'} = 1;
             } elsif ($cfg =~ /imapd/) {
-                $Kolab::haschanged{'imapd'} = 1;
+                $haschanged{'imapd'} = 1;
 	    } elsif ($cfg =~ /amavisd/) {
-                $Kolab::haschanged{'amavisd'} = 1;
+                $haschanged{'amavisd'} = 1;
 	    } elsif ($cfg =~ /clamav/) {
-                $Kolab::haschanged{'clamav'} = 1;
+                $haschanged{'clamav'} = 1;
 #} elsif ($cfg =~ /example/) {
 	    } else {
             	   Kolab::log('T', "`$cfg' change detected ", KOLAB_DEBUG );
@@ -428,10 +335,10 @@
         chomp($rc);
         if ($rc) {
            Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
-           $Kolab::haschanged{'postfix'} = 1;
+           $haschanged{'postfix'} = 1;
         }
     } else {
-        $Kolab::haschanged{'postfix'} = 1;
+        $haschanged{'postfix'} = 1;
     }
 
     Kolab::log('T', 'Finished building Postfix $map map', KOLAB_DEBUG);
@@ -507,10 +414,10 @@
         chomp($rc);
         if ($rc) {
            Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
-           $Kolab::haschanged{'imapd'} = 1;
+           $haschanged{'imapd'} = 1;
         }
     } else {
-        $Kolab::haschanged{'imapd'} = 1;
+        $haschanged{'imapd'} = 1;
     }
 
     Kolab::log('T', 'Finished building Cyrus config', KOLAB_DEBUG);
@@ -668,10 +575,10 @@
         chomp($rc);
         if ($rc) {
            Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
-           $Kolab::haschanged{'slapd'} = 1;
+           $haschanged{'slapd'} = 1;
         }
     } else {
-        $Kolab::haschanged{'slapd'} = 1;
+        $haschanged{'slapd'} = 1;
     }
 
     fixup( $cfg, $ownership{$cfg}, $permissions{$cfg});
@@ -723,10 +630,10 @@
         chomp($rc);
         if ($rc) {
            Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
-           $Kolab::haschanged{'slapd'} = 1;
+           $haschanged{'slapd'} = 1;
         }
     } else {
-        $Kolab::haschanged{'slapd'} = 1;
+        $haschanged{'slapd'} = 1;
     }
 
     Kolab::log('T', 'Finished building LDAP replicas', KOLAB_DEBUG);
@@ -868,6 +775,61 @@
       }
   }
   return $ok;
+}
+
+sub reload
+{
+    if ($haschanged{'slapd'}) {
+        &log('K', 'Restarting OpenLDAP...');
+        system("@KOLABRC@ rc openldap restart &");
+    }
+
+    if ($haschanged{'saslauthd'}) {
+        &log('K', 'Restarting SASLAuthd...');
+        system("@KOLABRC@ rc sasl stop; sleep 1; @sbindir@/saslauthd -a ldap -n 5");
+    }
+
+    if ($haschanged{'apache'}) {
+        &log('K', 'Reloading Apache...');
+        system("@sbindir@/apachectl graceful");
+    }
+
+    if ($haschanged{'postfix'}) {
+        &log('K', 'Reloading Postfix...');
+        system("@sbindir@/postfix reload");
+    }
+
+    if ($haschanged{'imapd'}) {
+        &log('K', 'Restarting imapd...');
+	# Would it be enough with a reload here? /steffen
+        system("@KOLABRC@ rc imapd restart");
+    }
+
+    if ($haschanged{'amavisd'}) {
+        &log('K', 'Restarting amavisd...');
+        system("@KOLABRC@ rc amavisd restart");
+    }
+
+    if ($haschanged{'clamav'}) {
+        &log('K', 'Restarting clamav...');
+        system("@KOLABRC@ rc clamav restart");
+    }
+
+    if ($Kolab::config{'proftpd-ftp'} =~ /true/i) {
+        Kolab::log('K', 'Starting ProFTPd if not running');
+        system("@KOLABRC@ rc proftpd start");
+        if ($haschanged{'proftpd'}) {
+            &log('K', 'Reloading ProFTPd...');
+            kill('SIGHUP', `cat @ftpserver_pidfile@`);
+        }
+    } else {
+        &log('K', 'Stopping ProFTPd, if running...');
+        system("@KOLABRC@ rc proftpd stop");
+    }
+
+    %Kolab::Conf::haschanged = ();
+
+    &log('K', 'Reload finished');
 }
 
 1;





More information about the commits mailing list