mkosi: update mkosi and rename postmarketOS to Nura (#43887)

This commit is contained in:
Yu Watanabe authored and GitHub committed 2026-10-03 02:23:49 +09:00
commit 11880923dd
31 files changed
+39 -33

No files matched your search

+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
persist-credentials: false
- uses: systemd/mkosi@f7762b71437227922a367bb89597843c77494ef9
- uses: systemd/mkosi@71d7b67e01dc47ab5c51f24866c3e2195b9701d2
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
# immediately, we remove the files in the background. However, we first move them to a different location
+1 -1
View File
@@ -40,7 +40,7 @@ jobs:
GITHUB_ACTIONS_CONFIG_FILE: actionlint.yml
ENABLE_GITHUB_PULL_REQUEST_SUMMARY_COMMENT: false
- uses: systemd/mkosi@f7762b71437227922a367bb89597843c77494ef9
- uses: systemd/mkosi@71d7b67e01dc47ab5c51f24866c3e2195b9701d2
- name: Check that tabs are not used in Python code
run: sh -c '! git grep -P "\\t" -- src/core/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py'
+5 -2
View File
@@ -84,7 +84,7 @@ jobs:
release: "9"
- distro: centos
release: "10"
- distro: postmarketos
- distro: nura
release: edge
libc: musl
skip: TEST-92-TPM2-SWTPM
@@ -93,7 +93,10 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
persist-credentials: false
- uses: systemd/mkosi@f7762b71437227922a367bb89597843c77494ef9
- uses: systemd/mkosi@71d7b67e01dc47ab5c51f24866c3e2195b9701d2
with:
# Bootstrapping a Nura tools tree on the Ubuntu host needs apk
apk: ${{ matrix.distro == 'nura' }}
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
# immediately, we remove the files in the background. However, we first move them to a different location
+6 -3
View File
@@ -63,7 +63,7 @@ jobs:
run: sudo --preserve-env=GITHUB_ACTIONS,CI,CROSS_ARCH .github/workflows/unit-tests.sh RUN_${{ matrix.run_phase }}
build-musl:
name: Build & test (musl, postmarketOS)
name: Build & test (musl, Nura)
runs-on: ubuntu-24.04
concurrency:
group: ${{ github.workflow }}-musl-${{ github.ref }}
@@ -74,13 +74,16 @@ jobs:
with:
persist-credentials: false
- uses: systemd/mkosi@f7762b71437227922a367bb89597843c77494ef9
- uses: systemd/mkosi@71d7b67e01dc47ab5c51f24866c3e2195b9701d2
with:
# Bootstrapping a Nura tools tree on the Ubuntu host needs apk
apk: true
- name: Build tools tree
run: |
tee mkosi/mkosi.local.conf <<EOF
[Build]
ToolsTreeDistribution=postmarketos
ToolsTreeDistribution=nura
EOF
mkosi -f box -- true
+1 -1
View File
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Config]
MinimumVersion=commit:f7762b71437227922a367bb89597843c77494ef9
MinimumVersion=commit:71d7b67e01dc47ab5c51f24866c3e2195b9701d2
Dependencies=
minimal-base
minimal-0
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Distribution]
Release=edge
@@ -1,4 +1,4 @@
# postmarketOS does not support userdbd, so creating the test user via
# Nura does not support userdbd, so creating the test user via
# userdbd credentials does not work. We need to create the user entries
# in /etc/passwd and /etc/group using sysusers instead.
u testuser 4711 testuser /home/testuser /bin/bash
@@ -1,4 +1,4 @@
# postmarketOS does not support userdbd, so creating the test user via
# Nura does not support userdbd, so creating the test user via
# userdbd credentials does not work. We need to create the user's home
# directory using tmpfiles instead.
Q /home/testuser 0700 testuser testuser - -
@@ -19,7 +19,7 @@ enable systemd-networkd-wait-online.service
# systemd-resolved is disabled by default on CentOS so make sure it is enabled.
enable systemd-resolved.service
# systemd-time-wait-sync.service is enabled by default on postmarketOS.
# systemd-time-wait-sync.service is enabled by default on Nura.
# It pulls in time-sync.target, but the target is never reached because the
# test environment has no Internet connectivity. As a result, timer units
# cannot be started. Disable the service explicitly to allow timer units to
@@ -69,11 +69,11 @@ disable multipathd.service
# https://github.com/opensvc/multipath-tools/commit/346e9adda4e5f0ccfcbb7a3eccf5f96001d95027
disable multipathd.socket
# rtkit-daemon.service randomly fails with the following error on postmarketOS:
# rtkit-daemon.service randomly fails with the following error on Nura:
# rtkit-daemon[54]: pthread_create failed: Resource temporarily unavailable
# The service is not necessary on our test suites, let's disable it.
disable rtkit-daemon.service
# Disable postmarketOS specific zram swap service.
# Disable Nura specific zram swap service.
# Maybe better to replace it with zram-generator?
disable zram_swap.service
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Content]
Packages=
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Content]
Packages=
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Content]
Packages=
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Build]
Environment=
@@ -9,4 +9,4 @@ Environment=
GIT_SUBDIR=extra-repos/systemd/systemd
GIT_BRANCH=main
GIT_COMMIT=f908244ec2a0f85a84f44927183711160a798705
PKG_SUBDIR=postmarketos
PKG_SUBDIR=nura
@@ -1,10 +1,10 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=postmarketos
Distribution=nura
[Content]
PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/postmarketos/mkosi.prepare
PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/nura/mkosi.prepare
Packages=
alpine-sdk
postmarketos-base
+1 -1
View File
@@ -672,7 +672,7 @@ static void test_nested_partition_table_one(const char *nested_table) {
ASSERT_TRUE(dissected->partitions[PARTITION_ROOT].found);
node = ASSERT_NOT_NULL(dissected->partitions[PARTITION_ROOT].node);
/* Carve a nested partition table into that partition, mimicking the pmOS/android case (663f0bf5cb)
/* Carve a nested partition table into that partition, mimicking the Alpine/Nura case (663f0bf5cb)
* where a partition carries a partition table the kernel won't scan, as partition devices don't
* support partition scanning. We write and read it back through the same partition node, so the
* buffer cache stays coherent. */
@@ -2,7 +2,7 @@
[Unit]
Description=Test DynamicUser with static User= whose uid and gid are different
# On Ubuntu or Debian, user games has uid==5 and gid==60.
# On Alpine/postmarketOS, the user 'games' in the 'games' and 'users' groups.
# On Alpine/Nura, the user 'games' in the 'games' and 'users' groups.
[Service]
Type=oneshot
+1 -1
View File
@@ -50,7 +50,7 @@ testcase_basic() {
systemd-run -p PrivatePIDs=yes --remain-after-exit --unit TEST-07-PID1-private-pid sleep infinity
# Wait for ExecMainPID to be correctly populated as there might be a race between spawning service
# and actual exec child process
# Note, Alpine/postmarketOS build coreutils with --enable-single-binary=symlinks. In that case, coreutils
# Note, Alpine/Nura build coreutils with --enable-single-binary=symlinks. In that case, coreutils
# calls prctl(PR_SET_NAME, argv[0]), hence the comm will be the path to the symlink. If the sleep file is
# a dedicated binary (like most other distributions do), the comm will be the filename, i.e. "sleep". So,
# here we need to cut the directory part.
+1 -1
View File
@@ -410,7 +410,7 @@ testcase_check_default_inaccessible_paths() {
"/proc/timer_list"
)
# /proc/kcore may not exist on some kernels, e.g. Alpine/postmarketOS.
# /proc/kcore may not exist on some kernels, e.g. Alpine/Nura.
if [[ -e /proc/kcore ]]; then
inaccessible_paths+=(
"/proc/kcore"
+1 -1
View File
@@ -11,7 +11,7 @@ set -o pipefail
. /etc/os-release
if [[ "${ID_LIKE:-}" == alpine ]]; then
# Alpine/postmarketOS builds libdevmapper and so on without systemd support, and seems to not wait for
# Alpine/Nura builds libdevmapper and so on without systemd support, and seems to not wait for
# uevents for dm-X devices being processed by systemd-udevd. That causes a significant issue in
# dissect-image.c especially when multiple dm-X devices are activated/deactivated in parallel.
exit 0
+3 -3
View File
@@ -1559,8 +1559,8 @@ EOF
testcase_verity_encrypt() {
local defs imgs output loop drh hrh part_size dm_devno verity_dep
if ( . /etc/os-release && [[ "$ID" == "postmarketos" ]] ); then
echo "Skipping verity+encrypt test on postmarketOS."
if ( . /etc/os-release && [[ "$ID" == "nura" ]] ); then
echo "Skipping verity+encrypt test on Nura."
return
fi
@@ -3337,7 +3337,7 @@ EOF
assert_eq "$(findmnt "${btrfs_mntpoint_plain}" -o SOURCE -n)" "${loop}p1"
dm_btrfs_encrypted="$(findmnt "${btrfs_mntpoint_encrypted}" -o SOURCE -n)"
if [[ "$dm_btrfs_encrypted" != "/dev/mapper/btrfs-replace-encrypted" ]]; then
# When libdevmapper is built without UDEV_SYNC_SUPPORT (e.g. on Alpine/postmarketOS),
# When libdevmapper is built without UDEV_SYNC_SUPPORT (e.g. on Alpine/Nura),
# it creates a device node under /dev/mapper/ instead of relying on udev to create a symlink.
# In this case, verify that both device nodes refer to the same underlying device.
assert_eq "$(stat -c %Hr:%Lr "$dm_btrfs_encrypted")" "$(stat -c %Hr:%Lr /dev/mapper/btrfs-replace-encrypted)"
+1 -1
View File
@@ -659,7 +659,7 @@ testcase_lvm_basic() {
. /etc/os-release
if [[ "$ID" == "ubuntu" || "${ID_LIKE:-}" == "alpine" ]]; then
echo "LVM on Ubuntu/alpine/postmarketos is broken, skipping the test" | tee --append /skipped
echo "LVM on Ubuntu/Alpine/Nura is broken, skipping the test" | tee --append /skipped
exit 77
fi
+1 -1
View File
@@ -129,7 +129,7 @@ for a in crc32c crc32 xxhash64 sha1 sha256; do
modprobe -q "crypto-$a" || :
# Some algorithms are not supported on certain platforms (e.g. crc32 is
# missing on Alpine/postmarketOS). Skip them at runtime to avoid spurious
# missing on Alpine/Nura). Skip them at runtime to avoid spurious
# failures.
if ! grep -q -E "^name\s+: $a\$" /proc/crypto; then
echo "Algorithm '$a' is not supported on this system, skipping."
+1 -1
View File
@@ -1129,7 +1129,7 @@ testcase_11_nft() {
. /etc/os-release
if [[ "${ID_LIKE:-}" == alpine ]]; then
# FIXME: For some reasons, the following tests will fail on alpine/postmarketos.
# FIXME: For some reasons, the following tests will fail on Alpine/Nura.
return 0
fi
+1 -1
View File
@@ -8,7 +8,7 @@ set -o pipefail
. /etc/os-release
if [[ "${ID_LIKE:-}" == alpine ]]; then
# FIXME: For some reasons (maybe this test requires nss module??), the test fails on alpine/postmarketos.
# FIXME: For some reasons (maybe this test requires nss module??), the test fails on Alpine/Nura.
exit 77
fi