mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-11-05 09:47:18 -05:00
7370e12b53
* POSIX sh * simpler distro detection * don't create functions for stuff used only once * add Gentoo (portage) support * handle other distros gracefully * ask before stealthily installing Go * compile even when Go is already installed
56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# About: Build OpenDiablo 2 automatically
|
|
# Author: liberodark
|
|
# License: GNU GPLv3
|
|
set -eu
|
|
|
|
version="0.0.2"
|
|
|
|
echo "OpenDiablo 2 Build Script $version"
|
|
|
|
#=================================================
|
|
# RETRIEVE ARGUMENTS FROM THE MANIFEST AND VAR
|
|
#=================================================
|
|
|
|
distro=$(sed -n 's#PRETTY_NAME="\([^"]*\)"#\1#p' /etc/os-release)
|
|
|
|
# Check OS & go
|
|
|
|
if ! command -v go >/dev/null
|
|
then
|
|
echo "Install Go for OpenDiablo 2 ($distro)? y/n"
|
|
read -r choice
|
|
[ "$choice" != y ] && [ "$choice" != Y ] && exit
|
|
|
|
case "$(echo "$distro" | tr '[:upper:]' '[:lower:]')" in
|
|
centos|red\ hat|suse|oracle)
|
|
sudo yum install -y go >/dev/null 2>&1
|
|
;;
|
|
fedora)
|
|
sudo dnf install -y go >/dev/null 2>&1
|
|
;;
|
|
debian|ubuntu|deepin)
|
|
sudo apt-get update >/dev/null 2>&1
|
|
sudo apt-get install -y go --force-yes >/dev/null 2>&1
|
|
;;
|
|
manjaro|arch\ linux)
|
|
sudo pacman -S go --noconfirm >/dev/null 2>&1
|
|
;;
|
|
gentoo/linux)
|
|
sudo emerge --ask n go /dev/null 2>&1
|
|
;;
|
|
*)
|
|
echo "$distro: unsupported distribution, please install Go by yourself"
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# Build
|
|
echo "Build OpenDiablo 2"
|
|
go get
|
|
go build
|
|
chmod u+x OpenDiablo2
|
|
echo "Build finished. Please edit config.json before running OpenDiablo2"
|