$dopts= $3;
$prefix= '<local>';
$pcstr= '';
- stat $atf or die "stat $atf: $!";
- -d _ or die "not a dir: $atf";
$rstr= '';
} elsif ($tf =~ m#^(/\S*)\s+(\w+)([,=0-9a-z]*)\s+(\w+)$#) {
# Line of form '[/device:]/file/system dumptype[,options] prefix'
$dev = $atf =~ s,^(.*)\:,, ? $1 : '';
+ if (!length $pcstr) {
+ stat $atf or die "stat $atf: $!";
+ -d _ or die "not a dir: $atf";
+ }
+
undef %dopt;
foreach $dopt (split /\,/,$dopts) {
- if (grep { $dopt eq $_ } qw(gz)) {
+ if (grep { $dopt eq $_ } qw(gz noinc)) {
$dopt{$dopt}= 'y';
- if (grep { $dopt eq $_ } qw(snap)) {
+ } elsif (grep { $dopt eq $_ } qw(snap)) {
$dopt{$dopt}= $dopt;
} elsif ($dopt =~ m/\=/ && grep { $` eq $_ } qw(gz snap)) {
$dopt{$`}= $';
$$gzo= '';
}
}
+
+ if (length $dopt{'snap'}) {
+ length $dev or die "$pcstr:$atf no device but needed for snap";
+ }
}
sub execute ($) {
}
sub prepfsys () {
+ $dev_print= $dev;
+ $atf_print= $atf;
+
if (length $dopt{'snap'}) {
+
system('snap-drop'); $? and die $?;
$snapscripts= '/etc/chiark-backup/snap';
- $snapbase= "$rstr $snapscripts/$dopt{'snap'} /var/lib/chiark-backup";
+ $snapbase= "$rstr $snapscripts/$dopt{'snap'}";
+ $snapargs= "/var/lib/chiark-backup";
- $snapsnap= "$snapbase snap $dev $atf";
- $snapdrop= "$snapbase drop";
+ $snapsnap= "$snapbase snap $snapargs $dev $atf";
+ $snapdrop= "$snapbase drop $snapargs";
open SD, ">snap-drop.new" or die $!;
print SD $snapdrop,"\n" or die $!;