#!/bin/bash
# Copyright (c) 2019 Huawei Technologies Co., Ltd. All rights reserved.
#
# Wrapper for systemctl in guest OS.
# In most cases it just passes arguments to host systemd.
# In cases of service manipulation commands (enable, disable, is-enabled)
# it appends "--root <path-to-guest-image>" to command and passes it to host systemd.
# It's needed to manipulate symlinks in guest image instead of host.

EXAGEAR_ROOT_DIR="$(dirname "$(realpath "${BASH_SOURCE}")")"/..
EXAGEAR_ROOT_DIR="$(realpath "${EXAGEAR_ROOT_DIR}")"

FULL_PATH_TO_EXE=$0
PREFIX_STRIPPED=${FULL_PATH_TO_EXE##${EXAGEAR_ROOT_DIR}/images/}
EXAGEAR_IMAGE_NAME=${PREFIX_STRIPPED%%/.exagear/`basename $0`}

export EXAGEAR_GUEST_CONF=${EXAGEAR_ROOT_DIR}/etc/exagear-guest-for-${EXAGEAR_IMAGE_NAME}.conf
. ${EXAGEAR_GUEST_CONF}
export EXAGEAR_CORE_CONF=${EXAGEAR_ROOT_DIR}/etc/exagear-${EXAGEAR_IMAGE_ARCH}.conf

for ARG in $@
do
	if [ "${ARG}" == "enable" ] || [ "${ARG}" == "disable" ] || [ "${ARG}" == "is-enabled" ] || [ "${ARG}" == "preset" ]
	then
		MINUSMINUSROOT="--root ${EXAGEAR_ROOT_DIR}/images/${EXAGEAR_GUEST_IMAGE_NAME}"
		break
	fi
done
SYSTEMCTL=`which systemctl`
${SYSTEMCTL} daemon-reload
${EXAGEAR_ROOT_DIR}/integration/service-hooks/*
SYSTEMCTL_SKIP_SYSV=y exec ${SYSTEMCTL} $MINUSMINUSROOT $@

