3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-18 01:49:53 +01:00
pbot/applets/pbot-vm/guest/bin/setup-guest

75 lines
1.9 KiB
Plaintext
Raw Normal View History

#!/bin/bash
2022-02-08 19:44:50 +01:00
# File: setup-guest
#
# Purpose: Sets up PBot VM Guest. Copies necessary files to the appropriate
# location, sets up environment variables and various configuration details.
# SPDX-FileCopyrightText: 2022-2024 Pragmatic Software <pragma78@gmail.com>
2022-02-08 19:44:50 +01:00
# SPDX-License-Identifier: MIT
# determine OS/distribution
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
. /etc/os-release
OS=$PRETTY_NAME
elif type lsb_release >/dev/null 2>&1; then
# linuxbase.org
OS=$(lsb_release -si)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
. /etc/lsb-release
OS=$DISTRIB_ID
else
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
OS=$(uname -s)
fi
echo "Detected OS: $OS"
# run known provisioning scripts
case $OS in
'openSUSE Tumbleweed')
echo "Provisioning for $OS"
./guest/provision/tumbleweed
;;
'Debian GNU/Linux trixie/sid')
echo "Provisioning for $OS"
./guest/provision/debian-trixie
;;
*)
echo "!! No automatic provisioning script for $OS. Install packages manually. !!"
echo
;;
esac
2022-02-08 19:44:50 +01:00
# copy executable scripts
cp guest/bin/* /usr/local/bin
# lib and language support
mkdir -p /usr/local/share/pbot-vm/
cp -r guest/lib/* /usr/local/share/pbot-vm/
2022-02-08 19:44:50 +01:00
# C support and GDB integration
cp guest/include/prelude.h /usr/include
2022-02-08 19:44:50 +01:00
# require root password for polkit actions
cp guest/polkit/* /etc/polkit-1/rules.d/
2022-02-08 19:44:50 +01:00
# set environment variables
if ! grep -qF "pbot-vm" /root/.bashrc; then
echo '# pbot-vm' >> /root/.bashrc
echo unset DEBUGINFOD_URLS >> /root/.bashrc
echo export ASAN_OPTIONS=detect_leaks=0 >> /root/.bashrc
fi
export DEBUGINFOD_URLS
export ASAN_OPTIONS=detect_leaks=0
echo PBot Guest VM is set up.
echo
echo To start PBot Guest Server: guest-server
# make environment variables take effect
exec /bin/bash