summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/wget.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/fetch2/wget.py')
-rw-r--r--bitbake/lib/bb/fetch2/wget.py15
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