until substr($file, 0, length $stem) eq $stem;
}
- bless { files => \@files, stem => $stem, notices => [] }, $class
+ bless { files => \@files, stem => $stem,
+ notices => [], installation_successful => 0 }, $class
}
# store additional messages that should appear in the report
# return list of messages stored for the report
sub notices { return @{(shift)->{notices}} }
+ # has this packet been installed into the managed tree?
+ sub successful { (shift)->{installation_successful} }
+
# scaffolding for now...
sub files { @{(shift)->{files}} }
sub file_name_stem { (shift)->{stem} }
::abort "unknown internal operation: $step->[0]";
}
}
+
+ $self->{installation_successful} = 1;
}
}
}
foreach my $packet (@packets) {
- my $complete = 0; # direct flag to indicate successful processing
-
eval { # trap exceptions encountered while processing a packet
local $Phase = 'PS';
$packet->parse;
$Phase = 'EX';
$packet->install_check;
$packet->install;
-
- $complete = 1;
};
# sending a report uses the key index
keyidx_attach;
- if ($complete) {
+ if ($packet->successful) {
local $Phase = 'RP';
# Phone home. E-mail the contents of the directive file to the public