diskimage-builder/elements/base/environment.d/10-SYSTEMD_SYSTEM_UNIT_DIR.bash
Gonéri Le Bouder 4bf38a829a introduce $SYSTEMD_SYSTEM_UNIT_DIR
export $SYSTEMD_SYSTEM_UNIT_DIR to know where .service files should be
moved.
So far those files are moved directly in /usr/lib/systemd/system whereas
Debian use /lib/systemd/system.

We load the value from the systemd pkg-config file.

The patch don't use pkg-config directly for three reasons:
 - environment.d files are run before install.d and the other similar
 targets, making hard to install an additional dependency
 - the .pc file can easily be parsed using awk
 - pkg-config package name is not standard across the different
 supported distributions

$SYSTEMD_SYSTEM_UNIT_DIR default value is /lib because, as pointed by James
Slagle, /lib is actually a symlink to /usr/lib/ on Fedora and will work
for Debian and Fedora.

See: https://bugs.debian.org/719634

Change-Id: I413a92284e6a79e7fcdde99c5138bc3ce8e85e80
2014-06-17 19:34:29 +02:00

8 lines
275 B
Bash

SYSTEMD_PC_FILE="/usr/share/pkgconfig/systemd.pc"
SYSTEMD_SYSTEM_UNIT_DIR="/lib"
if [ -f $SYSTEMD_PC_FILE ]; then
SYSTEMD_SYSTEM_UNIT_DIR=$(awk \
'/systemdsystemunitdir=/ {split($0,a,"=");print a[2]}' \
$SYSTEMD_PC_FILE)
fi
export SYSTEMD_SYSTEM_UNIT_DIR