diff mbox series

[2/3] bitbake-setup: default top-dir-prefix to cwd

Message ID 20251111223325.2034322-2-adrian.freihofer@siemens.com
State New
Headers show
Series [1/3] bitbake-setup: remove unused imports | expand

Commit Message

AdrianF Nov. 11, 2025, 10:33 p.m. UTC
From: Adrian Freihofer <adrian.freihofer@siemens.com>

Change the default for top-dir-prefix from user's home directory to
current working directory.

This allows to do:
    mkdir -p ~/temp/bb-test
    cd ~/temp/bb-test
    bitbake-setup init
      ...
      setup-dir = poky-altcfg

ending up with the build directory at:
  ~/temp/bb-test/bitbake-builds/poky-altcfg/build

It's a well known pattern to have Yocto builds setup in a self-contained
directory rather than in a absolute directory. There are also users who
have seperate partitions or even extra disks for their builds.

bitbake-selftest: setup: check default top-dir-prefix is cwd

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
 bin/bitbake-setup     | 2 +-
 lib/bb/tests/setup.py | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Alexander Kanavin Nov. 12, 2025, 5:40 a.m. UTC | #1
On Tue, 11 Nov 2025 at 23:34, Adrian Freihofer via
lists.openembedded.org
<adrian.freihofer=siemens.com@lists.openembedded.org> wrote:
> +        # check that the default top-dir-prefix is cwd before any settings are configured
> +        out = self.runbbsetup("settings list")
> +        self.assertIn("default top-dir-prefix {}".format(os.getcwd()), out[0])
> +
>          # set up global location for top-dir-prefix
>          out = self.runbbsetup("settings set --global default top-dir-prefix {}".format(self.tempdir))

Rather than check that default is cwd, and then immediately change it
to something else, the test should actually work with that default,
e.g. change current directory to self.tempdir, and then proceed with
the testing.

Alex
diff mbox series

Patch

diff --git a/bin/bitbake-setup b/bin/bitbake-setup
index a3f352d79..bda62f5f4 100755
--- a/bin/bitbake-setup
+++ b/bin/bitbake-setup
@@ -870,7 +870,7 @@  def main():
 
         builtin_settings = {}
         builtin_settings['default'] = {
-                         'top-dir-prefix':os.path.expanduser('~'),
+                         'top-dir-prefix':os.getcwd(),
                          'top-dir-name':'bitbake-builds',
                          'registry':default_registry,
                          }
diff --git a/lib/bb/tests/setup.py b/lib/bb/tests/setup.py
index 6e9bf0365..d761ee734 100644
--- a/lib/bb/tests/setup.py
+++ b/lib/bb/tests/setup.py
@@ -239,6 +239,10 @@  print("BBPATH is {{}}".format(os.environ["BBPATH"]))
         # check that --help works
         self.runbbsetup("--help")
 
+        # check that the default top-dir-prefix is cwd before any settings are configured
+        out = self.runbbsetup("settings list")
+        self.assertIn("default top-dir-prefix {}".format(os.getcwd()), out[0])
+
         # set up global location for top-dir-prefix
         out = self.runbbsetup("settings set --global default top-dir-prefix {}".format(self.tempdir))
         settings_path = "{}/global-config".format(self.tempdir)