urpmi
view release on metacpan or search on metacpan
urpm/download.pm view on Meta::CPAN
#- connection can be reused
our $SSH_CONTROL_DIR = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
our $SSH_CONTROL_OPTION;
sub sync_ssh {
$SSH_PATH or _init_ssh_path();
$SSH_PATH or die N("ssh is missing\n");
my $options = shift;
$options = { dir => $options } if !ref $options;
unless ($options->{'rsync-options'} =~ /(?:-e|--rsh)\b/) {
my ($server, $user) = ('', getpwuid($<));
$_[0] =~ /((?:\w|\.)*):/ and $server = $1;
$_[0] =~ /((?:\w|-)*)@/ and $user = $1;
$SSH_CONTROL_OPTION = "-o 'ControlPath $SSH_CONTROL_DIR/ssh-urpmi-$$-%h_%p_%r' -o 'ControlMaster auto'";
if (start_ssh_master($server, $user)) {
$options->{ssh} = qq("$SSH_PATH $SSH_CONTROL_OPTION");
} else {
#- can't start master, use single connection
$options->{ssh} = $SSH_PATH;
}
}
( run in 0.320 second using v1.01-cache-2.11-cpan-454fe037f31 )