Hello community,
here is the log from the commit of package yast2-mail
checked in at Wed Jan 31 02:08:19 CET 2007.
--------
--- yast2-mail/yast2-mail.changes 2006-11-06 15:26:45.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-mail/yast2-mail.changes 2007-01-30 18:34:46.000000000 +0100
@@ -1,0 +2,19 @@
+Tue Jan 30 18:34:41 CET 2007 - mvidner@suse.cz
+
+- Adjusted testsuite for changes in yast2-2.15.4.
+- 2.15.1
+
+-------------------------------------------------------------------
+Wed Jan 3 16:52:01 CET 2007 - mvidner@suse.cz
+
+- Converted ag_mailtable to a module to eliminate parsing speed
+ bottleneck. Tables of 50000 entries no longer cause hours
+ of delays (#223560).
+- 2.15.0
+
+-------------------------------------------------------------------
+Thu Dec 21 11:06:46 CET 2006 - mvidner@suse.cz
+
+- schema: added mail_smtp_auth
+
+-------------------------------------------------------------------
Old:
----
yast2-mail-2.14.0.tar.bz2
New:
----
yast2-mail-2.15.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-mail.spec ++++++
--- /var/tmp/diff_new_pack.bY5021/_old 2007-01-31 02:07:59.000000000 +0100
+++ /var/tmp/diff_new_pack.bY5021/_new 2007-01-31 02:07:59.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package yast2-mail (Version 2.14.0)
+# spec file for package yast2-mail (Version 2.15.1)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -11,14 +11,15 @@
# norootforbuild
Name: yast2-mail
-Version: 2.14.0
+Version: 2.15.1
Release: 1
-License: GNU General Public License (GPL) - all versions
+License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-mail-2.14.0.tar.bz2
+Source0: yast2-mail-2.15.1.tar.bz2
prefix: /usr
BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
+BuildRequires: yast2-perl-bindings
# new firewall interface
Requires: yast2 >= 2.11.11
Requires: yast2-mail-aliases
@@ -61,7 +62,7 @@
Martin Vidner
%prep
-%setup -n yast2-mail-2.14.0
+%setup -n yast2-mail-2.15.1
%build
%{prefix}/bin/y2tool y2autoconf
@@ -115,6 +116,8 @@
%defattr(-,root,root)
%dir /usr/share/YaST2/modules
/usr/share/YaST2/modules/MailAliases.y*
+/usr/share/YaST2/modules/MailTable.pm
+/usr/share/YaST2/modules/MailTableInclude.pm
%dir /usr/share/YaST2/scrconf
/usr/share/YaST2/scrconf/cfg_mail.scr
/usr/share/YaST2/scrconf/mail_aliases.scr
@@ -124,6 +127,16 @@
/usr/lib/YaST2/servers_non_y2/ag_mailtable
%changelog -n yast2-mail
+* Tue Jan 30 2007 - mvidner@suse.cz
+- Adjusted testsuite for changes in yast2-2.15.4.
+- 2.15.1
+* Wed Jan 03 2007 - mvidner@suse.cz
+- Converted ag_mailtable to a module to eliminate parsing speed
+ bottleneck. Tables of 50000 entries no longer cause hours
+ of delays (#223560).
+- 2.15.0
+* Thu Dec 21 2006 - mvidner@suse.cz
+- schema: added mail_smtp_auth
* Mon Nov 06 2006 - mvidner@suse.cz
- chown /etc/fetchmailrc to $FETCHMAIL_USER (#207305).
- display errors that occur during writing.
++++++ yast2-mail-2.14.0.tar.bz2 -> yast2-mail-2.15.1.tar.bz2 ++++++
++++ 5889 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/configure.in new/yast2-mail-2.15.1/configure.in
--- old/yast2-mail-2.14.0/configure.in 2006-11-06 15:29:58.000000000 +0100
+++ new/yast2-mail-2.15.1/configure.in 2007-01-30 18:36:38.000000000 +0100
@@ -1,9 +1,9 @@
dnl configure.in for yast2-mail
dnl
-dnl -- This file is generated by y2autoconf 2.13.29 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-mail, 2.14.0, http://bugs.opensuse.org/, yast2-mail)
+AC_INIT(yast2-mail, 2.15.1, http://bugs.opensuse.org/, yast2-mail)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.14.0"
+VERSION="2.15.1"
RPMNAME="yast2-mail"
MAINTAINER="Martin Vidner "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/MailAliases.ycp new/yast2-mail-2.15.1/src/MailAliases.ycp
--- old/yast2-mail-2.14.0/src/MailAliases.ycp 2005-05-06 17:02:41.000000000 +0200
+++ new/yast2-mail-2.15.1/src/MailAliases.ycp 2007-01-02 15:35:34.000000000 +0100
@@ -11,7 +11,7 @@
* Authors:
* Martin Vidner
*
- * $Id: MailAliases.ycp 12978 2003-12-05 14:46:46Z jsuchome $
+ * $Id: MailAliases.ycp 35035 2007-01-02 14:35:30Z mvidner $
*
* Representation of the configuration of mail aliases.
* Input and output routines.
@@ -25,6 +25,7 @@
module "MailAliases";
// no translatable strings, no textdomain.
+ import "MailTable";
/* ---------------------------------------------------------------- */
@@ -72,7 +73,7 @@
* @return success?
*/
global define boolean ReadAliases () ``{
- list<map> a_raw = (list<map>) SCR::Read (.mail.aliases.table);
+ list<map> a_raw = MailTable::Read ("aliases");
aliases = maplist (map e, a_raw,
``($[
"comment" : e["comment"]: "",
@@ -145,7 +146,7 @@
*/
global define boolean WriteAliases () ``{
// aliases
- path alias_path = .mail.aliases.table;
+ string alias_path = "aliases";
list<map> a_raw = maplist (map e, MergeRootAlias (aliases),
``($[
"comment" : e["comment"]:"",
@@ -154,9 +155,9 @@
]));
// if (merge_aliases)
// {
-// a_raw = mergeTables (a_raw, SCR::Read (alias_path));
+// a_raw = mergeTables (a_raw, MailTable::Read (alias_path));
// }
- SCR::Write (alias_path, a_raw);
+ MailTable::Write ("aliases", a_raw);
return true;
}
@@ -200,7 +201,7 @@
return false;
}
- if (! SCR::Write (.mail.aliases, nil))
+ if (! MailTable::Flush ("aliases"))
{
return false;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/mail.rnc new/yast2-mail-2.15.1/src/mail.rnc
--- old/yast2-mail-2.14.0/src/mail.rnc 2006-11-06 13:25:14.000000000 +0100
+++ new/yast2-mail-2.15.1/src/mail.rnc 2006-11-14 16:03:25.000000000 +0100
@@ -10,6 +10,7 @@
from_header? &
listen_remote? &
local_domains? &
+ mail_smtp_auth? &
masquerade_other_domains? &
masquerade_users? &
mta &
@@ -102,3 +103,14 @@
element comment { text }?
}*
}
+
+mail_smtp_auth =
+ element smtp_auth {
+ LIST,
+ element smtp_auth_entry {
+ element password { text } &
+ element server { text } &
+ element user { text }
+ }*
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/MailTableInclude.pm new/yast2-mail-2.15.1/src/MailTableInclude.pm
--- old/yast2-mail-2.14.0/src/MailTableInclude.pm 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-mail-2.15.1/src/MailTableInclude.pm 2007-01-02 15:40:19.000000000 +0100
@@ -0,0 +1,243 @@
+#!/usr/bin/perl -w
+#
+# Author: Martin Vidner
+# $Id: MailTableInclude.pm 35036 2007-01-02 14:40:18Z mvidner $
+# to be included via "do 'MailTableInclude.pm'"
+
+
+use strict;
+
+# the including file must declare these
+our $filename;
+our $continue_escaped_newline;
+our $continue_leading_blanks;
+our $colon;
+
+use Errno qw(ENOENT);
+use YaST::YCP qw(:LOGGING);
+
+# Global variables:
+# The file specifies a map, but we represent it as a list to preserve
+# preceding comments and the order of entries.
+# list entries:
+# { "comment" => " foo\n bar\n", "key" => "root", "value" => "joe, \\root" }
+# that is, comments have the leading '#' stripped but not the newline.
+# Before the first entry, there can be a leading comment, separated by
+# a blank line.
+our $leading_comment;
+our @table;
+our $trailing_comment;
+
+# Parser features:
+
+my $modified = 0;
+my $linenum;
+my $line_comment;
+my $line = "";
+my $backslashed_line;
+
+my $separator;
+my $oseparator;
+
+my $debug = defined($ARGV[0]) && $ARGV[0] eq "-d";
+
+#
+# routine to log and return error
+#
+sub log_error ( $ ) {
+ my ($err_msg) = @_;
+ y2error ($err_msg);
+ return 0;
+}
+
+sub dumpit () {
+ print STDERR "line: '$line' line_comment: '$line_comment'\n";
+}
+
+# create a map entry after it has been composed of split lines
+sub parse_line ($)
+{
+ my $line = shift;
+
+ # is this the first line?
+ if ($line ne "")
+ {
+ if ($line =~ /^(.*?)$separator(.*)$/s)
+ {
+ push (@table, { "comment" => $line_comment,
+ "key" => $1,
+ "value" => $2 });
+ }
+ else
+ {
+ log_error ("No separator, $filename:$linenum '$line'");
+ }
+ }
+}
+
+#
+sub parse_file ()
+{
+ $linenum = 0;
+ $line = "";
+ $line_comment = "";
+ $backslashed_line = "";
+ my $leading_comment_allowed = 1;
+
+ $leading_comment = "";
+ @table = ();
+ $trailing_comment = "";
+
+ if (!open (FILE, $filename))
+ {
+ y2error ("$filename: $!") unless ($! == ENOENT);
+ # a missing file will be fixed by the module anyway
+ # and y2cc starts all agents :(
+ return;
+ }
+
+ while (<FILE>)
+ {
+ chomp; # \n
+ ++$linenum;
+ dumpit () if ($debug);
+
+ # Escaped newlines: merge them before any other processing.
+ # Is this one escaped?
+ if ($continue_escaped_newline && /\\$/)
+ {
+ print STDERR "$linenum:continued\n" if ($debug);
+ chop; # \\
+ $backslashed_line .= "$_ ";
+ next;
+ }
+ # Was there one already?
+ if ($backslashed_line ne "")
+ {
+ $_ = $backslashed_line . $_;
+ $backslashed_line = "";
+ }
+
+
+ # Accept comments
+ if (/^\#(.*)/)
+ {
+ print STDERR "$linenum:comment\n" if ($debug);
+ $trailing_comment .= "$1\n";
+ }
+ elsif (/^$/)
+ {
+ if ($leading_comment_allowed)
+ {
+ $leading_comment .= $trailing_comment;
+ $trailing_comment = "";
+ }
+ }
+ else
+ {
+ $leading_comment_allowed = 0;
+ # $line is the previous line, $_ is the current one
+ if (/^\s+(.*)/)
+ {
+ if ($continue_leading_blanks)
+ {
+ print STDERR "$linenum:leading blanks\n" if ($debug);
+ $line .= $_;
+ $line_comment .= $trailing_comment;
+ $trailing_comment = "";
+ }
+ else
+ {
+ log_error ("Leading whitespace, $filename:$linenum");
+ }
+ }
+ else
+ {
+ print STDERR "$linenum:regular\n" if ($debug);
+ # a regular line. process the _previous_ one
+ # because this one might continue
+
+ parse_line ($line);
+
+ # next buffer
+ $line = $_;
+ $line_comment = $trailing_comment;
+ $trailing_comment = "";
+ }
+ }
+ }
+ # end of file, but we must not forget to process the buffer!
+ parse_line ($line);
+ # only a comment: make it a leading one
+ if ($leading_comment_allowed)
+ {
+ $leading_comment .= $trailing_comment;
+ $trailing_comment = "";
+ }
+
+ close (FILE);
+}
+
+# take a multiline string and write it to FILE with a hash before each line
+sub write_comment ($)
+{
+ my $comment = shift;
+ foreach my $line (split /\n/, $comment)
+ {
+ print FILE "\#$line\n";
+ }
+}
+#
+sub write_file ()
+{
+ return 1 if (! $modified);
+
+ open (FILE, ">$filename.YaST2.new") or return log_error ("Creating file: $!");
+ if ($leading_comment)
+ {
+ write_comment ($leading_comment);
+ print FILE "\n";
+ }
+ foreach my $entry (@table)
+ {
+ write_comment ($entry->{"comment"});
+ print FILE $entry->{"key"}, $oseparator, $entry->{"value"}, "\n";
+ }
+ write_comment ($trailing_comment);
+ close (FILE);
+
+ if (-f $filename)
+ {
+ rename $filename, "$filename.YaST2.save" or return log_error ("Creating backup: $!");
+ }
+ rename "$filename.YaST2.new", $filename or return log_error ("Moving temp file: $!");
+
+ $modified = 0;
+ return 1;
+}
+
+# interface with MailTable.pm
+
+sub Read ()
+{
+ $separator = $colon ? qr/:\s+/ : qr/\s+/;
+ $oseparator = $colon ? ":\t" : "\t";
+
+ parse_file ();
+ $modified = 0;
+
+ return \@table;
+}
+
+sub Write ()
+{
+ my $value = shift;
+ @table = @{$value};
+ $modified = 1;
+ return 1;
+}
+
+sub Flush ()
+{
+ return write_file();
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/MailTable.pm new/yast2-mail-2.15.1/src/MailTable.pm
--- old/yast2-mail-2.14.0/src/MailTable.pm 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-mail-2.15.1/src/MailTable.pm 2007-01-03 13:39:57.000000000 +0100
@@ -0,0 +1,149 @@
+#!/usr/bin/perl -w
+#
+# Author: Martin Vidner
+# $Id: MailTable.pm 35039 2007-01-03 12:39:54Z mvidner $
+#
+# Accessing sendmail and postfix maps described in
+# makemap(8) and postmap(1)
+
+use strict;
+
+package MailTable;
+use YaST::YCP qw(:LOGGING);
+
+# type information for YCP
+our %TYPEINFO;
+
+my %modules =
+ (
+ "aliases" => "Aliases",
+ "postfix.sendercanonical" => "PostfixSenderCanonical",
+ "postfix.virtual" => "PostfixVirtual",
+ "sendmail.generics" => "SendmailGenerics",
+ "sendmail.virtuser" => "SendmailVirtuser",
+ );
+
+BEGIN {$TYPEINFO{Read} = ["function", ["list", ["map", "string", "any"]], "string kind"];}
+sub Read
+{
+ my $class = shift;
+ my $kind = shift;
+
+ if (!exists $modules{$kind}) {
+ y2internal ("No module defined for $kind");
+ return [];
+ }
+ no strict "refs";
+ return &{"MailTable::$modules{$kind}::Read"}();
+}
+
+
+BEGIN {$TYPEINFO{Write} = ["function", "boolean", "string kind", ["list", ["map", "any", "any"]]];}
+sub Write
+{
+ my $class = shift;
+ my $kind = shift;
+ my $value = shift;
+
+ if (!exists $modules{$kind}) {
+ y2internal ("No module defined for $kind");
+ return 0;
+ }
+ no strict "refs";
+ return &{"MailTable::$modules{$kind}::Write"}($value);
+}
+
+BEGIN {$TYPEINFO{Flush} = ["function", "boolean", "string kind"];}
+sub Flush
+{
+ my $class = shift;
+ my $kind = shift;
+
+ if (!exists $modules{$kind}) {
+ y2internal ("No module defined for $kind");
+ return 0;
+ }
+ no strict "refs";
+ return &{"MailTable::$modules{$kind}::Flush"}();
+}
+
+BEGIN {$TYPEINFO{FileName} = ["function", "string", "string kind"];}
+sub FileName
+{
+ my $class = shift;
+ my $kind = shift;
+
+ if (!exists $modules{$kind}) {
+ y2internal ("No module defined for $kind");
+ return "FIXME $kind";
+ }
+ no strict "refs";
+ return ${"MailTable::$modules{$kind}::filename"};
+}
+
+# For testing purposes only
+# Sets filename, returns previous one
+BEGIN {$TYPEINFO{SetFileName} = ["function", "string", "string kind", "string new"];}
+sub SetFileName
+{
+ my $class = shift;
+ my $kind = shift;
+ my $new = shift;
+
+ if (!exists $modules{$kind}) {
+ y2internal ("No module defined for $kind");
+ return "FIXME $kind";
+ }
+ no strict "refs";
+ my $fn_ref = "MailTable::$modules{$kind}::filename";
+ my $old = ${$fn_ref};
+ ${$fn_ref} = $new;
+ return $old;
+}
+
+package MailTable::Aliases;
+
+our $filename = "/etc/aliases";
+our $continue_escaped_newline = 1;
+our $continue_leading_blanks = 1;
+our $colon = 1;
+
+do 'MailTableInclude.pm';
+
+package MailTable::PostfixSenderCanonical;
+
+our $filename = "/etc/postfix/sender_canonical";
+our $continue_escaped_newline = 0;
+our $continue_leading_blanks = 1;
+our $colon = 0;
+
+do 'MailTableInclude.pm';
+
+package MailTable::PostfixVirtual;
+
+our $filename = "/etc/postfix/virtual";
+our $continue_escaped_newline = 0;
+our $continue_leading_blanks = 1;
+our $colon = 0;
+
+do 'MailTableInclude.pm';
+
+package MailTable::SendmailGenerics;
+
+our $filename = "/etc/mail/genericstable";
+our $continue_escaped_newline = 0;
+our $continue_leading_blanks = 0;
+our $colon = 0;
+
+do 'MailTableInclude.pm';
+
+package MailTable::SendmailVirtuser;
+
+our $filename = "/etc/mail/virtusertable";
+our $continue_escaped_newline = 0;
+our $continue_leading_blanks = 0;
+our $colon = 0;
+
+do 'MailTableInclude.pm';
+
+1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/Mail.ycp new/yast2-mail-2.15.1/src/Mail.ycp
--- old/yast2-mail-2.14.0/src/Mail.ycp 2006-10-13 14:01:05.000000000 +0200
+++ new/yast2-mail-2.15.1/src/Mail.ycp 2007-01-02 15:35:34.000000000 +0100
@@ -11,7 +11,7 @@
* Authors:
* Martin Vidner
*
- * $Id: Mail.ycp 33397 2006-10-13 12:01:03Z mvidner $
+ * $Id: Mail.ycp 35035 2007-01-02 14:35:30Z mvidner $
*
* Representation of the configuration of mail.
* Input and output routines.
@@ -24,6 +24,7 @@
textdomain "mail";
import "MailAliases";
+ import "MailTable";
import "Mode";
import "Report";
import "Service";
@@ -509,11 +510,11 @@
list<map> mu_raw = [];
if (mta == `sendmail)
{
- mu_raw = (list<map>)SCR::Read (.mail.sendmail.generics.table);
+ mu_raw = MailTable::Read ("sendmail.generics");
}
else if (mta == `postfix)
{
- mu_raw = (list<map>)SCR::Read (.mail.postfix.sendercanonical.table);
+ mu_raw = MailTable::Read ("postfix.sendercanonical");
}
else
{
@@ -573,11 +574,11 @@
list<map> v_raw = [];
if (mta == `sendmail)
{
- v_raw = (list<map>) SCR::Read (.mail.sendmail.virtuser.table);
+ v_raw = MailTable::Read ("sendmail.virtuser");
}
else if (mta == `postfix)
{
- v_raw = (list<map>) SCR::Read (.mail.postfix.virtual.table);
+ v_raw = MailTable::Read ("postfix.virtual");
}
else
{
@@ -835,11 +836,11 @@
]));
if (mta == `sendmail)
{
- SCR::Write (.mail.sendmail.generics.table, mu_raw);
+ MailTable::Write ("sendmail.generics", mu_raw);
}
else if (mta == `postfix)
{
- SCR::Write (.mail.postfix.sendercanonical.table, mu_raw);
+ MailTable::Write ("postfix.sendercanonical", mu_raw);
}
else
{
@@ -894,11 +895,11 @@
]));
if (mta == `sendmail)
{
- SCR::Write (.mail.sendmail.virtuser.table, v_raw);
+ MailTable::Write ("sendmail.virtuser", v_raw);
}
else if (mta == `postfix)
{
- SCR::Write (.mail.postfix.virtual.table, v_raw);
+ MailTable::Write ("postfix.virtual", v_raw);
}
else
{
@@ -947,47 +948,30 @@
*/
define boolean WriteFlush () ``{
//flush the agents
- if (!SCR::Write (.sysconfig.mail, nil))
- {
- // Translators: error message
- Report::Error (sformat (_("Error writing file %1"), "/etc/sysconfig/mail"));
- return false;
- }
- if (!SCR::Write (.sysconfig.amavis, nil))
- {
- // Translators: error message
- Report::Error (sformat (_("Error writing file %1"), "/etc/sysconfig/amavis"));
- return false;
- }
- list<path> tables = nil;
+ map paths = $[
+ "/etc/sysconfig/mail": .sysconfig.mail,
+ "/etc/sysconfig/amavis": .sysconfig.amavis,
+ ];
+ list<string> tables = nil;
+
if (mta == `sendmail)
{
- if (!SCR::Write (.sysconfig.sendmail, nil))
- {
- // Translators: error message
- Report::Error (sformat (_("Error writing file %1"), "/etc/sysconfig/sendmail"));
- return false;
- }
+ paths["/etc/sysconfig/sendmail"] = .sysconfig.sendmail;
+ paths["/etc/mail/auth/auth-info"] = .mail.sendmail.auth;
tables = [
- .mail.sendmail.generics,
- .mail.aliases,
- .mail.sendmail.virtuser,
- .mail.sendmail.auth,
+ "sendmail.generics",
+ "aliases",
+ "sendmail.virtuser",
];
}
else if (mta == `postfix)
{
- if (!SCR::Write (.sysconfig.postfix, nil))
- {
- // Translators: error message
- Report::Error (sformat (_("Error writing file %1"), "/etc/sysconfig/postfix"));
- return false;
- }
+ paths["/etc/sysconfig/postfix"] = .sysconfig.postfix;
+ paths["/etc/postfix/sasl_passwd"] = .mail.postfix.auth;
tables = [
- .mail.postfix.sendercanonical,
- .mail.aliases,
- .mail.postfix.virtual,
- .mail.postfix.auth,
+ "postfix.sendercanonical",
+ "aliases",
+ "postfix.virtual",
];
}
else
@@ -995,11 +979,19 @@
return false;
}
- foreach (path p, tables, ``{
+ foreach (string filename, path p, paths, ``{
if (!SCR::Write (p, nil))
{
- string filename =
- (string) SCR::Read (p + topath (".meta.filename"));
+ // Translators: error message
+ Report::Error (sformat (_("Error writing file %1"), filename));
+ return false;
+ }
+ });
+
+ foreach (string p, tables, ``{
+ if (!MailTable::Flush (p))
+ {
+ string filename = MailTable::FileName (p);
// Translators: error message
Report::Error (sformat (_("Error writing file %1"), filename));
return false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/src/Makefile.am new/yast2-mail-2.15.1/src/Makefile.am
--- old/yast2-mail-2.14.0/src/Makefile.am 2006-11-06 13:26:16.000000000 +0100
+++ new/yast2-mail-2.15.1/src/Makefile.am 2007-01-02 15:35:34.000000000 +0100
@@ -1,7 +1,7 @@
#
# Makefile.am for y2c_mail/src
#
-# $Id: Makefile.am 34077 2006-11-06 12:26:15Z mvidner $
+# $Id: Makefile.am 35035 2007-01-02 14:35:30Z mvidner $
#
myyncludedir = $(yncludedir)/mail
@@ -21,6 +21,8 @@
module_DATA = \
MailAliases.ycp \
+ MailTable.pm \
+ MailTableInclude.pm \
Mail.ycp
rncdir = $(schemadir)/autoyast/rnc
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/testsuite/tests/aliases.out new/yast2-mail-2.15.1/testsuite/tests/aliases.out
--- old/yast2-mail-2.14.0/testsuite/tests/aliases.out 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-mail-2.15.1/testsuite/tests/aliases.out 2007-01-30 18:30:16.000000000 +0100
@@ -0,0 +1,7 @@
+#baz
+foo: bar
+#kuk
+root: leaf
+#baz2
+foo2: bar2
+#trailing comment
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/testsuite/tests/readwrite.out new/yast2-mail-2.15.1/testsuite/tests/readwrite.out
--- old/yast2-mail-2.14.0/testsuite/tests/readwrite.out 2006-01-16 14:48:53.000000000 +0100
+++ new/yast2-mail-2.15.1/testsuite/tests/readwrite.out 2007-01-30 18:28:45.000000000 +0100
@@ -1,4 +1,4 @@
-Execute .target.bash "rpm -q sendmail" 0
+Execute .target.bash "rpm -q --whatprovides sendmail" 0
Read .sysconfig.mail.MAIL_CREATE_CONFIG "yes"
Read .sysconfig.mail.SMTPD_LISTEN_REMOTE "yes"
Read .init.scripts.exists "SuSEfirewall2_init" true
@@ -7,17 +7,14 @@
Execute .target.bash "/etc/init.d/SuSEfirewall2_init status" $["TERM":"raw"] 0
Read .sysconfig.sendmail.SENDMAIL_NOCANONIFY "no"
Read .sysconfig.sendmail.SENDMAIL_EXPENSIVE "no"
-Execute .target.bash "rpm -q amavisd-new" 0
+Execute .target.bash "rpm -q --whatprovides amavisd-new" 0
Read .sysconfig.amavis.USE_AMAVIS "yes"
Read .sysconfig.sendmail.SENDMAIL_LOCALHOST ""
Read .sysconfig.sendmail.SENDMAIL_SMARTHOST ""
Read .sysconfig.mail.FROM_HEADER "foo.test"
Read .sysconfig.sendmail.MASQUERADE_DOMAINS ""
-Read .mail.sendmail.generics.table []
Execute .target.bash_output "/usr/bin/id --user" $["exit":0, "stderr":"", "stdout":""]
Read .mail.fetchmail.accounts []
-Read .mail.aliases.table []
-Read .mail.sendmail.virtuser.table []
Read .mail.sendmail.auth.accounts [$["more":1, "password":"p", "server":"s", "user":"u"]]
Read .sysconfig.sendmail.SMTP_AUTH_MECHANISMS ""
Return true
@@ -40,9 +37,6 @@
Write .sysconfig.sendmail.SENDMAIL_SMARTHOST "" true
Write .sysconfig.mail.FROM_HEADER "foo.test" true
Write .sysconfig.sendmail.MASQUERADE_DOMAINS "" true
-Write .mail.sendmail.generics.table [] true
-Write .mail.aliases.table [] true
-Write .mail.sendmail.virtuser.table [] true
Write .mail.fetchmail.accounts [] true
Write .mail.fetchmail nil true
Read .init.scripts.exists "fetchmail" true
@@ -53,13 +47,10 @@
Execute .target.bash_output "/sbin/insserv -r /etc/init.d/fetchmail" $["exit":0, "stderr":"", "stdout":""]
Write .mail.sendmail.auth.accounts [$["more":1, "password":"p", "server":"s", "user":"u"]] true
Write .sysconfig.sendmail.SMTP_AUTH_MECHANISMS "plain gssapi digest-md5 cram-md5" true
-Write .sysconfig.mail nil true
+Write .mail.sendmail.auth nil true
Write .sysconfig.amavis nil true
+Write .sysconfig.mail nil true
Write .sysconfig.sendmail nil true
-Write .mail.sendmail.generics nil true
-Write .mail.aliases nil true
-Write .mail.sendmail.virtuser nil true
-Write .mail.sendmail.auth nil true
Execute .target.bash "/sbin/SuSEconfig --module sendmail" 0
Read .init.scripts.exists "amavis" true
Execute .target.bash "/etc/init.d/amavis stop" $["TERM":"raw"] 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/testsuite/tests/readwrite.ycp new/yast2-mail-2.15.1/testsuite/tests/readwrite.ycp
--- old/yast2-mail-2.14.0/testsuite/tests/readwrite.ycp 2005-05-06 17:02:42.000000000 +0200
+++ new/yast2-mail-2.15.1/testsuite/tests/readwrite.ycp 2007-01-03 13:39:57.000000000 +0100
@@ -6,10 +6,10 @@
* Authors:
* Martin Vidner
*
- * $Id: readwrite.ycp 19379 2004-09-15 12:14:12Z mvidner $
+ * $Id: readwrite.ycp 35039 2007-01-03 12:39:54Z mvidner $
*/
{
- // testedfiles: Mail.ycp MailAliases.ycp Package.ycp PackageSystem.ycp Require.ycp Service.ycp Testsuite.ycp
+ // testedfiles: Mail.ycp MailTable.pm MailTableInclude.pm MailAliases.ycp Package.ycp PackageSystem.ycp Report.ycp Require.ycp Service.ycp Testsuite.ycp
include "testsuite.ycp";
@@ -151,7 +151,11 @@
import "Progress";
import "Mail";
+ import "MailTable";
+ MailTable::SetFileName ("aliases", "tests/aliases.out");
+ MailTable::SetFileName ("sendmail.generics", "tests/generics.out");
+ MailTable::SetFileName ("sendmail.virtuser", "tests/virtuser.out");
// Pkg::FAKE (`IsProvided, $["sendmail": true, "amavis-sendmail": true,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/testsuite/tests/rootalias.out new/yast2-mail-2.15.1/testsuite/tests/rootalias.out
--- old/yast2-mail-2.14.0/testsuite/tests/rootalias.out 2005-05-06 17:02:42.000000000 +0200
+++ new/yast2-mail-2.15.1/testsuite/tests/rootalias.out 2007-01-03 13:37:34.000000000 +0100
@@ -1,22 +1,8 @@
Dump sendmail
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
Return leaf
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
-Write .mail.aliases.table [$["comment":"", "key":"root", "value":"ruut"], $["comment":"baz", "key":"foo", "value":"bar"], $["comment":"baz2", "key":"foo2", "value":"bar2"]] true
-Write .mail.aliases nil true
Return true
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
-Write .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"baz2", "key":"foo2", "value":"bar2"]] true
-Write .mail.aliases nil true
Return true
Dump postfix
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
-Return leaf
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
-Write .mail.aliases.table [$["comment":"", "key":"root", "value":"ruut"], $["comment":"baz", "key":"foo", "value":"bar"], $["comment":"baz2", "key":"foo2", "value":"bar2"]] true
-Write .mail.aliases nil true
+Return
Return true
-Read .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"kuk", "key":"root", "value":"leaf"], $["comment":"baz2", "key":"foo2", "value":"bar2"]]
-Write .mail.aliases.table [$["comment":"baz", "key":"foo", "value":"bar"], $["comment":"baz2", "key":"foo2", "value":"bar2"]] true
-Write .mail.aliases nil true
Return true
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/testsuite/tests/rootalias.ycp new/yast2-mail-2.15.1/testsuite/tests/rootalias.ycp
--- old/yast2-mail-2.14.0/testsuite/tests/rootalias.ycp 2005-05-06 17:02:42.000000000 +0200
+++ new/yast2-mail-2.15.1/testsuite/tests/rootalias.ycp 2007-01-03 13:39:57.000000000 +0100
@@ -8,18 +8,15 @@
* Authors:
* Martin Vidner
*
- * $Id: rootalias.ycp 13711 2004-01-30 16:53:07Z mvidner $
+ * $Id: rootalias.ycp 35039 2007-01-03 12:39:54Z mvidner $
*/
{
include "testsuite.ycp";
TESTSUITE_INIT ([ $[], $[], $[] ], nil);
+ import "MailTable";
import "MailAliases";
- list<map> aliases = [
- $["key": "foo", "value": "bar", "comment": "baz",],
- $["key": "root", "value": "leaf", "comment": "kuk",],
- $["key": "foo2", "value": "bar2", "comment": "baz2",],
- ];
+ MailTable::SetFileName ("aliases", "tests/aliases.out");
// the test data is a bit convoluted because formerly
// the data was read from .mail.{sendmail,postfix}.aliases.table
@@ -30,12 +27,6 @@
// sendmail
"installed": true,
],
- // Mail itself:
- "mail": $[
- "aliases": $[
- "table": aliases,
- ],
- ],
];
map READ_p1 = $[
@@ -44,12 +35,6 @@
// sendmail
"installed": false,
],
- // Mail itself:
- "mail": $[
- "aliases": $[
- "table": aliases,
- ],
- ],
];
map READ_p2 = $[
@@ -58,12 +43,6 @@
// postfix
"installed": true,
],
- // Mail itself:
- "mail": $[
- "aliases": $[
- "table": aliases,
- ],
- ],
];
map WRITE = $[
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-mail-2.14.0/VERSION new/yast2-mail-2.15.1/VERSION
--- old/yast2-mail-2.14.0/VERSION 2006-11-06 13:42:58.000000000 +0100
+++ new/yast2-mail-2.15.1/VERSION 2007-01-30 18:31:44.000000000 +0100
@@ -1 +1 @@
-2.14.0
+2.15.1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org