mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
recipetool: create: fix conflict between SRCREV and tag
If you specify 'tag=' for a git URL and passed to recipetool create, you will get into Bitbake expansion error shown below: ----- snip ----- $ devtool add --version 2.4.2 mbedtls "git://github.com/ARMmbed/mbedtls;tag=mbedtls-2.4.2" ... bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Conflicting revisions (abeccb9dbd7e19ae91ac50e1edd3803111c5f9b6 from SRCREV and mbedtls-2.4.2 from the url) found, please specify one valid value ----- snip ----- Assuming the tag is valid, we should get the tag commit hash and drop the usage of 'tag=' from SRC_URI. By using a commit hash corresponding to the tag will prevent bitbake from accessing remote repository in order to expand SRCPV. (From OE-Core rev: 53f8effa3eb07dc7035ff9933e7918318f242579) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
020aa061dd
commit
05bcd72f9f
|
@ -480,7 +480,6 @@ def create_recipe(args):
|
|||
if tag:
|
||||
# Keep a copy of tag and append nobranch=1 then remove tag from URL.
|
||||
# Bitbake fetcher unable to fetch when {AUTOREV} and tag is set at the same time.
|
||||
# We will re-introduce tag argument after bitbake fetcher process is complete.
|
||||
storeTagName = params['tag']
|
||||
params['nobranch'] = '1'
|
||||
del params['tag']
|
||||
|
@ -552,13 +551,11 @@ def create_recipe(args):
|
|||
|
||||
# Since we might have a value in srcbranch, we need to
|
||||
# recontruct the srcuri to include 'branch' in params.
|
||||
scheme, network, path, user, passwd, params = bb.fetch2.decodeurl(srcuri)
|
||||
if srcbranch:
|
||||
scheme, network, path, user, passwd, params = bb.fetch2.decodeurl(srcuri)
|
||||
params['branch'] = srcbranch
|
||||
srcuri = bb.fetch2.encodeurl((scheme, network, path, user, passwd, params))
|
||||
|
||||
if storeTagName and scheme in ['git', 'gitsm']:
|
||||
# Re-introduced tag variable from storeTagName
|
||||
# Check srcrev using tag and check validity of the tag
|
||||
cmd = ('git rev-parse --verify %s' % (storeTagName))
|
||||
try:
|
||||
|
@ -568,6 +565,9 @@ def create_recipe(args):
|
|||
logger.error(str(err))
|
||||
logger.error("Possibly wrong tag name is provided")
|
||||
sys.exit(1)
|
||||
# Drop tag from srcuri as it will have conflicts with SRCREV during recipe parse.
|
||||
del params['tag']
|
||||
srcuri = bb.fetch2.encodeurl((scheme, network, path, user, passwd, params))
|
||||
|
||||
if os.path.exists(os.path.join(srctree, '.gitmodules')) and srcuri.startswith('git://'):
|
||||
srcuri = 'gitsm://' + srcuri[6:]
|
||||
|
|
Loading…
Reference in New Issue
Block a user