From 7f76ff2821fd0f473a60620d9c98d5e65b67a65b Mon Sep 17 00:00:00 2001 From: DaanDeMeyer Date: Thu, 10 Jul 2025 16:23:26 +0200 Subject: [PATCH] tree-wide: Use "mkosi box" instead of "mkosi sandbox" The box verb was added as a synonym for sandbox. sandbox still works, but let's switch to box as it's shorter. --- .github/workflows/coverage.yml | 14 ++++++------ .github/workflows/linter.yml | 20 ++++++++--------- .github/workflows/mkosi.yml | 10 ++++----- docs/HACKING.md | 22 +++++++++---------- mkosi/mkosi.clangd | 2 +- test/integration-tests/README.md | 18 +++++++-------- test/integration-tests/standalone/meson.build | 4 ++-- 7 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 29edf9217ac..c5e7ad75b81 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -83,22 +83,22 @@ jobs: run: mkosi summary - name: Build tools tree - run: sudo mkosi -f sandbox -- true + run: sudo mkosi -f box -- true - name: Configure meson run: | - sudo mkosi sandbox -- \ + sudo mkosi box -- \ meson setup \ --buildtype=debugoptimized \ build - name: Build image - run: sudo mkosi sandbox -- meson compile -C build mkosi + run: sudo mkosi box -- meson compile -C build mkosi - name: Initial coverage report run: | sudo mkdir -p build/test/coverage - sudo mkosi sandbox -- \ + sudo mkosi box -- \ lcov \ --directory build/mkosi.builddir/arch~rolling~x86-64 \ --capture \ @@ -115,7 +115,7 @@ jobs: # --preserve-env makes sure all the github actions environment variables are propagated which are # used in integration-test-wrapper.py to construct the `gh` command line to download the journals # of failed tests. - sudo --preserve-env mkosi sandbox -- \ + sudo --preserve-env mkosi box -- \ env \ TEST_RUNNER=ubuntu-24.04 \ meson test \ @@ -147,10 +147,10 @@ jobs: lcov_args+=(--add-tracefile "${file}") done < <(find build/test/coverage -name "TEST-*.coverage-info") - sudo mkosi sandbox -- lcov --ignore-errors inconsistent,inconsistent "${lcov_args[@]}" --output-file build/test/coverage/everything.coverage-info + sudo mkosi box -- lcov --ignore-errors inconsistent,inconsistent "${lcov_args[@]}" --output-file build/test/coverage/everything.coverage-info - name: List coverage report - run: sudo mkosi sandbox -- lcov --ignore-errors inconsistent,inconsistent --list build/test/coverage/everything.coverage-info + run: sudo mkosi box -- lcov --ignore-errors inconsistent,inconsistent --list build/test/coverage/everything.coverage-info - name: Coveralls uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index ca7a1949418..a489b556615 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -51,29 +51,29 @@ jobs: ToolsTreeRelease=rawhide EOF - mkosi -f sandbox -- true + mkosi -f box -- true - name: Run mypy run: | - mkosi sandbox -- mypy --version - mkosi sandbox -- mypy src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py + mkosi box -- mypy --version + mkosi box -- mypy src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py - name: Run ruff check run: | - mkosi sandbox -- ruff --version - mkosi sandbox -- ruff check src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py + mkosi box -- ruff --version + mkosi box -- ruff check src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py - name: Run ruff format run: | - mkosi sandbox -- ruff --version - if ! mkosi sandbox -- ruff format --check src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py + mkosi box -- ruff --version + if ! mkosi box -- ruff format --check src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py then echo "Please run 'ruff format' on the above files or apply the diffs below manually" - mkosi sandbox -- ruff format --check --quiet --diff src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py + mkosi box -- ruff format --check --quiet --diff src/basic/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/test/generate-sym-test.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py fi - name: Configure meson - run: mkosi sandbox -- env CC=clang CXX=clang++ meson setup -Dlocalegen-path=/usr/bin/locale-gen -Dcompat-mutable-uid-boundaries=true build + run: mkosi box -- env CC=clang CXX=clang++ meson setup -Dlocalegen-path=/usr/bin/locale-gen -Dcompat-mutable-uid-boundaries=true build - name: Run clang-tidy - run: mkosi sandbox -- meson test -C build --suite=clang-tidy --print-errorlogs --no-stdsplit + run: mkosi box -- meson test -C build --suite=clang-tidy --print-errorlogs --no-stdsplit diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml index d800bc600a0..6ea2a79bffe 100644 --- a/.github/workflows/mkosi.yml +++ b/.github/workflows/mkosi.yml @@ -214,21 +214,21 @@ jobs: run: mkosi summary - name: Build tools tree - run: sudo mkosi -f sandbox -- true + run: sudo mkosi -f box -- true - name: Configure meson run: | # /usr/sbin/bpftool is completely broken inside containers on Ubuntu which makes meson blow up so # disable the bpf-framework stuff to avoid the issue. # TODO: Drop when we move off Ubuntu Noble as this will be fixed in the next Ubuntu LTS release. - sudo mkosi sandbox -- \ + sudo mkosi box -- \ meson setup \ --buildtype=debugoptimized \ -Dbpf-framework=disabled \ build - name: Build image - run: sudo mkosi sandbox -- meson compile -C build mkosi + run: sudo mkosi box -- meson compile -C build mkosi - name: Make sure sources weren't polluted by package build scripts run: | @@ -243,7 +243,7 @@ jobs: - name: Run integration tests run: | - if [[ "$(sudo mkosi sandbox -- meson test --help)" == *"--max-lines"* ]]; then + if [[ "$(sudo mkosi box -- meson test --help)" == *"--max-lines"* ]]; then MAX_LINES=(--max-lines 300) else MAX_LINES=() @@ -256,7 +256,7 @@ jobs: # --preserve-env makes sure all the github actions environment variables are propagated which are # used in integration-test-wrapper.py to construct the `gh` command line to download the journals # of failed tests. - sudo --preserve-env mkosi sandbox -- \ + sudo --preserve-env mkosi box -- \ env \ TEST_PREFER_QEMU=${{ matrix.vm }} \ TEST_NO_QEMU=${{ matrix.no_qemu }} \ diff --git a/docs/HACKING.md b/docs/HACKING.md index dffea56b0f8..37f1148b54b 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -40,16 +40,16 @@ Then, you can build, run and test systemd executables as follows: ```sh $ mkosi -f genkey # Generate signing keys once. -$ mkosi -f sandbox -- meson setup -Dbpf-framework=disabled build # bpftool detection inside mkosi sandbox is broken on Ubuntu Noble and older -$ mkosi -f sandbox -- meson compile -C build -$ mkosi -f sandbox -- build/systemctl --version -$ mkosi -f sandbox -- meson test -C build # Run the unit tests +$ mkosi -f box -- meson setup -Dbpf-framework=disabled build # bpftool detection inside mkosi box is broken on Ubuntu Noble and older +$ mkosi -f box -- meson compile -C build +$ mkosi -f box -- build/systemctl --version +$ mkosi -f box -- meson test -C build # Run the unit tests ``` To build and boot an OS image with the latest systemd installed: ```sh -$ mkosi -f sandbox -- meson compile -C build mkosi # (re-)build the OS image +$ mkosi -f box -- meson compile -C build mkosi # (re-)build the OS image $ mkosi boot # Boot the image with systemd-nspawn. $ mkosi vm # Boot the image with qemu. ``` @@ -65,8 +65,8 @@ $ cd systemd $ git checkout -b # where BRANCH is the name of the branch $ $EDITOR src/core/main.c # or wherever you'd like to make your changes $ mkosi -f genkey # Generate signing keys once. -$ mkosi -f sandbox -- meson setup build # Set up meson -$ mkosi -f sandbox -- meson compile -C build mkosi # (re-)build the test image +$ mkosi -f box -- meson setup build # Set up meson +$ mkosi -f box -- meson compile -C build mkosi # (re-)build the test image $ mkosi vm # Boot the image in qemu $ git add -p # interactively put together your patch $ git commit # commit it @@ -85,7 +85,7 @@ not required to write basic patches. ## Building the OS image without a tools tree By default, `mkosi` will first build a tools tree and use it build the image and -provide the environment for `mkosi sandbox`. To disable the tools tree and use +provide the environment for `mkosi box`. To disable the tools tree and use binaries from your host instead, write the following to `mkosi/mkosi.local.conf`: ```conf @@ -311,7 +311,7 @@ To debug systemd-boot in an IDE such as VSCode we can use a launch configuration right in your editor of choice (with the right plugin installed). When using mkosi, we can run clangd in the mkosi tools tree to avoid needing to install clangd on the host machine. -All that is required is to run `mkosi -f sandbox true` once to make sure the tools tree is available and to modify +All that is required is to run `mkosi -f box true` once to make sure the tools tree is available and to modify the path of the clangd binary used by your editor to the `mkosi.clangd` script included in the systemd repository. For example, for VScode, you'd have to add the following to the VSCode workspace settings of the systemd repository: @@ -329,7 +329,7 @@ When using clangd, it's recommended to setup the build directory containing the compilation database used by clangd to use clang as the compiler as well: ```sh -$ mkosi sandbox -- env CC=clang CXX=clang++ meson setup build +$ mkosi box -- env CC=clang CXX=clang++ meson setup build ``` Additionally, the `gensources` target can be used to make sure all generated @@ -337,5 +337,5 @@ sources are generated to avoid clangd complaining that these source files don't exist. ```sh -$ mkosi sandbox -- ninja -C build gensources +$ mkosi box -- ninja -C build gensources ``` diff --git a/mkosi/mkosi.clangd b/mkosi/mkosi.clangd index f2e741f0faa..ba7aa99ad64 100755 --- a/mkosi/mkosi.clangd +++ b/mkosi/mkosi.clangd @@ -9,7 +9,7 @@ else fi exec "${SPAWN[@]}" \ - mkosi sandbox -- \ + mkosi box -- \ clangd \ --compile-commands-dir=build \ --path-mappings="\ diff --git a/test/integration-tests/README.md b/test/integration-tests/README.md index 66f1a314beb..c98d6f93da1 100644 --- a/test/integration-tests/README.md +++ b/test/integration-tests/README.md @@ -17,7 +17,7 @@ $ mkosi genkey Next, we can build the integration test image with meson: ```shell -$ mkosi -f sandbox -- meson compile -C build mkosi +$ mkosi -f box -- meson compile -C build mkosi ``` By default, the `mkosi` meson target which builds the integration test image depends on @@ -38,24 +38,24 @@ directory (`OutputDirectory=`) to point to the other directory using `mkosi/mkos After the image has been built, the integration tests can be run with: ```shell -$ mkosi -f sandbox -- meson test -C build --setup=integration --suite integration-tests --num-processes "$(($(nproc) / 4))" +$ mkosi -f box -- meson test -C build --setup=integration --suite integration-tests --num-processes "$(($(nproc) / 4))" ``` As usual, specific tests can be run in meson by appending the name of the test which is usually the name of the directory e.g. ```shell -$ mkosi -f sandbox -- meson test -C build --setup=integration -v TEST-01-BASIC +$ mkosi -f box -- meson test -C build --setup=integration -v TEST-01-BASIC ``` -See `mkosi -f sandbox -- meson introspect build --tests` for a list of tests. +See `mkosi -f box -- meson introspect build --tests` for a list of tests. To interactively debug a failing integration test, the `--interactive` option (`-i`) for `meson test` can be used. Note that this requires meson v1.5.0 or newer: ```shell -$ mkosi -f sandbox -- meson test -C build --setup=integration -i TEST-01-BASIC +$ mkosi -f box -- meson test -C build --setup=integration -i TEST-01-BASIC ``` Due to limitations in meson, the integration tests do not yet depend on the @@ -64,7 +64,7 @@ running the integration tests. To rebuild the image and rerun a test, the following command can be used: ```shell -$ mkosi -f sandbox -- meson compile -C build mkosi && mkosi -f sandbox -- meson test -C build --setup=integration -v TEST-01-BASIC +$ mkosi -f box -- meson compile -C build mkosi && mkosi -f box -- meson test -C build --setup=integration -v TEST-01-BASIC ``` The integration tests use the same mkosi configuration that's used when you run @@ -78,7 +78,7 @@ To iterate on an integration test, let's first get a shell in the integration te the following: ```shell -$ mkosi -f sandbox -- meson compile -C build mkosi && mkosi -f sandbox -- meson test -C build --setup=shell -i TEST-01-BASIC +$ mkosi -f box -- meson compile -C build mkosi && mkosi -f box -- meson test -C build --setup=shell -i TEST-01-BASIC ``` This will get us a shell in the integration test environment after booting the machine without running the @@ -173,9 +173,9 @@ Finally, we'll make use of the standalone mode of running the integration tests to avoid having to install any build dependencies. ```sh -$ mkosi -f sandbox -- meson setup testsuite test/integration-tests/standalone +$ mkosi -f box -- meson setup testsuite test/integration-tests/standalone $ mkosi -f -$ mkosi sandbox -- meson test -C testsuite --num-processes "$(($(nproc) / 4))" +$ mkosi box -- meson test -C testsuite --num-processes "$(($(nproc) / 4))" ``` ### SELinux AVCs diff --git a/test/integration-tests/standalone/meson.build b/test/integration-tests/standalone/meson.build index 6b5a454767a..ec76af19529 100644 --- a/test/integration-tests/standalone/meson.build +++ b/test/integration-tests/standalone/meson.build @@ -4,9 +4,9 @@ # as follows: # # mkosi genkey -# mkosi -f sandbox -- meson setup testsuite test/integration-tests/standalone +# mkosi -f box -- meson setup testsuite test/integration-tests/standalone # mkosi -f -# mkosi sandbox -- meson test -C testsuite +# mkosi box -- meson test -C testsuite # project('systemd-testsuite', license : 'LGPLv2+', -- 2.47.3