@@ -299,7 +299,9 @@ python package_get_auto_pr() {
pr = d.getVar('PR')
# Strip PR to make AUTOINC can increase when SRCREV is changed
base_ver = "AUTOINC-%s" % version[:-len(pr)]
- srcpv = bb.fetch2.get_srcrev(d)
+ srcpv = d.getVar("EXTERNALSRC_PKGV_SUFFIX")
+ if srcpv is None:
+ srcpv = bb.fetch2.get_srcrev(d)
value = conn.getPR(base_ver, pkgarch, srcpv)
d.setVar("PRSERV_PV_AUTOINC", str(value))
@@ -319,7 +321,9 @@ python package_get_auto_pr() {
python package_setup_pkgv() {
pkgv = d.getVar("PKGV")
# Expand SRCPV into PKGV if not present
- srcpv = bb.fetch.get_pkgv_string(d)
+ srcpv = d.getVar("EXTERNALSRC_PKGV_SUFFIX")
+ if srcpv is None:
+ srcpv = bb.fetch.get_pkgv_string(d)
if srcpv and "+" in pkgv:
d.appendVar("PKGV", srcpv)
pkgv = d.getVar("PKGV")
@@ -78,6 +78,9 @@ python () {
d.setVar('B', '${WORKDIR}/${BPN}-${PV}')
bb.fetch.get_hashvalue(d)
+ # Keep the source version available for packaging. SCM URLs are removed
+ # below so externalsrc does not fetch or unpack the external source.
+ d.setVar('EXTERNALSRC_PKGV_SUFFIX', bb.fetch.get_pkgv_string(d))
local_srcuri = []
fetch = bb.fetch2.Fetch((d.getVar('SRC_URI') or '').split(), d)
for url in fetch.urls:
externalsrc removes SCM URLs from SRC_URI before packaging, so the packaging fetcher cannot derive the source revision for devtool builds. Capture the formatted source-version suffix before filtering and reuse it for package version and AUTOINC PR-service handling. This keeps the normal fetcher path unchanged and avoids restoring a copied datastore. Signed-off-by: Paddy Chiu <paddy.chiu@oss.qualcomm.com> --- meta/classes-global/package.bbclass | 8 ++++++-- meta/classes/externalsrc.bbclass | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-)