mirror of
https://github.com/systemd/systemd
synced 2025-10-06 00:13:24 +02:00
test: also edit /etc/os-release if it's not a symlink when patching /usr/lib/os-release (#38628)
mkosi patches up /etc/os-release to add local IDs and fixup certain issues, so when tests patch /usr/lib/ on the fly, copy to the version in /etc/ too to avoid test failures when querying 6370s 10/98 systemd:integration-tests / TEST-07-PID1 FAIL 31.03s exit status 1 6370s 25/98 systemd:integration-tests / TEST-29-PORTABLE FAIL 12.76s exit status 1 6370s 33/98 systemd:integration-tests / TEST-43-PRIVATEUSER-UNPRIV FAIL 6.57s exit status 1 6370s 37/98 systemd:integration-tests / TEST-50-DISSECT FAIL 16.97s exit status 1 This is particularly an issue when running these tests on debian unstable, where mkosi has to fixup os-release to make it valid and avoid further breakages: https://github.com/systemd/mkosi/blob/main/mkosi/distributions/debian.py#L234
This commit is contained in:
@@ -8,4 +8,7 @@ cat >>"$BUILDROOT/usr/lib/os-release" <<EOF
|
||||
MARKER=1
|
||||
PORTABLE_PREFIXES=app0 minimal minimal-app0
|
||||
EOF
|
||||
if [ ! -L "$BUILDROOT/etc/os-release" ]; then
|
||||
cp "$BUILDROOT/usr/lib/os-release" "$BUILDROOT/etc/os-release"
|
||||
fi
|
||||
cp "$BUILDROOT/usr/lib/systemd/system/minimal-app0.service" "$BUILDROOT/usr/lib/systemd/system/minimal-app0-foo.service"
|
||||
|
@@ -8,4 +8,7 @@ cat >>"$BUILDROOT/usr/lib/os-release" <<EOF
|
||||
MARKER=2
|
||||
PORTABLE_PREFIXES=app0 minimal minimal-app0
|
||||
EOF
|
||||
if [ ! -L "$BUILDROOT/etc/os-release" ]; then
|
||||
cp "$BUILDROOT/usr/lib/os-release" "$BUILDROOT/etc/os-release"
|
||||
fi
|
||||
cp "$BUILDROOT/usr/lib/systemd/system/minimal-app0.service" "$BUILDROOT/usr/lib/systemd/system/minimal-app0-bar.service"
|
||||
|
@@ -89,6 +89,11 @@ prepare_root() {
|
||||
echo "VERSION=1.2.3"
|
||||
} >"$root/usr/lib/os-release"
|
||||
|
||||
if [[ -e $root/etc/os-release ]] && [[ ! -L $root/etc/os-release ]]; then
|
||||
mv "$root/etc/os-release" "$root/etc/os-release.orig"
|
||||
cp "$root/usr/lib/os-release" "$root/etc/os-release"
|
||||
fi
|
||||
|
||||
prepend_trap "cleanup_os_release ${root@Q}"
|
||||
}
|
||||
|
||||
@@ -103,6 +108,11 @@ cleanup_os_release() {
|
||||
# shellcheck disable=SC2317 # It is not unreachable, used in a trap couple lines above.
|
||||
mv "$root/usr/lib/os-release.orig" "$root/usr/lib/os-release"
|
||||
fi
|
||||
# shellcheck disable=SC2317 # It is not unreachable, used in a trap couple lines above.
|
||||
if [[ -e $root/etc/os-release.orig ]]; then
|
||||
# shellcheck disable=SC2317 # It is not unreachable, used in a trap couple lines above.
|
||||
mv "$root/etc/os-release.orig" "$root/etc/os-release"
|
||||
fi
|
||||
}
|
||||
|
||||
prepare_extension_image() {
|
||||
|
Reference in New Issue
Block a user