From: Erik Botö Date: Mon, 6 Nov 2017 18:13:06 +0000 (-0800) Subject: sshcontrol.py: in copy_to() always use scp X-Git-Tag: uninative-1.8~1239 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=1eb2a9c2f48d3af13ce651f1adf024b3380299d1;p=openembedded-core.git sshcontrol.py: in copy_to() always use scp The current implementation is broken when the localpath is a link. Then only a symlink would be created on the target, instead of copying the actual file. [YOCTO #11524] Signed-off-by: Erik Botö Signed-off-by: Stephano Cetola Signed-off-by: Ross Burton --- diff --git a/meta/lib/oeqa/utils/sshcontrol.py b/meta/lib/oeqa/utils/sshcontrol.py index 05d6502550..d292893c08 100644 --- a/meta/lib/oeqa/utils/sshcontrol.py +++ b/meta/lib/oeqa/utils/sshcontrol.py @@ -150,12 +150,9 @@ class SSHControl(object): def copy_to(self, localpath, remotepath): if os.path.islink(localpath): - link = os.readlink(localpath) - dst_dir, dst_base = os.path.split(remotepath) - return self.run("cd %s; ln -s %s %s" % (dst_dir, link, dst_base)) - else: - command = self.scp + [localpath, '%s@%s:%s' % (self.user, self.ip, remotepath)] - return self._internal_run(command, ignore_status=False) + localpath = os.path.dirname(localpath) + "/" + os.readlink(localpath) + command = self.scp + [localpath, '%s@%s:%s' % (self.user, self.ip, remotepath)] + return self._internal_run(command, ignore_status=False) def copy_from(self, remotepath, localpath): command = self.scp + ['%s@%s:%s' % (self.user, self.ip, remotepath), localpath]