All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Asselstine <mark.asselstine@windriver.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>,
	Stefan Herbrechtsmeier
	<stefan.herbrechtsmeier-oss@weidmueller.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>,
	Lukas Funke <lukas.funke@weidmueller.com>,
	Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Subject: Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function
Date: Wed, 11 May 2022 15:47:27 -0400	[thread overview]
Message-ID: <833622a5-69ad-5541-e9b7-2617c0462321@windriver.com> (raw)
In-Reply-To: <80f21134-10da-402f-de0b-2c52a599a845@windriver.com>



On 2022-05-11 15:45, Mark Asselstine wrote:
> 
> 
> On 2022-05-06 03:09, Alexander Kanavin wrote:
>> I think the terminology is a bit confused here, instead of 'command'
>> it should say 'recipe'. Also:
>> """Check if the command is available in the recipes""" is not
>> everything it does, it also builds the recipe.
>>
>> And please write a commit message that explains what and why.
> 
> Additionally, I would squash commits 1/5 and 2/5. Most people, including 
> myself, will review the commits in order, in doing so commit 1/5 is 
> reviewed as original work, only to find in 2/5 that it was an existing 
> function, just made generic. Combining these also makes it easier when 
> mining history.
> 

I suspect this will need rework as the assumption that a command and 
package name are 1:1 might have only been valid with NPM but definitely 
won't be the case for many commands.

MarkA


> MarkA
> 
> 
>>
>> Alex
>>
>> On Fri, 6 May 2022 at 09:00, Stefan Herbrechtsmeier
>> <stefan.herbrechtsmeier-oss@weidmueller.com> wrote:
>>>
>>> From: Lukas Funke <lukas.funke@weidmueller.com>
>>>
>>> Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
>>> Signed-off-by: Stefan Herbrechtsmeier 
>>> <stefan.herbrechtsmeier@weidmueller.com>
>>> ---
>>>
>>>   scripts/lib/recipetool/create.py | 23 +++++++++++++++++++++++
>>>   1 file changed, 23 insertions(+)
>>>
>>> diff --git a/scripts/lib/recipetool/create.py 
>>> b/scripts/lib/recipetool/create.py
>>> index 824ac6350d..efcb82173e 100644
>>> --- a/scripts/lib/recipetool/create.py
>>> +++ b/scripts/lib/recipetool/create.py
>>> @@ -1375,6 +1375,29 @@ def convert_rpm_xml(xmlfile):
>>>                       values[varname] = child[0].text
>>>       return values
>>>
>>> +def ensure_native_cmd(tinfoil, cmd):
>>> +    """Check if the command is available in the recipes"""
>>> +    if not tinfoil.recipes_parsed:
>>> +        tinfoil.parse_recipes()
>>> +
>>> +    try:
>>> +        d = tinfoil.parse_recipe("%s-native" % cmd)
>>> +    except bb.providers.NoProvider:
>>> +        bb.error("Nothing provides '%s-native' which is required for 
>>> the build" % cmd)
>>> +        bb.note("You will likely need to add a layer that provides 
>>> %s" % cmd)
>>> +        sys.exit(14)
>>> +
>>> +    bindir = d.getVar("STAGING_BINDIR_NATIVE")
>>> +    cmdpath = os.path.join(bindir, cmd)
>>> +
>>> +    if not os.path.exists(cmdpath):
>>> +        tinfoil.build_targets("%s-native" % cmd, 
>>> "addto_recipe_sysroot")
>>> +
>>> +        if not os.path.exists(cmdpath):
>>> +            bb.error("Failed to add '%s' to sysroot" % cmd)
>>> +            sys.exit(14)
>>> +
>>> +    return bindir
>>>
>>>   def register_commands(subparsers):
>>>       parser_create = subparsers.add_parser('create',
>>> -- 
>>> 2.30.2
>>>
>>>
>>>
>>>
>>>
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online (#165330): 
>>> https://lists.openembedded.org/g/openembedded-core/message/165330
>>> Mute This Topic: https://lists.openembedded.org/mt/90928682/3616946
>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
>>> [mark.asselstine@windriver.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>


  reply	other threads:[~2022-05-11 19:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-06  6:59 [PATCH 1/5] recipetool-create: add ensure_native_cmd function Stefan Herbrechtsmeier
2022-05-06  6:59 ` [PATCH 2/5] create_npm: reuse ensure_native_cmd from create.py Stefan Herbrechtsmeier
2022-05-06  6:59 ` [PATCH 3/5] poky-meta: add go vendor class for offline builds Stefan Herbrechtsmeier
2022-05-11 20:42   ` [OE-core] " Mark Asselstine
2022-05-06  6:59 ` [PATCH 4/5] recipetool: add go recipe generator Stefan Herbrechtsmeier
2022-05-06  7:15   ` [OE-core] " Alexander Kanavin
2022-05-11 20:37     ` Mark Asselstine
2022-05-06  6:59 ` [PATCH 5/5] oe-selftest: add go recipe create selftest Stefan Herbrechtsmeier
2022-05-06  7:16   ` [OE-core] " Alexander Kanavin
2022-05-11 20:08     ` Mark Asselstine
2022-05-06  7:09 ` [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function Alexander Kanavin
2022-05-11 19:45   ` Mark Asselstine
2022-05-11 19:47     ` Mark Asselstine [this message]
2022-05-09 21:46 ` Luca Ceresoli
2022-05-11  6:54   ` Stefan Herbrechtsmeier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=833622a5-69ad-5541-e9b7-2617c0462321@windriver.com \
    --to=mark.asselstine@windriver.com \
    --cc=alex.kanavin@gmail.com \
    --cc=lukas.funke@weidmueller.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=stefan.herbrechtsmeier-oss@weidmueller.com \
    --cc=stefan.herbrechtsmeier@weidmueller.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.