1
0
mirror of https://github.com/systemd/systemd synced 2025-10-05 16:03:15 +02:00

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.
This commit is contained in:
DaanDeMeyer
2025-07-10 16:23:26 +02:00
parent a4488ae6ae
commit 7f76ff2821
7 changed files with 45 additions and 45 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 }} \

View File

@@ -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 <BRANCH> # 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
```

View File

@@ -9,7 +9,7 @@ else
fi
exec "${SPAWN[@]}" \
mkosi sandbox -- \
mkosi box -- \
clangd \
--compile-commands-dir=build \
--path-mappings="\

View File

@@ -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

View File

@@ -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+',