All of lore.kernel.org
 help / color / mirror / Atom feed
* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2023-04-15 15:29 Steve Sakoman
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Sakoman @ 2023-04-15 15:29 UTC (permalink / raw)
  To: bitbake-devel

Please review this set of patches for kirkstone/2.0 and have comments back by
end of day Tuesday.

Passed a-full on autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/5185

The following changes since commit 2802adb572eb73a3eb2725a74a9bbdaafc543fa7:

  fetch/git: Fix local clone url to make it work with repo (2023-03-31 04:28:22 -1000)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  http://cgit.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

Frank de Brabander (1):
  bin/utils: Ensure locale en_US.UTF-8 is available on the system

 bin/bitbake        |  3 +--
 bin/bitbake-server |  5 +++--
 bin/bitbake-worker |  3 +--
 lib/bb/utils.py    | 16 ++++++++++++++++
 4 files changed, 21 insertions(+), 6 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2024-06-22 12:20 Steve Sakoman
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Sakoman @ 2024-06-22 12:20 UTC (permalink / raw)
  To: bitbake-devel

Please review this change for kirkstone/2.0 and have comments back by
end of day Tuesday, June 25

Passed a-full on autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/7065

The following changes since commit 5a90927f31c4f9fccbe5d9d07d08e6e69485baa8:

  parse: Improve/fix cache invalidation via mtime (2024-05-23 08:52:30 -0700)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  https://git.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

Steve Sakoman (1):
  tests/fetch: Tweak test to match upstream repo url change Upstream
    changed their urls, update our test to match.

 lib/bb/tests/fetch.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2024-08-13 13:09 Steve Sakoman
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Sakoman @ 2024-08-13 13:09 UTC (permalink / raw)
  To: bitbake-devel

Please review this set of changes for 2.0/kirkstone and have comments back by
end of day Thursday, August 15

Passed a-full on autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/7236

The following changes since commit 734b0ea3dfe45eb16ee60f0c2c388e22af4040e0:

  tests/fetch: Tweak test to match upstream repo url change Upstream changed their urls, update our test to match. (2024-06-11 11:22:11 -0700)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  https://git.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

Robert Yang (1):
  data_smart: Improve performance for VariableHistory

 lib/bb/data_smart.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2024-11-06 13:37 Steve Sakoman
  2024-11-06 13:37 ` [bitbake][kirkstone][2.0][PATCH 1/1] codeparser: Fix handling of string AST nodes with older Python versions Steve Sakoman
  0 siblings, 1 reply; 7+ messages in thread
From: Steve Sakoman @ 2024-11-06 13:37 UTC (permalink / raw)
  To: bitbake-devel

Please review this change for kirkstone/2.0 and have comments back by
end of day Friday, November 8

Passed a-full on autobuilder:

https://valkyrie.yoctoproject.org/#/builders/29/builds/398

The following changes since commit 0c30e9aadd30fc6f0dcf811eb8340687b52eb00b:

  tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab (2024-11-02 09:45:13 +0000)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  https://git.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

Philip Lorenz (1):
  codeparser: Fix handling of string AST nodes with older Python
    versions

 lib/bb/codeparser.py | 46 +++++++++++++++++++++++++++++++-------------
 1 file changed, 33 insertions(+), 13 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 1/1] codeparser: Fix handling of string AST nodes with older Python versions
  2024-11-06 13:37 [bitbake][kirkstone][2.0][PATCH 0/1] Patch review Steve Sakoman
@ 2024-11-06 13:37 ` Steve Sakoman
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Sakoman @ 2024-11-06 13:37 UTC (permalink / raw)
  To: bitbake-devel

From: Philip Lorenz <philip.lorenz@bmw.de>

Commits 4591011449212c8e494ea42348acb2d27a82a51b and
6c19b6cf105ac321ec89da1a876a317020c45ab7 unconditionally changed
codeparser to rely on CPython 3.8 semantics. However, kirkstone
continues to support CPython versions >= 3.6.0 and as such string AST
nodes were no longer correctly identified.

Fix this by continuing to use `ast.Str` for Python versions < 3.8.0 and
only using the new code path for more recent versions. Detecting which
version of the AST API to use seems to be non-trivial so the Python
feature version is used instead.

Instances of this issue can be identified when executing bitbake with
debug logging:

    while parsing MACHINE_ARCH, in call of d.getVar, argument
        ''TUNE_PKGARCH'' is not a string literal

As a consequence of these parsing issues, bitbake may assume that task
inputs haven't changed and as such erroneously reuse sstate objects when
it shouldn't.

Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
 lib/bb/codeparser.py | 46 +++++++++++++++++++++++++++++++-------------
 1 file changed, 33 insertions(+), 13 deletions(-)

diff --git a/lib/bb/codeparser.py b/lib/bb/codeparser.py
index 6ce0c5182..39dba266c 100644
--- a/lib/bb/codeparser.py
+++ b/lib/bb/codeparser.py
@@ -201,6 +201,22 @@ class DummyLogger():
     def flush(self):
         return
 
+
+# Starting with Python 3.8, the ast module exposes all string nodes as a
+# Constant. While earlier versions of the module also have the Constant type
+# those use the Str type to encapsulate strings.
+if sys.version_info < (3, 8):
+    def node_str_value(node):
+        if isinstance(node, ast.Str):
+            return node.s
+        return None
+else:
+    def node_str_value(node):
+        if isinstance(node, ast.Constant) and isinstance(node.value, str):
+            return node.value
+        return None
+
+
 class PythonParser():
     getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
     getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
@@ -225,19 +241,22 @@ class PythonParser():
     def visit_Call(self, node):
         name = self.called_node_name(node.func)
         if name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs):
-            if isinstance(node.args[0], ast.Constant) and isinstance(node.args[0].value, str):
-                varname = node.args[0].value
-                if name in self.containsfuncs and isinstance(node.args[1], ast.Constant):
+            varname = node_str_value(node.args[0])
+            if varname is not None:
+                arg_str_value = None
+                if len(node.args) >= 2:
+                    arg_str_value = node_str_value(node.args[1])
+                if name in self.containsfuncs and arg_str_value is not None:
                     if varname not in self.contains:
                         self.contains[varname] = set()
-                    self.contains[varname].add(node.args[1].value)
-                elif name in self.containsanyfuncs and isinstance(node.args[1], ast.Constant):
+                    self.contains[varname].add(arg_str_value)
+                elif name in self.containsanyfuncs and arg_str_value is not None:
                     if varname not in self.contains:
                         self.contains[varname] = set()
-                    self.contains[varname].update(node.args[1].value.split())
+                    self.contains[varname].update(arg_str_value.split())
                 elif name.endswith(self.getvarflags):
-                    if isinstance(node.args[1], ast.Constant):
-                        self.references.add('%s[%s]' % (varname, node.args[1].value))
+                    if arg_str_value is not None:
+                        self.references.add('%s[%s]' % (varname, arg_str_value))
                     else:
                         self.warn(node.func, node.args[1])
                 else:
@@ -245,10 +264,10 @@ class PythonParser():
             else:
                 self.warn(node.func, node.args[0])
         elif name and name.endswith(".expand"):
-            if isinstance(node.args[0], ast.Constant):
-                value = node.args[0].value
+            arg_str_value = node_str_value(node.args[0])
+            if arg_str_value is not None:
                 d = bb.data.init()
-                parser = d.expandWithRefs(value, self.name)
+                parser = d.expandWithRefs(arg_str_value, self.name)
                 self.references |= parser.references
                 self.execs |= parser.execs
                 for varname in parser.contains:
@@ -256,8 +275,9 @@ class PythonParser():
                         self.contains[varname] = set()
                     self.contains[varname] |= parser.contains[varname]
         elif name in self.execfuncs:
-            if isinstance(node.args[0], ast.Constant):
-                self.var_execs.add(node.args[0].value)
+            arg_str_value = node_str_value(node.args[0])
+            if arg_str_value is not None:
+                self.var_execs.add(arg_str_value)
             else:
                 self.warn(node.func, node.args[0])
         elif name and isinstance(node.func, (ast.Name, ast.Attribute)):
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2025-03-12 19:48 Steve Sakoman
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Sakoman @ 2025-03-12 19:48 UTC (permalink / raw)
  To: bitbake-devel

Please review this change for 2.0/kirkstone and have comments back by
end of day Friday, March 14

Passed a-full on autobuilder:

https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1177

The following changes since commit e71f1ce53cf3b8320caa481ae62d1ce2900c4670:

  tests/fetch: Fix git shallow test failure with git >= 2.48 (2025-01-24 16:17:43 +0000)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  https://git.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

Paulo Neves (1):
  siggen.py: Improve taskhash reproducibility

 lib/bb/siggen.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bitbake][kirkstone][2.0][PATCH 0/1] Patch review
@ 2026-04-09 22:49 Yoann Congal
  0 siblings, 0 replies; 7+ messages in thread
From: Yoann Congal @ 2026-04-09 22:49 UTC (permalink / raw)
  To: bitbake-devel

This is a patch added last-minute to handle the shutdown of the git
protocol on YP/OE git repos.
Given the cherry-pick nature of the patch and the kirkstone release
build to do quickly, I plan to send this for merge quickly.

Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3631
(Build was impacted by a known and fixed AB-INT, I backported the fix)

The following changes since commit 8e2d1f8de055549b2101614d85454fcd1d0f94b2:

  test/fetch: Switch u-boot based test to use our own mirror (2025-07-22 15:09:57 +0100)

are available in the Git repository at:

  https://git.openembedded.org/bitbake-contrib stable/2.0-nut
  https://git.openembedded.org/bitbake-contrib/log/?h=stable/2.0-nut

for you to fetch changes up to 7fd0197fd5fedd23cc885b5e7e816d86a392fdf9:

  tests/fetch: Avoid using git protocol in tests (2026-04-09 13:28:26 +0200)

----------------------------------------------------------------

Richard Purdie (1):
  tests/fetch: Avoid using git protocol in tests

 lib/bb/tests/fetch.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-04-09 22:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-06 13:37 [bitbake][kirkstone][2.0][PATCH 0/1] Patch review Steve Sakoman
2024-11-06 13:37 ` [bitbake][kirkstone][2.0][PATCH 1/1] codeparser: Fix handling of string AST nodes with older Python versions Steve Sakoman
  -- strict thread matches above, loose matches on Subject: below --
2026-04-09 22:49 [bitbake][kirkstone][2.0][PATCH 0/1] Patch review Yoann Congal
2025-03-12 19:48 Steve Sakoman
2024-08-13 13:09 Steve Sakoman
2024-06-22 12:20 Steve Sakoman
2023-04-15 15:29 Steve Sakoman

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.