mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 19:21:53 +03:00
ae6c598791
We have four legal cases: 1. /usr/lib/os-release exists and /etc/os-release is a symlink to it 2. both exist but /etc/os-release is not a symlink to /usr/lib/os-release 3. only /usr/lib/os-release exists 4. only /etc/os-release exists The generic setup code in test-functions and create-busybox-image didn't handle case 3. The test-specific code in TEST-50 didn't handle 2 (because the general setup code would only install /etc/os-release in the image and grep -f /usr/lib/os-release would not work) and 4 (same reason) and would fail in case 3 in generic setup.
53 lines
1.6 KiB
Bash
Executable File
53 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
set -e
|
|
TEST_DESCRIPTION="test systemd-dissect"
|
|
IMAGE_NAME="dissect"
|
|
TEST_NO_NSPAWN=1
|
|
|
|
. $TEST_BASE_DIR/test-functions
|
|
|
|
command -v mksquashfs >/dev/null 2>&1 || exit 0
|
|
command -v veritysetup >/dev/null 2>&1 || exit 0
|
|
command -v sfdisk >/dev/null 2>&1 || exit 0
|
|
|
|
# Need loop devices for systemd-dissect
|
|
test_create_image() {
|
|
create_empty_image_rootdir
|
|
|
|
# Create what will eventually be our root filesystem onto an overlay
|
|
# If some pieces are missing from the host, skip rather than fail
|
|
(
|
|
LOG_LEVEL=5
|
|
setup_basic_environment
|
|
mask_supporting_services
|
|
|
|
instmods loop =block
|
|
instmods squashfs =squashfs
|
|
instmods dm_verity =md
|
|
install_dmevent
|
|
generate_module_dependencies
|
|
inst_binary losetup
|
|
|
|
BASICTOOLS=(
|
|
bash
|
|
cat
|
|
mount
|
|
)
|
|
oldinitdir=$initdir
|
|
export initdir=$TESTDIR/minimal
|
|
mkdir -p $initdir
|
|
setup_basic_dirs
|
|
install_basic_tools
|
|
cp $os_release $initdir/usr/lib/os-release
|
|
ln -s ../usr/lib/os-release $initdir/etc/os-release
|
|
echo MARKER=1 >> $initdir/usr/lib/os-release
|
|
mksquashfs $initdir $oldinitdir/usr/share/minimal.raw
|
|
veritysetup format $oldinitdir/usr/share/minimal.raw $oldinitdir/usr/share/minimal.verity | grep '^Root hash:' | cut -f2 | tr -d '\n' > $oldinitdir/usr/share/minimal.roothash
|
|
export initdir=$oldinitdir
|
|
)
|
|
}
|
|
|
|
do_test "$@" 50
|