diff options
Diffstat (limited to 'bitbake/lib/bb/fetch2/wget.py')
-rw-r--r-- | bitbake/lib/bb/fetch2/wget.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py index 85485bfa22..1a585a5743 100644 --- a/bitbake/lib/bb/fetch2/wget.py +++ b/bitbake/lib/bb/fetch2/wget.py | |||
@@ -233,7 +233,7 @@ class Wget(FetchMethod): | |||
233 | If error or no version, return "" | 233 | If error or no version, return "" |
234 | """ | 234 | """ |
235 | valid = 0 | 235 | valid = 0 |
236 | version = self._parse_path(self.package_regex_comp, package) | 236 | version = self._parse_path(self.package_custom_regex_comp, package) |
237 | 237 | ||
238 | bb.debug(3, "VersionURL: %s" % (url)) | 238 | bb.debug(3, "VersionURL: %s" % (url)) |
239 | soup = BeautifulSoup(self._fetch_index(url, ud, d)) | 239 | soup = BeautifulSoup(self._fetch_index(url, ud, d)) |
@@ -258,7 +258,7 @@ class Wget(FetchMethod): | |||
258 | else: | 258 | else: |
259 | continue | 259 | continue |
260 | else: | 260 | else: |
261 | newver = self._parse_path(self.package_regex_comp, line['href']) | 261 | newver = self._parse_path(self.package_custom_regex_comp, line['href']) |
262 | valid = 1 | 262 | valid = 1 |
263 | if newver and self._vercmp(version, newver) == True: | 263 | if newver and self._vercmp(version, newver) == True: |
264 | version = newver | 264 | version = newver |
@@ -275,7 +275,7 @@ class Wget(FetchMethod): | |||
275 | 275 | ||
276 | return None | 276 | return None |
277 | 277 | ||
278 | def _init_regexes(self): | 278 | def _init_regexes(self, package): |
279 | """ | 279 | """ |
280 | Match as many patterns as possible such as: | 280 | Match as many patterns as possible such as: |
281 | gnome-common-2.20.0.tar.gz (most common format) | 281 | gnome-common-2.20.0.tar.gz (most common format) |
@@ -317,6 +317,13 @@ class Wget(FetchMethod): | |||
317 | # "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz | 317 | # "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz |
318 | self.dirver_regex_comp = re.compile("(?P<dirver>[^/]*(\d+\.)*\d+([\-_]r\d+)*)/") | 318 | self.dirver_regex_comp = re.compile("(?P<dirver>[^/]*(\d+\.)*\d+([\-_]r\d+)*)/") |
319 | 319 | ||
320 | # get current version and make custom regex for search in uri's | ||
321 | version = self._parse_path(self.package_regex_comp, package) | ||
322 | if version: | ||
323 | self.package_custom_regex_comp = re.compile( | ||
324 | "(?P<name>%s)(?P<ver>%s)(?P<arch>%s)?[\.\-](?P<type>%s)$" % | ||
325 | (version[0], pver_regex, parch_regex, psuffix_regex)) | ||
326 | |||
320 | def latest_versionstring(self, ud, d): | 327 | def latest_versionstring(self, ud, d): |
321 | """ | 328 | """ |
322 | Manipulate the URL and try to obtain the latest package version | 329 | Manipulate the URL and try to obtain the latest package version |
@@ -328,7 +335,7 @@ class Wget(FetchMethod): | |||
328 | newpath = regex_uri or ud.path | 335 | newpath = regex_uri or ud.path |
329 | pupver = "" | 336 | pupver = "" |
330 | 337 | ||
331 | self._init_regexes() | 338 | self._init_regexes(package) |
332 | 339 | ||
333 | if not regex_uri: | 340 | if not regex_uri: |
334 | # generate the new uri with the appropriate latest directory | 341 | # generate the new uri with the appropriate latest directory |