OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 05-May-2004 15:05:04
Branch: OPENPKG_2_0_SOLID Handle: 2004050514050300
Added files: (Branch: OPENPKG_2_0_SOLID)
openpkg-src/perl-kolab perl-kolab.patch
Modified files: (Branch: OPENPKG_2_0_SOLID)
openpkg-src/perl-kolab perl-kolab.spec
Log:
MFC: fix chown; SA-2004.019-kolab
Summary:
Revision Changes Path
1.1.2.1 +163 -0 openpkg-src/perl-kolab/perl-kolab.patch
1.7.2.4 +5 -3 openpkg-src/perl-kolab/perl-kolab.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/perl-kolab/perl-kolab.patch
============================================================================
$ cvs diff -u -r0 -r1.1.2.1 perl-kolab.patch
--- /dev/null 2004-05-05 15:05:03.000000000 +0200
+++ perl-kolab.patch 2004-05-05 15:05:04.000000000 +0200
@@ -0,0 +1,163 @@
+--- Conf.pm 2004-05-03 14:27:12.000000000 +0200
++++ Conf.pm 2004-05-03 14:27:41.000000000 +0200
+@@ -56,72 +56,94 @@
+
+ our $VERSION = '0.9';
+
+-sub build {
+- my $tmpl = shift;
+- my $cfg = shift;
+- my $oldcfg = $cfg . '.old';
+- my $prefix = $Kolab::config{'prefix'};
+-
+- my $tmpfile = $prefix . '/etc/kolab/.tmp';
+- copy($cfg, $oldcfg);
+- chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $oldcfg);
+-
+- Kolab::log('T', "Creating new configuration file `$cfg' from template
`$tmpl'");
+-
+- my $template;
+- if (!($template = IO::File->new($tmpl, 'r'))) {
+- Kolab::log('T', "Unable to open template file `$tmpl'", KOLAB_ERROR);
+- exit(1);
+- }
+- my $config;
+- if (!($config = IO::File->new($tmpfile, 'w+'))) {
+- Kolab::log('T', "Unable to open configuration file `$cfg'", KOLAB_ERROR);
+- exit(1);
+- }
+-
+- while (<$template>) {
+- if (/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]/) {
+- if ($Kolab::config{$1}) {
+- s/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]/$Kolab::config{$1}/g;
+- } else {
+- Kolab::log('T', "No configuration variable corresponding to `$1'
exists", KOLAB_WARN);
+- s/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]//g;
+- }
+- }
+- print $config $_;
+- }
+-
+- $template->close;
+- $config->close;
+-
+- move($tmpfile, $cfg);
+- chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $cfg);
+-
+- if (-f $oldcfg) {
+- my $rc = `diff -q $cfg $oldcfg`;
+- chomp($rc);
+- if ($rc) {
+- if ($cfg =~ /postfix/) {
+- $Kolab::haschanged{'postfix'} = 1;
+- } elsif ($cfg =~ /saslauthd/) {
+- $Kolab::haschanged{'saslauthd'} = 1;
+- } elsif ($cfg =~ /apache/) {
+- $Kolab::haschanged{'apache'} = 1;
+- } elsif ($cfg =~ /proftpd/) {
+- $Kolab::haschanged{'proftpd'} = 1;
+- } elsif ($cfg =~ /openldap/) {
+- $Kolab::haschanged{'slapd'} = 1;
+- } elsif ($cfg =~ /imapd/) {
+- $Kolab::haschanged{'imapd'} = 1;
+- }
+-
+- Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
+- }
+- }
+-
+- Kolab::log('T', "Finished creating configuration file `$cfg'");
+-}
+-
++sub build {
++ my $tmpl = shift;
++ my $cfg = shift;
++ my $prefix = $Kolab::config{'prefix'};
++
++ my $TEMPLATE;
++ if (!($TEMPLATE = IO::File->new($tmpl, 'r'))) {
++ Kolab::log('T', "Unable to open template file `$tmpl'", KOLAB_ERROR);
++ exit(1);
++ }
++ my @tempfile = ();
++
++ while (<$TEMPLATE>) {
++ if (/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]/) {
++ if ($Kolab::config{$1}) {
++ s/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]/$Kolab::config{$1}/g;
++ } else {
++ Kolab::log('T', "No configuration variable corresponding to `$1'
exists", KOLAB_WARN);
++ s/[EMAIL PROTECTED](\S+)[EMAIL PROTECTED]//g;
++ }
++ }
++ push (@tempfile, $_);
++ }
++ $TEMPLATE->close;
++
++ my $CONFIGFILE;
++ if (!($CONFIGFILE = IO::File->new($cfg, 'r'))) {
++ Kolab::log('T', "Unable to open config file `$cfg'", KOLAB_ERROR);
++ exit(1);
++ }
++
++ my $configchanged = 0;
++
++ foreach my $line (@tempfile) {
++ my $configline = <$CONFIGFILE>;
++ $configchanged = 1 if ($configline ne $line)
++ }
++ $CONFIGFILE->close;
++ undef $CONFIGFILE;
++
++ return 0 if ($configchanged ne 1);
++
++ if ($configchanged) {
++ Kolab::log('T', "`$cfg' change detected.", KOLAB_DEBUG);
++
++ if ($cfg =~ /postfix/) {
++ $Kolab::haschanged{'postfix'} = 1;
++ } elsif ($cfg =~ /saslauthd/) {
++ $Kolab::haschanged{'saslauthd'} = 1;
++ } elsif ($cfg =~ /apache/) {
++ $Kolab::haschanged{'apache'} = 1;
++ } elsif ($cfg =~ /proftpd/) {
++ $Kolab::haschanged{'proftpd'} = 1;
++ } elsif ($cfg =~ /openldap/) {
++ $Kolab::haschanged{'slapd'} = 1;
++ } elsif ($cfg =~ /imapd/) {
++ $Kolab::haschanged{'imapd'} = 1;
++ }
++ }
++ Kolab::log('T', "Creating new configuration file `$cfg' from template
`$tmpl'");
++
++ my $tmpfile = $prefix . '/etc/kolab/.tmp';
++ unlink($tmpfile);
++ my $NEWFILE;
++ if ($cfg =~ /openldap/) {
++ if (!($NEWFILE = IO::File->new($tmpfile, O_RDWR|O_CREAT|O_EXCL, 0600))) {
++ Kolab::log('T', "Unable to open configuration file `$tmpfile'",
KOLAB_ERROR);
++ exit(1);
++ }
++ } else {
++ if (!($NEWFILE = IO::File->new($tmpfile, O_RDWR|O_CREAT|O_EXCL, 0644))) {
++ Kolab::log('T', "Unable to open configuration file `$tmpfile'",
KOLAB_ERROR);
++ exit(1);
++ }
++ }
++
++ foreach my $line (@tempfile) {
++ print $NEWFILE $line;
++ }
++ $NEWFILE->close;
++ unlink($cfg);
++ link($tmpfile,$cfg);
++ unlink($tmpfile);
++ chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $cfg);
++
++ Kolab::log('T', "Finished creating configuration file `$cfg'");
++}
++
+ sub buildPostfixTransportMap
+ {
+ Kolab::log('T', 'Building Postfix transport map');
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/perl-kolab/perl-kolab.spec
============================================================================
$ cvs diff -u -r1.7.2.3 -r1.7.2.4 perl-kolab.spec
--- openpkg-src/perl-kolab/perl-kolab.spec 5 May 2004 13:02:09 -0000 1.7.2.3
+++ openpkg-src/perl-kolab/perl-kolab.spec 5 May 2004 13:05:03 -0000 1.7.2.4
@@ -48,7 +48,7 @@
Group: Language
License: GPL/Artistic
Version: %{V_perl}
-Release: 2.0.1
+Release: 2.0.2
# list of sources
Source0: http://www.cpan.org/authors/id/S/ST/STEPHANB/Kolab-%{V_kolab}.tar.gz
@@ -62,6 +62,7 @@
Source8:
http://www.cpan.org/authors/id/S/ST/STEPHANB/Kolab-Conf-%{V_kolab_conf}.tar.gz
Source9:
http://www.cpan.org/authors/id/S/ST/STEPHANB/Kolab-DirServ-%{V_kolab_dirserv}.tar.gz
Source10:
http://www.cpan.org/authors/id/S/ST/STEPHANB/Kolab-Mailer-%{V_kolab_mailer}.tar.gz
+Patch0: perl-kolab.patch
# build information
Prefix: %{l_prefix}
@@ -143,9 +144,10 @@
%setup -q -T -D -a 8
%setup -q -T -D -a 9
%setup -q -T -D -a 10
+ %patch -p0 -d Kolab-Conf-%{V_kolab_conf}
%{l_shtool} subst \
- -e 's;chown root.root;chown @l_susr@:@l_sgrp@;' \
- Kolab-Conf-0.9/Conf.pm
+ -e 's;chown root.root;chown %{l_susr}:%{l_sgrp};' \
+ Kolab-Conf-%{V_kolab_conf}/Conf.pm
%build
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]