summaryrefslogtreecommitdiffstats
path: root/scripts/install.sh
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-10-17 00:04:36 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-10-17 00:46:57 +0200
commitfa1a0fa5e47260349d2da761b499223d11324b58 (patch)
treef5dc6092e40da84075746a5aa1ab8e7d6ac8bc8d /scripts/install.sh
parent777204d72f9d184e4416f943d8a1a38051dfb5ae (diff)
Add xds-agent user systemd service file and install
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'scripts/install.sh')
-rwxr-xr-xscripts/install.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/install.sh b/scripts/install.sh
new file mode 100755
index 0000000..6f93f2b
--- /dev/null
+++ b/scripts/install.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Install XDS agent as a user systemd service
+
+DESTDIR=${DESTDIR:-/opt/AGL/xds/agent}
+
+ROOT_SRCDIR=$(cd $(dirname "$0")/.. && pwd)
+
+install() {
+ mkdir -p ${DESTDIR} && cp ${ROOT_SRCDIR}/bin/* ${DESTDIR} || exit 1
+
+ cp ${ROOT_SRCDIR}/conf.d/etc/xds-agent /etc/ || exit 1
+ cp ${ROOT_SRCDIR}/conf.d/etc/default/xds-agent /etc/default/ || exit 1
+
+ FILE=/etc/profile.d/xds-agent.sh
+ sed -e "s;%%XDS_INSTALL_BIN_DIR%%;${DESTDIR};g" ${ROOT_SRCDIR}/conf.d/${FILE} > ${FILE} || exit 1
+
+ FILE=/usr/lib/systemd/user/xds-agent.service
+ sed -e "s;/opt/AGL/xds/agent;${DESTDIR};g" ${ROOT_SRCDIR}/conf.d/${FILE} > ${FILE} || exit 1
+
+ echo ""
+ echo "To enable xds-agent service, execute: systemctl --user enable xds-agent"
+ echo "and to start xds-agent service, execute: systemctl --user start xds-agent"
+}
+
+uninstall() {
+ rm -rf "${DESTDIR}"
+ rm -f /etc/xds-agent /etc/profile.d/xds-agent.sh /usr/lib/systemd/user/xds-agent.service
+}
+
+if [ "$1" == "uninstall" ]; then
+ echo -n "Are-you sure you want to remove ${DESTDIR} [y/n]? "
+ read answer
+ if [ "${answer}" = "y" ]; then
+ uninstall
+ echo "xds-agent sucessfully uninstalled."
+ else
+ echo "Uninstall canceled."
+ fi
+else
+ install
+fi