Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix non-interactive install, and java, software-properties-common, sudo and wget dependencies #442

Merged
merged 1 commit into from
Apr 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions installers/arch.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
UPDATE_URL="https://raw.githubusercontent.com/msmhq/msm/master"
curl -L "${UPDATE_URL}/installers/common.sh" -o /tmp/msmcommon.sh #wget isn't installed on Arch by default
curl -L "${UPDATE_URL}/installers/common.sh" -o /tmp/msmcommon.sh # wget isn't installed on Arch by default
source /tmp/msmcommon.sh && rm -f /tmp/msmcommon.sh

# Installs sudo if it is not installed
function install_sudo() {
pacman --noconfirm -S sudo
}

function update_system_packages() {
install_log "Updating sources"
sudo pacman -Syy || install_error "Couldn't update packages"
sudo pacman --noconfirm -Syy || install_error "Couldn't update packages"
}

function install_dependencies() {
install_log "Installing required packages"
sudo pacman --noconfirm -S screen rsync zip wget jq || install_error "Couldn't install dependencies"
sudo pacman --noconfirm -S jq rsync screen wget zip || install_error "Couldn't install dependencies"
if ! command -v java > /dev/null 2>&1; then
install_log "Installing Java (OpenJDK 17)"
sudo pacman --noconfirm -S jre17-openjdk-headless || install_error "Couldn't install Java"
fi
}

function enable_init() {
Expand Down
16 changes: 15 additions & 1 deletion installers/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ function config_installation() {
fi
}

# Verifies if the system has sudo installed and, if not, installs it
function check_sudo() {
if ! command -v sudo > /dev/null 2>&1; then
install_sudo
fi
}

# Installs sudo if it is not installed
function install_sudo() {
# OVERLOAD THIS
install_error "No function definition for install_sudo"
}

# Runs a system software update to make sure we're using all fresh packages
function update_system_packages() {
# OVERLOAD THIS
Expand Down Expand Up @@ -163,9 +176,10 @@ function install_complete() {

function install_msm() {
config_installation
add_minecraft_user
check_sudo
update_system_packages
install_dependencies
add_minecraft_user
create_msm_directories
download_latest_files
patch_latest_files
Expand Down
20 changes: 17 additions & 3 deletions installers/debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,35 @@ UPDATE_URL="https://raw.githubusercontent.com/msmhq/msm/master"
wget -q ${UPDATE_URL}/installers/common.sh -O /tmp/msmcommon.sh
source /tmp/msmcommon.sh && rm -f /tmp/msmcommon.sh

# Installs sudo if it is not installed
function install_sudo() {
install_log "Installing sudo"
DEBIAN_FRONTEND=noninteractive apt-get -yqq install sudo
}

function update_system_packages() {
install_log "Updating sources"
if [ -f /etc/os-release ]; then
. /etc/os-release
if [ "$NAME" == 'Ubuntu' ]; then
if ! command -v add-apt-repository > /dev/null 2>&1; then
sudo apt-get -yqq install software-properties-common
fi

sudo add-apt-repository universe || install_error "Couldn't enable universe repository"
fi
fi
sudo apt-get update || install_error "Couldn't update package list"
sudo apt-get upgrade || install_error "Couldn't upgrade packages"
sudo apt-get -yqq update || install_error "Couldn't update package list"
DEBIAN_FRONTEND=noninteractive sudo apt-get -yqq upgrade || install_error "Couldn't upgrade packages"
}

function install_dependencies() {
install_log "Installing required packages"
sudo apt-get install screen rsync zip jq || install_error "Couldn't install dependencies"
DEBIAN_FRONTEND=noninteractive sudo apt-get -yqq install jq rsync screen wget zip || install_error "Couldn't install dependencies"
if ! command -v java > /dev/null 2>&1; then
install_log "Installing Java (OpenJDK 17)"
DEBIAN_FRONTEND=noninteractive sudo apt-get -yqq install openjdk-17-jre-headless || install_error "Couldn't install Java"
fi
}

function enable_init() {
Expand Down
13 changes: 11 additions & 2 deletions installers/redhat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,23 @@ UPDATE_URL="https://raw.githubusercontent.com/msmhq/msm/master"
wget -q ${UPDATE_URL}/installers/common.sh -O /tmp/msmcommon.sh
source /tmp/msmcommon.sh && rm -f /tmp/msmcommon.sh

# Installs sudo if it is not installed
function install_sudo() {
yum -yq install sudo
}

function update_system_packages() {
install_log "Updating sources"
sudo yum update --skip-broken || install_error "Couldn't update packages"
sudo yum -yq update --skip-broken || install_error "Couldn't update packages"
}

function install_dependencies() {
install_log "Installing required packages"
sudo yum install screen rsync zip java jq || install_error "Couldn't install dependencies"
sudo yum -yq install jq rsync screen wget zip || install_error "Couldn't install dependencies"
if ! command -v java > /dev/null 2>&1; then
install_log "Installing Java (OpenJDK 17)"
sudo yum -yq install java-17-openjdk || install_error "Couldn't install Java"
fi
}

function enable_init() {
Expand Down