From a93cb921d838128aa0baab4ab42f3ac6cf97ec4b Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Sat, 17 May 2014 11:14:37 -0700 Subject: [PATCH] refactor(build_library): Add a function for enabling systemd units. --- build_library/build_image_util.sh | 13 +++++++++++++ build_library/dev_image_util.sh | 4 +--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/build_library/build_image_util.sh b/build_library/build_image_util.sh index c1d3ccb120..90cf6ad05d 100755 --- a/build_library/build_image_util.sh +++ b/build_library/build_image_util.sh @@ -104,6 +104,19 @@ emerge_to_image() { sudo -E ROOT="${root_fs_dir}" env-update } +# Usage: systemd_enable /root default.target something.service +# Or: systemd_enable /root default.target some@.service some@thing.service +systemd_enable() { + local root_fs_dir="$1" + local target="$2" + local unit_file="$3" + local unit_alias="${4:-$3}" + local wants_dir="${root_fs_dir}/usr/lib/systemd/system/${target}.wants" + + sudo mkdir -p "${wants_dir}" + sudo ln -sf "../${unit_file}" "${wants_dir}/${unit_alias}" +} + start_image() { local image_name="$1" local disk_layout="$2" diff --git a/build_library/dev_image_util.sh b/build_library/dev_image_util.sh index cc376d8d85..ec8bddc794 100755 --- a/build_library/dev_image_util.sh +++ b/build_library/dev_image_util.sh @@ -94,9 +94,7 @@ EOF # Remount the system partition read-write by default. # The remount services are provided by coreos-base/coreos-init - local fs_wants="${root_fs_dir}/usr/lib/systemd/system/local-fs.target.wants" - sudo mkdir -p "${fs_wants}" - sudo ln -s ../remount-usr.service "${fs_wants}" + systemd_enable "${root_fs_dir}" "local-fs.target" "remount-usr.service" finish_image "${disk_layout}" "${root_fs_dir}" "${update_group}" }