[OE-core] [PATCH] recipetool: create: fix conflict between SRCREV and tag

Chang, Rebecca Swee Fun rebecca.swee.fun.chang at intel.com
Tue Dec 12 11:47:32 UTC 2017


Thank you, please let me know if the patch need a v2.

Rebecca

From: Ross Burton <ross.burton at intel.com>
Date: Monday, 11 December 2017 at 9:34 PM
To: "Chang, Rebecca Swee Fun" <rebecca.swee.fun.chang at intel.com>
Cc: OpenEmbedded Core Mailing List <openembedded-core at lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] recipetool: create: fix conflict between SRCREV and tag

I think there were selftest failures and I removed it to see what happened, added back again now.

Ross

On 11 December 2017 at 01:10, Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com<mailto:rebecca.swee.fun.chang at intel.com>> wrote:
Ping again.
I noticed that it was on mut2 2 weeks ago. I think this was dropped somehow at that point. May I know what I can do in order to make it into M1 cycle?

Thanks,
Rebecca


On 15/11/2017, 10:00 AM, "openembedded-core-bounces at lists.openembedded.org<mailto:openembedded-core-bounces at lists.openembedded.org> on behalf of Chang Rebecca Swee Fun" <openembedded-core-bounces at lists.openembedded.org<mailto:openembedded-core-bounces at lists.openembedded.org> on behalf of rebecca.swee.fun.chang at intel.com<mailto:rebecca.swee.fun.chang at intel.com>> wrote:

    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<http://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.

    Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com<mailto:rebecca.swee.fun.chang at intel.com>>
    ---
     scripts/lib/recipetool/create.py | 8 ++++----
     1 file changed, 4 insertions(+), 4 deletions(-)

    diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
    index 54e7e85..2fc9e0a 100644
    --- a/scripts/lib/recipetool/create.py
    +++ b/scripts/lib/recipetool/create.py
    @@ -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:]
    --
    2.7.4

    --
    _______________________________________________
    Openembedded-core mailing list
    Openembedded-core at lists.openembedded.org<mailto:Openembedded-core at lists.openembedded.org>
    http://lists.openembedded.org/mailman/listinfo/openembedded-core


--
_______________________________________________
Openembedded-core mailing list
Openembedded-core at lists.openembedded.org<mailto:Openembedded-core at lists.openembedded.org>
http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20171212/03ddeaa6/attachment-0002.html>


More information about the Openembedded-core mailing list