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