diff --git a/install_elog.sh b/install_elog.sh index 2479cc50d..0611cb88d 100644 --- a/install_elog.sh +++ b/install_elog.sh @@ -1,16 +1,107 @@ #!/bin/bash set -e -echo "[INFO] Starting fake org.freedesktop.Notifications service..." +PREFIX="/usr/local" +INSTANCE_DIR="$PREFIX/elog" +PASSWORD="testpassword" -python3 start-notification-service.py & -SERVICE_PID=$! +# ======================= +# 1. Install dependencies +# ======================= +sudo apt update +sudo apt install -y make gcc git curl openssl whois python3-full python3-venv -sleep 1 +# ======================= +# 2. Download ELOG +# ======================= +rm -rf /tmp/elog-src +mkdir -p /tmp/elog-src +cd /tmp/elog-src +git clone --recursive https://bitbucket.org/ritt/elog +cd elog +make -j"$(nproc)" -gdbus introspect \ - --session \ - --dest org.freedesktop.Notifications \ - --object-path /org/freedesktop/Notifications +sudo mkdir -p "$PREFIX/sbin" "$INSTANCE_DIR/logbooks/demo" +sudo cp elogd "$PREFIX/sbin/" -wait $SERVICE_PID +# ======================= +# 4. Create users.xml with password +# ======================= +sudo tee "$INSTANCE_DIR/users.xml" > /dev/null < + + + + robot + me1T.2jUUqQNa1wNuey9zNBOmOa4eILOaPb.ZSZjpn4 + Robot User + 0 + 0 + robot@example.com + + +EOF + +sudo chmod 644 "$INSTANCE_DIR/users.xml" + +# ======================= +# 5. Create configuration elogd.cfg +# ======================= +sudo tee "$INSTANCE_DIR/elogd.cfg" > /dev/null < /dev/null <<'EOF' +#!/bin/sh +case "$1" in + start) + echo "Starting elogd..." + /usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg > /dev/null 2>&1 & + echo $! > /var/run/elogd.pid + ;; + stop) + echo "Stopping elogd..." + kill $(cat /var/run/elogd.pid) + rm -f /var/run/elogd.pid + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac +EOF + +sudo chmod +x /etc/init.d/elogd + +# ======================= +# 7. Fix permissions +# ======================= +sudo chmod -R 777 "$INSTANCE_DIR/logbooks" + +# ======================= +# 8. Launch ELOG +# ======================= +sudo service elogd restart +sleep 3