Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions systemd/install_mapd_systemd.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

declare -A descs
declare -A vars
Expand All @@ -12,9 +12,9 @@ descs["MAPD_STORAGE"]="MapD data and configuration storage directory"
vars["MAPD_STORAGE"]=${MAPD_STORAGE:="/var/lib/mapd"}

descs["MAPD_USER"]="user MapD will be run as"
vars["MAPD_USER"]=${MAPD_USER:=$(id --user --name)}
vars["MAPD_USER"]=${MAPD_USER:=$(whoami)}
descs["MAPD_GROUP"]="group MapD will be run as"
vars["MAPD_GROUP"]=${MAPD_GROUP:=$(id --group --name)}
vars["MAPD_GROUP"]=${MAPD_GROUP:=$(groups $(whoami) | cut -d' ' -f1)}

for v in MAPD_PATH MAPD_STORAGE MAPD_USER MAPD_GROUP ; do
echo "$v: ${descs["$v"]}"
Expand All @@ -32,7 +32,10 @@ done
vars["MAPD_DATA"]=${MAPD_DATA:="${vars['MAPD_STORAGE']}/data"}
sudo mkdir -p "${vars['MAPD_DATA']}"
sudo mkdir -p "${vars['MAPD_STORAGE']}"
if [ -f mapd-sds.conf.in ]; then

SYSTEM_PATH=${vars["MAPD_PATH"]}/systemd

if [ -f $SYSTEMD_PATH/mapd-sds.conf.in ]; then
sudo mkdir -p "${vars['MAPD_STORAGE']}/sds"
fi

Expand All @@ -45,33 +48,33 @@ sudo chown -R ${vars['MAPD_USER']}:${vars['MAPD_GROUP']} "${vars['MAPD_STORAGE']


for f in mapd_server mapd_server@ mapd_sd_server mapd_sd_server@ mapd_web_server mapd_web_server@ ; do
if [ -f $f.service.in ]; then
if [ -f $SYSTEMD_PATH/$f.service.in ]; then
sed -e "s#@MAPD_PATH@#${vars['MAPD_PATH']}#g" \
-e "s#@MAPD_STORAGE@#${vars['MAPD_STORAGE']}#g" \
-e "s#@MAPD_DATA@#${vars['MAPD_DATA']}#g" \
-e "s#@MAPD_USER@#${vars['MAPD_USER']}#g" \
-e "s#@MAPD_GROUP@#${vars['MAPD_GROUP']}#g" \
$f.service.in > $MAPD_TMP/$f.service
$SYSTEMD_PATH/$f.service.in > $MAPD_TMP/$f.service
sudo cp $MAPD_TMP/$f.service /lib/systemd/system/
fi
done
if [ -f mapd_xorg.service ]; then
sudo cp mapd_xorg.service /lib/systemd/system/
if [ -f $SYSTEMD_PATH/mapd_xorg.service ]; then
sudo cp $SYSTEMD_PATH/mapd_xorg.service /lib/systemd/system/
fi

sed -e "s#@MAPD_PATH@#${vars['MAPD_PATH']}#g" \
-e "s#@MAPD_STORAGE@#${vars['MAPD_STORAGE']}#g" \
-e "s#@MAPD_DATA@#${vars['MAPD_DATA']}#g" \
-e "s#@MAPD_USER@#${vars['MAPD_USER']}#g" \
-e "s#@MAPD_GROUP@#${vars['MAPD_GROUP']}#g" \
mapd.conf.in > $MAPD_TMP/mapd.conf
if [ -f mapd-sds.conf.in ]; then
$SYSTEMD_PATH/mapd.conf.in > $MAPD_TMP/mapd.conf
if [ -f $SYSTEMD_PATH/mapd-sds.conf.in ]; then
sed -e "s#@MAPD_PATH@#${vars['MAPD_PATH']}#g" \
-e "s#@MAPD_STORAGE@#${vars['MAPD_STORAGE']}#g" \
-e "s#@MAPD_DATA@#${vars['MAPD_DATA']}#g" \
-e "s#@MAPD_USER@#${vars['MAPD_USER']}#g" \
-e "s#@MAPD_GROUP@#${vars['MAPD_GROUP']}#g" \
mapd-sds.conf.in > $MAPD_TMP/mapd-sds.conf
$SYSTEMD_PATH/mapd-sds.conf.in > $MAPD_TMP/mapd-sds.conf
sudo cp $MAPD_TMP/mapd-sds.conf ${vars['MAPD_STORAGE']}
sudo chown ${vars['MAPD_USER']}:${vars['MAPD_GROUP']} "${vars['MAPD_STORAGE']}/mapd-sds.conf"
fi
Expand Down