mirror of https://github.com/digint/btrbk
btrbk: add config_key_lru comfort function
parent
68d5fe3f55
commit
db7082b4bc
29
btrbk
29
btrbk
|
@ -2023,9 +2023,7 @@ sub system_realpath($)
|
||||||
{
|
{
|
||||||
my $vol = shift // die;
|
my $vol = shift // die;
|
||||||
my $path = $vol->{PATH} // die;
|
my $path = $vol->{PATH} // die;
|
||||||
my $compat = (($vol->{HOST} && config_key($vol, "compat_remote")) //
|
my $compat = config_key_lru($vol, "compat", "busybox");
|
||||||
config_key($vol, "compat_local") //
|
|
||||||
config_key($vol, "compat")) // "" eq "busybox";
|
|
||||||
my @options = ("-v"); # report error messages
|
my @options = ("-v"); # report error messages
|
||||||
push @options, "-e" unless($compat); # all components must exist (not available in busybox!)
|
push @options, "-e" unless($compat); # all components must exist (not available in busybox!)
|
||||||
push @options, "-f" if($compat); # all but the last component must exist.
|
push @options, "-f" if($compat); # all but the last component must exist.
|
||||||
|
@ -2837,14 +2835,7 @@ sub vinfo_cmd($$@)
|
||||||
my $cmd = shift || die;
|
my $cmd = shift || die;
|
||||||
my @cmd_args = @_;
|
my @cmd_args = @_;
|
||||||
my $ret;
|
my $ret;
|
||||||
my $backend;
|
my $backend = config_key_lru($vinfo, "backend") // die;
|
||||||
if(defined($vinfo->{HOST})) {
|
|
||||||
$backend //= config_key($vinfo, "backend_remote");
|
|
||||||
} else {
|
|
||||||
$backend //= config_key($vinfo, "backend_local_user") if($>); # $EUID, $EFFECTIVE_USER_ID
|
|
||||||
$backend //= config_key($vinfo, "backend_local");
|
|
||||||
}
|
|
||||||
$backend //= config_key($vinfo, "backend") // die;
|
|
||||||
my $cmd_mapped = $backend_cmd_map{$backend}{$cmd};
|
my $cmd_mapped = $backend_cmd_map{$backend}{$cmd};
|
||||||
if(defined($cmd_mapped)) {
|
if(defined($cmd_mapped)) {
|
||||||
TRACE "vinfo_cmd: found mapping for backend=$backend cmd=\"$cmd\": " . join(' ', @$cmd_mapped) if($do_trace);
|
TRACE "vinfo_cmd: found mapping for backend=$backend cmd=\"$cmd\": " . join(' ', @$cmd_mapped) if($do_trace);
|
||||||
|
@ -3932,6 +3923,22 @@ sub config_key($$;$)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub config_key_lru($$;$) {
|
||||||
|
my $vinfo = shift || die;
|
||||||
|
my $key = shift || die;
|
||||||
|
my $match = shift;
|
||||||
|
my $retval;
|
||||||
|
if(defined($vinfo->{HOST})) {
|
||||||
|
$retval //= config_key($vinfo, $key . "_remote", $match);
|
||||||
|
} else {
|
||||||
|
$retval //= config_key($vinfo, $key . "_local_user", $match) if($>); # $EUID, $EFFECTIVE_USER_ID
|
||||||
|
$retval //= config_key($vinfo, $key . "_local", $match);
|
||||||
|
}
|
||||||
|
$retval //= config_key($vinfo, $key, $match);
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sub config_preserve_hash($$;@)
|
sub config_preserve_hash($$;@)
|
||||||
{
|
{
|
||||||
my $config = shift || die;
|
my $config = shift || die;
|
||||||
|
|
Loading…
Reference in New Issue