Functions for adding and removing snap packages

This commit is contained in:
Bob Mottram 2018-05-16 13:52:23 +01:00
parent 8bee775b67
commit 9f999b6887
2 changed files with 62 additions and 3 deletions

View File

@ -238,12 +238,11 @@ function remove_rocketchat {
remove_ddns_domain "$ROCKETCHAT_DOMAIN_NAME" remove_ddns_domain "$ROCKETCHAT_DOMAIN_NAME"
snap remove rocketchat-server remove_snap rocketchat-server
} }
function install_rocketchat { function install_rocketchat {
apt-get -qy install snapd install_snap rocketchat-server
snap install rocketchat-server
install_nodejs rocketchat install_nodejs rocketchat
if [ ! "$ROCKETCHAT_DOMAIN_NAME" ]; then if [ ! "$ROCKETCHAT_DOMAIN_NAME" ]; then

60
src/freedombone-utils-snap Executable file
View File

@ -0,0 +1,60 @@
#!/bin/bash
# _____ _ _
# | __|___ ___ ___ _| |___ _____| |_ ___ ___ ___
# | __| _| -_| -_| . | . | | . | . | | -_|
# |__| |_| |___|___|___|___|_|_|_|___|___|_|_|___|
#
# Freedom in the Cloud
#
# Handling installation of snap packages
#
# License
# =======
#
# Copyright (C) 2018 Bob Mottram <bob@freedombone.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
function install_snap {
snap_package="$1"
if [ ! "$snap_package" ]; then
return
fi
no_of_snaps=$(df | grep -c "/snap/core/")
if [ "$no_of_snaps" -eq 0 ]; then
apt-get -yq install snapd
fi
if ! snap install "$snap_package"; then
echo $"Failed to install snap package $snap_package"
exit 46382854
fi
}
function remove_snap {
snap_package="$1"
if [ ! "$snap_package" ]; then
return
fi
snap remove "$snap_package"
no_of_snaps=$(df | grep -c "/snap/")
if [ "$no_of_snaps" -eq 1 ]; then
apt-get -yq remove snapd
fi
}
# NOTE: deliberately no exit 0