diff options
Diffstat (limited to 'bitbake/lib')
| -rw-r--r-- | bitbake/lib/bb/fetch2/ssh.py | 40 |
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 | ||
