summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/ssh.py
diff options
context:
space:
mode:
authorDaniel Wagenknecht <dwagenknecht@emlix.com>2022-03-02 20:50:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-04 17:24:53 +0000
commitfe0d6dbef5583a2382bdee6a6dcabc6248588d1e (patch)
tree22ce51972871f9148d5ae6cc45573283b472932f /bitbake/lib/bb/fetch2/ssh.py
parent5937b2e07306ec77c14a98dc90f011dd8c90e92e (diff)
downloadpoky-fe0d6dbef5583a2382bdee6a6dcabc6248588d1e.tar.gz
bitbake: fetch2: ssh: support checkstatus
This implements support for sstate mirrors using ssh as transport protocol. (Bitbake rev: 0a3b5b3de7bcb1c5c3748cba42d394cc484e966b) Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch2/ssh.py')
-rw-r--r--bitbake/lib/bb/fetch2/ssh.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/bitbake/lib/bb/fetch2/ssh.py b/bitbake/lib/bb/fetch2/ssh.py
index a985de4ce0..484453088f 100644
--- a/bitbake/lib/bb/fetch2/ssh.py
+++ b/bitbake/lib/bb/fetch2/ssh.py
@@ -113,3 +113,43 @@ class SSH(FetchMethod):
113 113
114 runfetchcmd(cmd, d) 114 runfetchcmd(cmd, d)
115 115
116 def checkstatus(self, fetch, urldata, d):
117 """
118 Check the status of the url
119 """
120 m = __pattern__.match(urldata.url)
121 path = m.group('path')
122 host = m.group('host')
123 port = m.group('port')
124 user = m.group('user')
125 password = m.group('pass')
126
127 if port:
128 portarg = '-P %s' % port
129 else:
130 portarg = ''
131
132 if user:
133 fr = user
134 if password:
135 fr += ':%s' % password
136 fr += '@%s' % host
137 else:
138 fr = host
139
140 if path[0] != '~':
141 path = '/%s' % path
142 path = path.replace("%3A", ":")
143
144 cmd = 'ssh -o BatchMode=true %s %s [ -f %s ]' % (
145 portarg,
146 fr,
147 path
148 )
149
150 check_network_access(d, cmd, urldata.url)
151
152 if runfetchcmd(cmd, d):
153 return True
154
155 return False