From 324d99159e1e64d78a580073626f5b645f1c3639 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Mon, 31 Jan 2022 14:19:09 +0100 Subject: [PATCH] test: copy portable profiles into the image if they don't exist there If we're built with `-Dportable=false`, the portable profiles won't get installed into the image. Since we need only the profile files and nothing else, let's copy them into the image explicitly in such case. (cherry picked from commit 6f73ef8b30803ac1be1b2607aec1a89d778caa9a) Related: #2017035 --- test/test-functions | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/test-functions b/test/test-functions index 218d0e6888..35d8f074a9 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1151,6 +1151,17 @@ install_systemd() { mkdir -p "$initdir/etc/systemd/system/service.d/" echo -e "[Service]\nProtectSystem=no\nProtectHome=no\n" >"$initdir/etc/systemd/system/service.d/gcov-override.conf" fi + + # If we're built with -Dportabled=false, tests with systemd-analyze + # --profile will fail. Since we need just the profile (text) files, let's + # copy them into the image if they don't exist there. + local portable_dir="${initdir:?}${ROOTLIBDIR:?}/portable" + if [[ ! -d "$portable_dir/profile/strict" ]]; then + dinfo "Couldn't find portable profiles in the test image" + dinfo "Copying them directly from the source tree" + mkdir -p "$portable_dir" + cp -frv "${SOURCE_DIR:?}/src/portable/profile" "$portable_dir" + fi } get_ldpath() {