Add libexecdir argument to install.sh

This commit is contained in:
Ben Peddell 2015-09-18 19:22:38 +10:00
parent 3977190e7a
commit bfca58c39d

View File

@ -42,6 +42,13 @@ while [ -n "$1" ]; do
BINDIR="$2" BINDIR="$2"
shift shift
;; ;;
--libexecdir=*)
LIBEXECDIR="${1#--libexecdir=}"
;;
--libexecdir)
LIBEXECDIR="$2"
shift
;;
-*) -*)
echo "Invalid option '$1'" echo "Invalid option '$1'"
showusage=yes showusage=yes
@ -83,6 +90,7 @@ else
fi fi
BINDIR="${BINDIR:-${EXECPREFIX}/bin}" BINDIR="${BINDIR:-${EXECPREFIX}/bin}"
LIBEXECDIR="${LIBEXECDIR:-${EXECPREFIX}/libexec/arkmanager}"
if [ "$showusage" == "yes" ]; then if [ "$showusage" == "yes" ]; then
echo "Usage: ./install.sh {<user>|--me} [OPTIONS]" echo "Usage: ./install.sh {<user>|--me} [OPTIONS]"
@ -102,6 +110,7 @@ if [ "$showusage" == "yes" ]; then
echo " [INSTALL_ROOT=${INSTALL_ROOT}]" echo " [INSTALL_ROOT=${INSTALL_ROOT}]"
echo "--bindir Specify the directory under which to install executables" echo "--bindir Specify the directory under which to install executables"
echo " [BINDIR=${BINDIR}]" echo " [BINDIR=${BINDIR}]"
echo "--libexecdir Specify the directory under which to install executable support files"
exit 1 exit 1
fi fi
@ -134,12 +143,12 @@ else
if [ -f /lib/lsb/init-functions ]; then if [ -f /lib/lsb/init-functions ]; then
# on debian 8, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit # on debian 8, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit
if [ -f /etc/systemd/system.conf ]; then # used by systemd if [ -f /etc/systemd/system.conf ]; then # used by systemd
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager" mkdir -p "${INSTALL_ROOT}${LIBEXECDIRPREFIX}"
cp lsb/arkdaemon "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" cp lsb/arkdaemon "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
if [ -z "${INSTALL_ROOT}" ]; then if [ -z "${INSTALL_ROOT}" ]; then
systemctl daemon-reload systemctl daemon-reload
systemctl enable arkmanager.service systemctl enable arkmanager.service
@ -160,12 +169,12 @@ else
elif [ -f /etc/rc.d/init.d/functions ]; then elif [ -f /etc/rc.d/init.d/functions ]; then
# on RHEL 7, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit # on RHEL 7, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit
if [ -f /etc/systemd/system.conf ]; then # used by systemd if [ -f /etc/systemd/system.conf ]; then # used by systemd
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager" mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
cp redhat/arkdaemon "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" cp redhat/arkdaemon "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
if [ -z "${INSTALL_ROOT}" ]; then if [ -z "${INSTALL_ROOT}" ]; then
systemctl daemon-reload systemctl daemon-reload
systemctl enable arkmanager.service systemctl enable arkmanager.service
@ -192,12 +201,12 @@ else
echo "rc-update del arkmanager default" echo "rc-update del arkmanager default"
fi fi
elif [ -f /etc/systemd/system.conf ]; then # used by systemd elif [ -f /etc/systemd/system.conf ]; then # used by systemd
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager" mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
cp systemd/arkdaemon.init "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" cp systemd/arkdaemon.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service" sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init" sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
if [ -z "${INSTALL_ROOT}" ]; then if [ -z "${INSTALL_ROOT}" ]; then
systemctl enable arkmanager.service systemctl enable arkmanager.service
echo "Ark server will now start on boot, if you want to remove this feature run the following line" echo "Ark server will now start on boot, if you want to remove this feature run the following line"