[OE-core] [PATCH] distrodata.bbclass: Include PRSPV variable in upstream version checking
Saul Wold
sgw at linux.intel.com
Thu Jul 18 19:23:33 UTC 2013
On 07/18/2013 09:08 AM, Emilia Ciobanu wrote:
> The PRSPV variable is used for the packages that have different
> representation for a same upstream and local version (e.g 2.0 vs 20).
> In this case, the system is using PRSPV instead of PV when comparing
> the local and upstream versions.
>
> The packages that are using this modification are the following:
> * zip
> * unzip
> * docbook-sgml-dtd-3.1-native
> * docbook-sgml-dtd-4.1-native
>
I thought we were going to look into use regex instead of adding a new
variable.
This also seems to contain some white space changes, those should be in
a seperate patch.
Sau!
> Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu at intel.com>
> ---
> meta/classes/distrodata.bbclass | 39 ++++++++++++++++++++++++++-------------
> 1 file changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/meta/classes/distrodata.bbclass b/meta/classes/distrodata.bbclass
> index 204612c..af52dd5 100644
> --- a/meta/classes/distrodata.bbclass
> +++ b/meta/classes/distrodata.bbclass
> @@ -71,7 +71,7 @@ python do_distrodata_np() {
> rstatus = localdata.getVar('RECIPE_COLOR', True)
> if rstatus is not None:
> rstatus = rstatus.replace(',','')
> -
> +
> pupver = localdata.getVar('RECIPE_UPSTREAM_VERSION', True)
> if pcurver == pupver:
> vermatch="1"
> @@ -157,7 +157,7 @@ python do_distrodata() {
> rstatus = localdata.getVar('RECIPE_COLOR', True)
> if rstatus is not None:
> rstatus = rstatus.replace(',','')
> -
> +
> pupver = localdata.getVar('RECIPE_UPSTREAM_VERSION', True)
> if pcurver == pupver:
> vermatch="1"
> @@ -408,7 +408,7 @@ python do_checkpkg() {
> s = "%s[^\d\"]*?(\d+[\.\-_])+\d+/?" % m.group()
> else:
> s = "(\d+[\.\-_])+\d+/?"
> -
> +
> searchstr = "[hH][rR][eE][fF]=\"%s\">" % s
>
> reg = re.compile(searchstr)
> @@ -563,7 +563,10 @@ python do_checkpkg() {
> chk_uri = src_uri
> pdesc = localdata.getVar('DESCRIPTION', True)
> pgrp = localdata.getVar('SECTION', True)
> - pversion = localdata.getVar('PV', True)
> + if localdata.getVar('PRSPV', True):
> + pversion = localdata.getVar('PRSPV', True)
> + else:
> + pversion = localdata.getVar('PV', True)
> plicense = localdata.getVar('LICENSE', True)
> psection = localdata.getVar('SECTION', True)
> phome = localdata.getVar('HOMEPAGE', True)
> @@ -590,31 +593,41 @@ python do_checkpkg() {
>
> (type, host, path, user, pswd, parm) = bb.decodeurl(uri)
> if type in ['http', 'https', 'ftp']:
> - pcurver = d.getVar('PV', True)
> + if d.getVar('PRSPV', True):
> + pcurver = d.getVar('PRSPV', True)
> + else:
> + pcurver = d.getVar('PV', True)
> else:
> - pcurver = d.getVar("SRCREV", True)
> + if d.getVar('PRSPV', True):
> + pcurver = d.getVar('PRSPV', True)
> + else:
> + pcurver = d.getVar("SRCREV", True)
> +
>
> if type in ['http', 'https', 'ftp']:
> newver = pcurver
> altpath = path
> dirver = "-"
> curname = "-"
> -
> +
> """
> match version number amid the path, such as "5.7" in:
> - http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
> + http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
> N.B. how about sth. like "../5.7/5.8/..."? Not find such example so far :-P
> """
> m = re.search(r"[^/]*(\d+\.)+\d+([\-_]r\d+)*/", path)
> if m:
> altpath = path.split(m.group())[0]
> dirver = m.group().strip("/")
> -
> +
> """use new path and remove param. for wget only param is md5sum"""
> alturi = bb.encodeurl([type, host, altpath, user, pswd, {}])
> my_uri = d.getVar('REGEX_URI', True)
> if my_uri:
> - newver = d.getVar('PV', True)
> + if d.getVar('PRSPV', True):
> + newver = d.getVar('PRSPV', True)
> + else:
> + newver = d.getVar('PV', True)
> else:
> newver = check_new_dir(alturi, dirver, d)
> altpath = path
> @@ -624,7 +637,7 @@ python do_checkpkg() {
> """Now try to acquire all remote files in current directory"""
> if not re.match("Err", newver):
> curname = altpath.split("/")[-1]
> -
> +
> """get remote name by skipping pacakge name"""
> m = re.search(r"/.*/", altpath)
> if not m:
> @@ -650,7 +663,7 @@ python do_checkpkg() {
> pstatus = "UPDATE"
> else:
> pstatus = "MATCH"
> -
> +
> if re.match("Err", newver):
> pstatus = newver + ":" + altpath + ":" + dirver + ":" + curname
> elif type == 'git':
> @@ -796,7 +809,7 @@ python do_checkpkg() {
> pmstatus = "MATCH"
> else:
> pmstatus = "UPDATE"
> -
> +
> psrcuri = psrcuri.split()[0]
> pdepends = "".join(pdepends.split("\t"))
> pdesc = "".join(pdesc.split("\t"))
>
More information about the Openembedded-core
mailing list