Same problem with amdump.

Try the attached patch.

Jean-Louis

Gunnarsson, Gunnar wrote:
Hi,
I a minor issue regarding $config_overrides that are not beeing propagated to the call in amreport thus ignoring setting
such as tapettype mailto etc.
debug("invoking amreport..");
system("$sbindir/amreport", $self->{'config_name'}, "--from-amdump"\
);
Thanks Gunnar Gunnarsson

diff --git a/server-src/amdump.pl b/server-src/amdump.pl
index 69fe151..4caf718 100644
--- a/server-src/amdump.pl
+++ b/server-src/amdump.pl
@@ -151,7 +151,7 @@ INFO amdump amdump pid $$
 START driver date $timestamp
 ERROR amdump $msg
 EOF
-    run_subprocess("$sbindir/amreport", $config_name, '--from-amdump', '-l', $fakelogfile);
+    run_subprocess("$sbindir/amreport", $config_name, '--from-amdump', '-l', $fakelogfile, @config_overrides_opts);
     unlink($fakelogfile);
 
     # and we're done here
@@ -164,7 +164,7 @@ sub do_amcleanup {
     # logfiles are still around.  First, try an amcleanup -p to see if
     # the actual processes are already dead
     debug("runing amcleanup -p");
-    run_subprocess("$sbindir/amcleanup", '-p', $config_name);
+    run_subprocess("$sbindir/amcleanup", '-p', $config_name, @config_overrides_opts);
 
     # and check again
     return unless -f $amdump_log_filename || -f $trace_log_filename;
@@ -262,7 +262,7 @@ sub planner_driver_pipeline {
 
 sub do_amreport {
     debug("running amreport");
-    run_subprocess("$sbindir/amreport", $config_name, '--from-amdump');
+    run_subprocess("$sbindir/amreport", $config_name, '--from-amdump', @config_overrides_opts);
 }
 
 sub roll_trace_logs {
@@ -273,12 +273,12 @@ sub roll_trace_logs {
 
 sub trim_trace_logs {
     debug("trimming old trace logs");
-    run_subprocess("$amlibexecdir/amtrmlog", $config_name);
+    run_subprocess("$amlibexecdir/amtrmlog", $config_name, @config_overrides_opts);
 }
 
 sub trim_indexes {
     debug("trimming old indexes");
-    run_subprocess("$amlibexecdir/amtrmidx", $config_name);
+    run_subprocess("$amlibexecdir/amtrmidx", $config_name, @config_overrides_opts);
 }
 
 sub roll_amdump_logs {
diff --git a/server-src/amvault.pl b/server-src/amvault.pl
index 2646a4d..c89a6fa 100644
--- a/server-src/amvault.pl
+++ b/server-src/amvault.pl
@@ -140,6 +140,7 @@ sub new {
 
 	exporting => 0, # is an export in progress?
 	call_after_export => undef, # call this when export complete
+	config_overrides_opts => $params{'config_overrides_opts'},
 
 	# called when the operation is complete, with the exit
 	# status
@@ -625,8 +626,10 @@ sub quit {
 	    log_add_full($L_FINISH, "driver", "fake driver finish");
 	    log_add($L_INFO, "pid-done $$");
 
-	    debug("invoking amreport..");
-	    system("$sbindir/amreport", $self->{'config_name'}, "--from-amdump");
+	    my @amreport_cmd = ("$sbindir/amreport", $self->{'config_name'}, "--from-amdump",
+				 @{$self->{'config_overrides_opts'}});
+	    debug("invoking amreport (" . join(" ", @amreport_cmd) . ")");
+	    system(@amreport_cmd);
 
 	    debug("rolling logfile..");
 	    log_rename($self->{'dst_write_timestamp'});
@@ -894,6 +897,7 @@ EOF
 Amanda::Util::setup_application("amvault", "server", $CONTEXT_CMDLINE);
 
 my $config_overrides = new_config_overrides($#ARGV+1);
+my @config_overrides_opts;
 my $opt_quiet = 0;
 my $opt_dry_run = 0;
 my $opt_fulls_only = 0;
@@ -932,7 +936,10 @@ sub add_autolabel {
 
 Getopt::Long::Configure(qw{ bundling });
 GetOptions(
-    'o=s' => sub { add_config_override_opt($config_overrides, $_[1]); },
+    'o=s' => sub {
+	push @config_overrides_opts, "-o" . $_[1];
+	add_config_override_opt($config_overrides, $_[1]);
+    },
     'q|quiet' => \$opt_quiet,
     'n|dry-run' => \$opt_dry_run,
     'fulls-only' => \$opt_fulls_only,
@@ -986,7 +993,8 @@ my $vault = Amvault->new(
     opt_dry_run => $opt_dry_run,
     quiet => $opt_quiet,
     fulls_only => $opt_fulls_only,
-    opt_export => $opt_export);
+    opt_export => $opt_export,
+    config_overrides_opts => \...@config_overrides_opts);
 Amanda::MainLoop::call_later(sub { $vault->run($exit_cb) });
 Amanda::MainLoop::run();
 

Reply via email to