#!/bin/bash fetch_source() { : } build() { COPYLIST="list_dpkg_output" [ -e "$COPYLIST" ] && rm "$COPYLIST" list_packet_files >> "$COPYLIST" tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" } post_copy() { mkdir -p "${TARGET_BUILD_DIR}/var/lib/lightdm"{,-data} local LDMUID=$(add_system_user "lightdm") local LDMGID=$(add_system_group "lightdm") pinfo "lightdm user and group is $LDMUID $LDMGID" chown -R "${LDMUID}:${LDMGID}" "${TARGET_BUILD_DIR}/var/lib/lightdm/" || \ perror "chowning '${TARGET_BUILD_DIR}/var/lib/lightdm/' failed." # NOTE this might cause problems on systemd-based systems where use our # own systemd module instead of using the distro's module, which we shouldn't # in the first place! First, check if service file is present on system: local LIGHTDM_SERVICE_PATH="$(systemctl show -p FragmentPath lightdm.service | cut -c 14-)" if [ -z "${LIGHTDM_SERVICE_PATH}" ]; then # Not found, so use our template local LIGHTDM_SERVICE_TPL="${MODULE_DIR}/templates/lightdm.service" [ -s "${LIGHTDM_SERVICE_TPL}" ] || perror "Unable to find template at ${LIGHTDM_SERVICE_TPL}." local LIGHTDM_SERVICE_DEST="${TARGET_BUILD_DIR}/etc/systemd/system/lightdm.service" mkdir -p "${LIGHTDM_SERVICE_DEST%/*}" || perror "Could not create '${LIGHTDM_SERVICE_DEST%/*}'." cp "${MODULE_DIR}/templates/lightdm.service" "${LIGHTDM_SERVICE_DEST}" || \ perror "Could not cp lightdm.service template to '${LIGHTDM_SERVICE_DEST}'." LIGHTDM_SERVICE_PATH="${LIGHTDM_SERVICE_DEST//${TARGET_BUILD_DIR}/}" fi # either way link display-manager to LIGHTDM_SERVICE_PATH ln -sf "${LIGHTDM_SERVICE_PATH}" \ "${TARGET_BUILD_DIR}/etc/systemd/system/display-manager.service" || \ perror "Could not set lightdm as display-manager!" }