[OE-core] [PATCH] package.bbclass: Let PR server update PKGV, not PV
Mike Looijmans
mike.looijmans at topic.nl
Mon Jan 19 09:04:33 UTC 2015
ping?
On 10-01-15 14:46, Mike Looijmans wrote:
> From: Mike Looijmans <mike.looijmans at topic.nl>
>
> PV is the package version as we need it to be during the build. PKGV is the
> final version as it ends up in the package, and defaults to PV.
>
> The packager handled builds without PR-server by replacing the AUTOINC string
> in PKGV, but when the PR-server is being used, the script replaces the contents
> of PKGV with the PV if the PV contains "AUTOINC". Thus the packager overrides
> any change to PKGV the recipe might have made.
> This breaks classes like gitpkgv that provide a correctly numbered PKGV, the
> number as calculated by that class will simply be replaced with a 0-based index
> from the PR-server.
>
> This patch makes the packager look at the PKGV version instead of the PV, and
> update the PKGV only based on the PKGV contents as set by the recipe.
>
> See also the discussion here:
> http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100329.html
>
> From investigating the history of the code and changes in the past year, the
> use of "pv" instead of "pkgv" appears to be just an oversight, introduced in:
> commit b27b438221e16ac3df6ac66d761b77e3bd43db67 "prs: use the PRServer to replace the BB_URI_LOCALCOUNT functionality"
> A later commit 865d001de168915a5796e5c760f96bdd04cebd61 "package/prserv: Merge two similar functions into one"
> silently fixed this only for the case without PR-server by using pkgv there.
>
> Signed-off-by: Mike Looijmans <mike.looijmans at topic.nl>
> ---
> meta/classes/package.bbclass | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index fc501fc..93e2461 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -403,9 +403,10 @@ python package_get_auto_pr() {
> if not (host is None):
> d.setVar("PRSERV_HOST", host)
>
> + pkgv = d.getVar("PKGV", True)
> +
> # PR Server not active, handle AUTOINC
> if not d.getVar('PRSERV_HOST', True):
> - pkgv = d.getVar("PKGV", True)
> if 'AUTOINC' in pkgv:
> d.setVar("PKGV", pkgv.replace("AUTOINC", "0"))
> return
> @@ -428,11 +429,11 @@ python package_get_auto_pr() {
> if conn is None:
> conn = oe.prservice.prserv_make_conn(d)
> if conn is not None:
> - if "AUTOINC" in pv:
> + if "AUTOINC" in pkgv:
> srcpv = bb.fetch2.get_srcrev(d)
> base_ver = "AUTOINC-%s" % version[:version.find(srcpv)]
> value = conn.getPR(base_ver, pkgarch, srcpv)
> - d.setVar("PKGV", pv.replace("AUTOINC", str(value)))
> + d.setVar("PKGV", pkgv.replace("AUTOINC", str(value)))
>
> auto_pr = conn.getPR(version, pkgarch, checksum)
> except Exception as e:
>
Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax: (+31) (0) 499 33 69 70
E-mail: mike.looijmans at topic.nl
Website: www.topic.nl
Please consider the environment before printing this e-mail
Topic zoekt gedreven (embedded) software specialisten!
http://topic.nl/vacatures/topic-zoekt-software-engineers/
More information about the Openembedded-core
mailing list