1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-11-05 09:47:18 -05:00
OpenDiablo2/run.sh
q3cpma 7370e12b53 Improve run.sh: (#129)
* 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
2019-11-10 07:47:55 -05:00

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"