cd "${ROOT}"
. lib/abort_if_offline.sh
. lib/abort_if_command_unknown.sh
+. lib/expect_n_args.sh
abort_if_offline
abort_if_command_unknown xz
-TEMP_DIR=$(mktemp -d)
-cd "${TEMP_DIR}"
+expect_n_args 0 4 '[discord] [mattermost] [signal] [telegram]' "$@"
install_with_repo() {
local APP_NAME=$1
sudo apt install -y "${APP_NAME}-desktop"
}
-install_with_repo mattermost deb.packages.mattermost.com pubkey.gpg stable
+install_telegram() {
+ local FILENAME_TGRAM_ARCHIVE=linux
+ local URL_TGRAM_ARCHIVE="https://telegram.org/dl/desktop/${FILENAME_TGRAM_ARCHIVE}"
+ local REL_PATH_TGRAM_DIR=Telegram
+ local REL_PATH_TGRAM_APP="${REL_PATH_TGRAM_DIR}/Telegram"
+ local PATH_TARGET="${ROOT}/telegram"
+ wget "${URL_TGRAM_ARCHIVE}"
+ tar xf "${FILENAME_TGRAM_ARCHIVE}"
+ mv "${REL_PATH_TGRAM_APP}" "${PATH_TARGET}"
+ rm -rf "${REL_PATH_TGRAM_DIR}"
+ rm "${FILENAME_TGRAM_ARCHIVE}"
+}
+
+install_discord() {
+ local FILENAME_DISCORD_DEB_SOURCE='download?platform=linux'
+ local FILENAME_DISCORD_DEB_TARGET=discord.deb
+ local URL_DISCORD="https://discord.com/api/${FILENAME_DISCORD_DEB_SOURCE}"
+ wget "${URL_DISCORD}"
+ mv "${FILENAME_DISCORD_DEB_SOURCE}" "${FILENAME_DISCORD_DEB_TARGET}"
+ sudo apt install "./${FILENAME_DISCORD_DEB_TARGET}"
+ rm "${FILENAME_DISCORD_DEB_TARGET}"
+}
+
+install_mattermost() {
+ install_with_repo mattermost deb.packages.mattermost.com pubkey.gpg stable
+}
-install_with_repo signal updates.signal.org/desktop/apt keys.asc xenial
+install_signal() {
+ install_with_repo signal updates.signal.org/desktop/apt keys.asc xenial
+}
-FILENAME_TGRAM_ARCHIVE=linux
-URL_TGRAM_ARCHIVE="https://telegram.org/dl/desktop/${FILENAME_TGRAM_ARCHIVE}"
-REL_PATH_TGRAM_DIR=Telegram
-REL_PATH_TGRAM_APP="${REL_PATH_TGRAM_DIR}/Telegram"
-wget "${URL_TGRAM_ARCHIVE}"
-tar xf "${FILENAME_TGRAM_ARCHIVE}"
-mv "${REL_PATH_TGRAM_APP}" "${ROOT}/"
-rm -rf "${REL_PATH_TGRAM_DIR}"
-rm "${FILENAME_TGRAM_ARCHIVE}"
+TEMP_DIR=$(mktemp -d)
+cd "${TEMP_DIR}"
-update_discord
+if [ "$#" -eq 0 ]; then
+ install_signal
+ install_telegram
+ install_discord
+ install_mattermost
+else
+ while [ "$#" -gt 0 ]; do
+ if [ "$1" = 'signal' ]; then
+ install_signal
+ elif [ "$1" = 'telegram' ]; then
+ install_telegram
+ elif [ "$1" = 'discord' ]; then
+ install_discord
+ elif [ "$1" = 'mattermost' ]; then
+ install_mattermost
+ else
+ echo "unrecognized target: $1"
+ fi
+ shift 1
+ done
+fi
cd -
rmdir "${TEMP_DIR}"
+++ /dev/null
-#!/usr/bin/env dash
-set -e
-ROOT=$(dirname "$0")
-cd "${ROOT}"
-. lib/abort_if_offline.sh
-
-TEMP_DIR=$(mktemp -d)
-cd "${TEMP_DIR}"
-
-FILENAME_DISCORD_DEB_SOURCE='download?platform=linux'
-FILENAME_DISCORD_DEB_TARGET=discord.deb
-URL_DISCORD="https://discord.com/api/${FILENAME_DISCORD_DEB_SOURCE}"
-wget "${URL_DISCORD}"
-mv "${FILENAME_DISCORD_DEB_SOURCE}" "${FILENAME_DISCORD_DEB_TARGET}"
-sudo apt install "./${FILENAME_DISCORD_DEB_TARGET}"
-rm "${FILENAME_DISCORD_DEB_TARGET}"
-
-cd -
-rmdir "${TEMP_DIR}"