(?: .*\sBerkeley\ DB
| \sProbably\ (?:Berkeley\ DB|ndbm|GDBM)
| \sUsing\ (?:tdb|sqlite3)
- | Authenticators:
+ | Authenticators\ \((?:built-in|dynamic)\):
| Lookups(?:\(built-in\))?:
| Support\ for:
- | Routers:
- | Transports:
+ | Routers\ \((?:built-in|dynamic)\):
+ | Transports\ \((?:built-in|dynamic)\):
| Malware:
| log\ selectors\ =
| cwd=
next if /^tls_set_watch\(\) fail on '\/usr\/(?:lib\/ssl|local\/openssl3\/etc\/pki\/tls)\/cert.pem': No such file or directory$/;
# drop lookups
- next if /^$time_pid?(?: Lookups\ \(built-in\):
+ next if /^$time_pid?(?: Lookups\ \((?:built-in|dynamic)\):
+ | Loaded\ "[^.]+\.so"\ \(\d+\ lookup\ types\)
| Loading\ lookup\ modules\ from
| Loaded\ \d+\ lookup\ modules
| Total\ \d+\ lookups)/x;
+ # drop loads of dyn-module drivers
+ next if /^$time_pid?(?:Loading\ \w+\ (?:router|transport|auth)\ driver\ from
+ | Loaded\ \w+\ (?:router|transport|auth)$)/x;
+
# drop compiler information
next if /^$time_pid?Compiler:/;
%parm_support = @temp;
}
- elsif (/^Lookups \(built-in\): (.*)/)
+ elsif (/^Lookups \((?:built-in|dynamic)\): ?(.*)/)
{
print;
@temp = split /(\s+)/, $1;
push(@temp, ' ');
- %parm_lookups = @temp;
+ my %temp_lookups = @temp;
+ @parm_lookups{keys %temp_lookups} = values %temp_lookups;
}
- elsif (/^Authenticators: (.*)/)
+ elsif (/^Authenticators \((?:built-in|dynamic)\): ?(.*)/)
{
print;
@temp = split /(\s+)/, $1;
push(@temp, ' ');
- %parm_authenticators = @temp;
+ my %temp_auths= @temp;
+ @parm_authenticators{keys %temp_auths} = values %temp_auths;
}
- elsif (/^Routers: (.*)/)
+ elsif (/^Routers \((?:built-in|dynamic)\): ?(.*)/)
{
print;
@temp = split /(\s+)/, $1;
push(@temp, ' ');
- %parm_routers = @temp;
+ my %temp_routers = @temp;
+ @parm_routers{keys %temp_routers} = values %temp_routers;
}
# Some transports have options, e.g. appendfile/maildir. For those, ensure
# that the basic transport name is set, and then the name with each of the
# options.
- elsif (/^Transports: (.*)/)
+ elsif (/^Transports \((?:built-in|dynamic)\): (.*)/)
{
print;
@temp = split /(\s+)/, $1;
my($i,$k);
push(@temp, ' ');
- %parm_transports = @temp;
+ my %temp_transports = @temp;
+ @parm_transports{keys %temp_transports} = values %temp_transports;
+
foreach $k (keys %parm_transports)
{
if ($k =~ "/")
"sudo chgrp $parm_eximgroup eximdir/exim_exim;" .
"sudo chmod 06755 eximdir/exim_exim");
+# Copy any libraries that were built for dynamic load
+# Currently this is only for lookup methods
+
+($parm_exim_dir) = $parm_exim =~ m?^(.*)/exim?;
+
+while (my $file = glob("$parm_exim_dir/dynmodules/*.so")) {
+ my $base = basename($file);
+ cp("$file", "eximdir/");
+ system("sudo chmod 755 eximdir/$base");
+ }
+
##################################################
# Make copies of utilities we might need #
##################################################
# Certain of the tests make use of some of Exim's utilities. We do not need
# to be root to copy these.
-($parm_exim_dir) = $parm_exim =~ m?^(.*)/exim?;
-
$dbm_build_deleted = 0;
if (defined $parm_lookups{dbm} && not cp("$parm_exim_dir/exim_dbmbuild", "eximdir/exim_dbmbuild"))
{