On Thu, Sep 11, 2014 at 02:20:41AM +0200, Bostjan Skufca wrote:

> I am sending this email because I think that we need to do something
> about it, and hope that this will help communicate valid ideas around.

It is not difficult to merge main.cf fragments without creating
duplicate definitions of parameters.  The warnings are useful for
users who accidentally define the same setting twice.

> Does anyone else think this "issue" needs attention?

A simple merge script will suffice:

-- 
        Viktor.

#! /usr/pkg/bin/perl -w

sub parse {
    my ($s, $l) = @_;
    if ($s =~ m{^(\S+?)\s*=\s*(.*?)\s*$}) {
        $dict{$1} = $2;
    } else {
        print STDERR $s, "\n";
        die sprintf("%s: malformed setting at line %d\n", $ARGV, $l);
    }
}
while (<>) {
    chomp;
    next if (/^\s*(#|$)/);
    if (m{^\s}) { $buf .= $_; next }
    parse($buf, $line) if defined($buf);
    $buf = $_; $line = $.;
} continue {
    if (eof) {
        parse($buf, $line)  if defined($buf);
        close ARGV;
        undef $buf;
    }
}
foreach $k (sort keys %dict) {
    printf "%s = %s\n", $k, $dict{$k};
}

Reply via email to