# This file is used to define functions under the niso.* namespace.
# Set $niso_pkg to “apt-get” or “yum”, or abort. # if which apt-get >/dev/null 2>&1; then
export niso_pkg=apt-get
elif which yum >/dev/null 2>&1; then
export niso_pkg=yum
fi
if [ “$niso_pkg” = '' ]; then
echo 'niso only supports apt-get or yum!' >&2 exit 1
fi
# Mute STDOUT and STDERR # function niso.mute() {
echo "Running \"$@\"" `$@ >/dev/null 2>&1` return $?
}
# Installer # function niso.installed() {
if [ "$niso_pkg" = 'apt-get' ]; then dpkg -s $@ >/dev/null 2>&1 elif [ "$niso_pkg" = 'yum' ]; then rpm -qa | grep $@ >/dev/null fi return $?
}
# When there's “set -e” in install.sh, niso.install should be used with if statement, # otherwise the script may exit unexpectedly when the package is already installed. # function niso.install() {
if niso.installed "$@"; then echo "$@ already installed" return 1 else echo "No packages found matching $@. Installing..." niso.mute "$niso_pkg -y install $@" return 0 fi
}