script: Remove systemd directories only if not required.
Mask systemd directories only if the USE variable doesn't list
the "systemd" flag.
BUG=chromium:583671
TEST=Built packages. Checked directories.
Change-Id: I9981a5f03476979279a5aa191d8808dcc0395ddc
Reviewed-on: https://chromium-review.googlesource.com/412642
Commit-Ready: Sabin Flo <sabin.floares@gmail.com>
Tested-by: Sabin Floares <sabin.floares@intel.com>
Tested-by: Sabin Flo <sabin.floares@gmail.com>
Reviewed-by: Andrey Ulanov <andreyu@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/build_image b/build_image
index f73ebec..369592c 100755
--- a/build_image
+++ b/build_image
@@ -144,6 +144,15 @@
export USE="${USE} fbconsole vtconsole factory_shim_ramfs i2cdev vfat"
fi
+# Mask systemd directories if this is not a systemd image.
+if ! has "systemd" "$(portageq-${FLAGS_board} envvar USE)"; then
+ COMMON_INSTALL_MASK+=" ${SYSTEMD_INSTALL_MASK}"
+ DEFAULT_INSTALL_MASK+=" ${SYSTEMD_INSTALL_MASK}"
+ FACTORY_TEST_INSTALL_MASK+=" ${SYSTEMD_INSTALL_MASK}"
+ FACTORY_SHIM_INSTALL_MASK+=" ${SYSTEMD_INSTALL_MASK}"
+ INSTALL_MASK+=" ${SYSTEMD_INSTALL_MASK}"
+fi
+
# TODO: </prebuild hook>
# If we are creating a developer image, also create a pristine image with a
diff --git a/common.sh b/common.sh
index 2d00ac8..a86dd38 100644
--- a/common.sh
+++ b/common.sh
@@ -437,7 +437,6 @@
/firmware
/lib/modules/*/vdso
/lib/rc
- /lib/systemd
/usr/bin/*-config
/usr/bin/Xnest
/usr/bin/Xvfb
@@ -446,7 +445,6 @@
/usr/lib/debug
/usr/lib/gopath
/usr/lib*/pkgconfig
- /usr/lib/systemd
/usr/local/autotest-chrome
/usr/man
/usr/share/aclocal
@@ -514,6 +512,12 @@
/usr/share/zoneinfo
"
+# Mask for images without systemd.
+SYSTEMD_INSTALL_MASK="
+ /lib/systemd
+ /usr/lib/systemd
+"
+
# -----------------------------------------------------------------------------
# Functions