mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-06 03:59:31 +01:00
pbot-vm: setup-guest
auto-detects OS/distro and runs provisioning scripts
This commit is contained in:
parent
91f8547aed
commit
0829265ef8
@ -8,6 +8,41 @@
|
|||||||
# SPDX-FileCopyrightText: 2022 Pragmatic Software <pragma78@gmail.com>
|
# SPDX-FileCopyrightText: 2022 Pragmatic Software <pragma78@gmail.com>
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
# determine OS/distribution
|
||||||
|
if [ -f /etc/os-release ]; then
|
||||||
|
# freedesktop.org and systemd
|
||||||
|
. /etc/os-release
|
||||||
|
OS=$NAME
|
||||||
|
VER=$VERSION_ID
|
||||||
|
elif type lsb_release >/dev/null 2>&1; then
|
||||||
|
# linuxbase.org
|
||||||
|
OS=$(lsb_release -si)
|
||||||
|
VER=$(lsb_release -sr)
|
||||||
|
elif [ -f /etc/lsb-release ]; then
|
||||||
|
# For some versions of Debian/Ubuntu without lsb_release command
|
||||||
|
. /etc/lsb-release
|
||||||
|
OS=$DISTRIB_ID
|
||||||
|
VER=$DISTRIB_RELEASE
|
||||||
|
else
|
||||||
|
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
|
||||||
|
OS=$(uname -s)
|
||||||
|
VER=$(uname -r)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Detected OS: $OS ($VER)"
|
||||||
|
|
||||||
|
# run known provisioning scripts
|
||||||
|
case $OS in
|
||||||
|
'openSUSE Tumbleweed')
|
||||||
|
echo "Provisioning for openSUSE Tumbleweed"
|
||||||
|
./guest/provision/tumbleweed
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "!! No automatic provisioning script for $OS ($VER). Install packages manually. !!"
|
||||||
|
echo
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# copy executable scripts
|
# copy executable scripts
|
||||||
cp guest/bin/* /usr/local/bin
|
cp guest/bin/* /usr/local/bin
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Orchestration scripts to install packages and set-up environments
|
|
1
applets/pbot-vm/guest/provision/README.md
Normal file
1
applets/pbot-vm/guest/provision/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Provisioning scripts to install packages and set-up environments
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
# File: tumbleweed
|
# File: tumbleweed
|
||||||
#
|
#
|
||||||
# Purpose: Orchestration script to install packages and set-up environment
|
# Purpose: Provisioning script to install packages and set-up environment
|
||||||
# on OpenSUSE Tumbleweed for pbot-vim.
|
# on OpenSUSE Tumbleweed for pbot-vm.
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2024 Pragmatic Software <pragma78@gmail.com>
|
# SPDX-FileCopyrightText: 2024 Pragmatic Software <pragma78@gmail.com>
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
@ -434,8 +434,12 @@ Once that's done, run the following command:
|
|||||||
guest$ ./guest/bin/setup-guest
|
guest$ ./guest/bin/setup-guest
|
||||||
|
|
||||||
This will install `guest-server` to `/usr/local/bin/`, set up some environment variables and
|
This will install `guest-server` to `/usr/local/bin/`, set up some environment variables and
|
||||||
harden the guest system. After running the `setup-guest` script, we need to make the environment
|
harden the guest system. Additionally, it'll autodetect your chosen OS/distribution and attempt
|
||||||
changes take effect:
|
to run any provisioning scripts from the `./guest/provision` directory. If no provisioning
|
||||||
|
scripts are available, it will warn you to manually install the packages for the `cc` languages
|
||||||
|
you want to use. You may use `./guest/provision/tumbleweed` as a reference.
|
||||||
|
|
||||||
|
After running the `setup-guest` script, we need to make the environment changes take effect:
|
||||||
|
|
||||||
guest$ source /root/.bashrc
|
guest$ source /root/.bashrc
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ use PBot::Imports;
|
|||||||
# These are set by the /misc/update_version script
|
# These are set by the /misc/update_version script
|
||||||
use constant {
|
use constant {
|
||||||
BUILD_NAME => "PBot",
|
BUILD_NAME => "PBot",
|
||||||
BUILD_REVISION => 4727,
|
BUILD_REVISION => 4728,
|
||||||
BUILD_DATE => "2024-03-30",
|
BUILD_DATE => "2024-03-30",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user