Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-11 Thread Mark Asselstine



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
 wrote:


From: Lukas Funke 

Signed-off-by: Lukas Funke 
Signed-off-by: Stefan Herbrechtsmeier 


---

  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 (#165524): 
https://lists.openembedded.org/g/openembedded-core/message/165524
Mute This Topic: https://lists.openembedded.org/mt/90928682/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-11 Thread Mark Asselstine



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.


MarkA




Alex

On Fri, 6 May 2022 at 09:00, Stefan Herbrechtsmeier
 wrote:


From: Lukas Funke 

Signed-off-by: Lukas Funke 
Signed-off-by: Stefan Herbrechtsmeier 
---

  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 (#165523): 
https://lists.openembedded.org/g/openembedded-core/message/165523
Mute This Topic: https://lists.openembedded.org/mt/90928682/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-11 Thread Stefan Herbrechtsmeier

Hi Luca,

Lukas will check the logs and fix the problem.

Regards
  Stefan

Am 09.05.2022 um 23:46 schrieb Luca Ceresoli:

Hello Stefan,

Il giorno Fri,  6 May 2022 08:59:13 +0200
"Stefan Herbrechtsmeier" 
ha scritto:


From: Lukas Funke 

Signed-off-by: Lukas Funke 
Signed-off-by: Stefan Herbrechtsmeier



Testing builds with your series trigger many build failures related to
recipetool. Can you check these logs?

https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/3557/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/3506/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/3527/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/3566/steps/14/logs/stdio




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#165487): 
https://lists.openembedded.org/g/openembedded-core/message/165487
Mute This Topic: https://lists.openembedded.org/mt/90928682/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-09 Thread Luca Ceresoli via lists.openembedded.org
Hello Stefan,

Il giorno Fri,  6 May 2022 08:59:13 +0200
"Stefan Herbrechtsmeier" 
ha scritto:

> From: Lukas Funke 
> 
> Signed-off-by: Lukas Funke 
> Signed-off-by: Stefan Herbrechtsmeier
> 

Testing builds with your series trigger many build failures related to
recipetool. Can you check these logs?

https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/3557/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/3506/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/3527/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/3566/steps/14/logs/stdio



-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#165406): 
https://lists.openembedded.org/g/openembedded-core/message/165406
Mute This Topic: https://lists.openembedded.org/mt/90928682/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-06 Thread Alexander Kanavin
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.

Alex

On Fri, 6 May 2022 at 09:00, Stefan Herbrechtsmeier
 wrote:
>
> From: Lukas Funke 
>
> Signed-off-by: Lukas Funke 
> Signed-off-by: Stefan Herbrechtsmeier 
> ---
>
>  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/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/5] recipetool-create: add ensure_native_cmd function

2022-05-06 Thread Stefan Herbrechtsmeier
From: Lukas Funke 

Signed-off-by: Lukas Funke 
Signed-off-by: Stefan Herbrechtsmeier 
---

 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 (#165323): 
https://lists.openembedded.org/g/openembedded-core/message/165323
Mute This Topic: https://lists.openembedded.org/mt/90928682/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-