public inbox for bitbake-devel@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 0/1] bitbake --skip-deps feature
@ 2025-12-30  9:15 AdrianF
  2025-12-30  9:15 ` [PATCH 1/1] tests/runqueue: cover --skip-deps AdrianF
  2025-12-30 15:14 ` [bitbake-devel] [PATCH 0/1] bitbake --skip-deps feature Mathieu Dubois-Briand
  0 siblings, 2 replies; 3+ messages in thread
From: AdrianF @ 2025-12-30  9:15 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Adrian Freihofer

From: Adrian Freihofer <adrian.freihofer@siemens.com>

Adds a "skip-deps" feature to run/build specific tasks without scheduling their
full dependency tree.

This is useful for devtool ide-sdk, which works like this:
- The IDE's native build system is used to build the code.
- bitbake my-recipe:do_install --skip-deps --force is run to install the built
  artifacts.
- A script based on devtool deploy-target is used to deploy the installed
  artifacts to the target device.
- The IDE's debugging features are used to debug the code on the target device.

One more commit to openembedded-core is needed to fully support this feature.
This is already prepared and tested. Branch is here:
https://git.openembedded.org/openembedded-core-contrib/log/?h=adrianf/ide-sdk-improvements

Adrian Freihofer (1):
  tests/runqueue: cover --skip-deps

 lib/bb/tests/runqueue.py | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.52.0



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

* [PATCH 1/1] tests/runqueue: cover --skip-deps
  2025-12-30  9:15 [PATCH 0/1] bitbake --skip-deps feature AdrianF
@ 2025-12-30  9:15 ` AdrianF
  2025-12-30 15:14 ` [bitbake-devel] [PATCH 0/1] bitbake --skip-deps feature Mathieu Dubois-Briand
  1 sibling, 0 replies; 3+ messages in thread
From: AdrianF @ 2025-12-30  9:15 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Adrian Freihofer

From: Adrian Freihofer <adrian.freihofer@siemens.com>

Add a test case to verify that --skip-deps leads to only the specified
task being run.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
 lib/bb/tests/runqueue.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/bb/tests/runqueue.py b/lib/bb/tests/runqueue.py
index 74f5ded2e..231153cab 100644
--- a/lib/bb/tests/runqueue.py
+++ b/lib/bb/tests/runqueue.py
@@ -403,6 +403,15 @@ class RunQueueTests(unittest.TestCase):
 
             self.shutdown(tempdir)
 
+    def test_skip_deps(self):
+        with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+            cmd = ["bitbake", "a1", "-c", "install", "--skip-deps"]
+            tasks = self.run_bitbakecmd(cmd, tempdir)
+            expected = ['a1:install']
+            self.assertEqual(set(tasks), set(expected))
+
+            self.shutdown(tempdir)
+
     def shutdown(self, tempdir):
         # Wait for the hashserve socket to disappear else we'll see races with the tempdir cleanup
         while (os.path.exists(tempdir + "/hashserve.sock") or os.path.exists(tempdir + "cache/hashserv.db-wal") or os.path.exists(tempdir + "/bitbake.lock")):
-- 
2.52.0



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

* Re: [bitbake-devel] [PATCH 0/1] bitbake --skip-deps feature
  2025-12-30  9:15 [PATCH 0/1] bitbake --skip-deps feature AdrianF
  2025-12-30  9:15 ` [PATCH 1/1] tests/runqueue: cover --skip-deps AdrianF
@ 2025-12-30 15:14 ` Mathieu Dubois-Briand
  1 sibling, 0 replies; 3+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-30 15:14 UTC (permalink / raw)
  To: adrian.freihofer, bitbake-devel

On Tue Dec 30, 2025 at 10:15 AM CET, Adrian Freihofer via lists.openembedded.org wrote:
> From: Adrian Freihofer <adrian.freihofer@siemens.com>
>
> Adds a "skip-deps" feature to run/build specific tasks without scheduling their
> full dependency tree.
>
> This is useful for devtool ide-sdk, which works like this:
> - The IDE's native build system is used to build the code.
> - bitbake my-recipe:do_install --skip-deps --force is run to install the built
>   artifacts.
> - A script based on devtool deploy-target is used to deploy the installed
>   artifacts to the target device.
> - The IDE's debugging features are used to debug the code on the target device.
>
> One more commit to openembedded-core is needed to fully support this feature.
> This is already prepared and tested. Branch is here:
> https://git.openembedded.org/openembedded-core-contrib/log/?h=adrianf/ide-sdk-improvements
>
> Adrian Freihofer (1):
>   tests/runqueue: cover --skip-deps
>
>  lib/bb/tests/runqueue.py | 9 +++++++++
>  1 file changed, 9 insertions(+)

Hi Adrian,

Thanks for your patch. Is the bitbake series complete? I can see a patch
adding tests, but none adding the feature. Am I missing something?

So far, the test is failing on the autobuilder:

FAIL: test_skip_deps (bb.tests.runqueue.RunQueueTests.test_skip_deps)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/bitbake/lib/bb/tests/runqueue.py", line 41, in run_bitbakecmd
    output = subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT,universal_newlines=True, cwd=builddir)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['bitbake', 'a1', '-c', 'install', '--skip-deps']' returned non-zero exit status 2.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/bitbake/lib/bb/tests/runqueue.py", line 409, in test_skip_deps
    tasks = self.run_bitbakecmd(cmd, tempdir)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/bitbake/lib/bb/tests/runqueue.py", line 46, in run_bitbakecmd
    self.fail("Command %s failed with %s" % (cmd, e.output))
AssertionError: Command ['bitbake', 'a1', '-c', 'install', '--skip-deps'] failed with usage: bitbake [-s] [-e] [-g] [-u UI] [--version] [-h] [-f] [-c CMD]
               [-C INVALIDATE_STAMP] [--runall RUNALL] [--runonly RUNONLY]
               [--no-setscene] [--skip-setscene] [--setscene-only] [-n] [-p]
               [-k] [-P PROFILE] [-S SIGNATURE_HANDLER] [--revisions-changed]
               [-b BUILDFILE] [-D] [-l DEBUG_DOMAINS] [-v] [-q]
               [-w WRITEEVENTLOG] [-B BIND] [-T SERVER_TIMEOUT]
               [--remote-server REMOTE_SERVER] [-m] [--token XMLRPCTOKEN]
               [--observe-only] [--status-only] [--server-only] [-r PREFILE]
               [-R POSTFILE] [-I EXTRA_ASSUME_PROVIDED]
               [recipename/target ...]
bitbake: error: unrecognized arguments: --skip-deps

https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2823
https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3068
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2930

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

end of thread, other threads:[~2025-12-30 15:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-30  9:15 [PATCH 0/1] bitbake --skip-deps feature AdrianF
2025-12-30  9:15 ` [PATCH 1/1] tests/runqueue: cover --skip-deps AdrianF
2025-12-30 15:14 ` [bitbake-devel] [PATCH 0/1] bitbake --skip-deps feature Mathieu Dubois-Briand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox