blob: 90f73d2306e0787ca437cd9fa691b2533f41bdb4 [file] [log] [blame]
#!/bin/bash
# update_repos() - Function that updates linux repositories
function update_repos {
echo "Updating repositories list..."
if [ -f /var/onap/files/sources.list ]; then
cp /var/onap/files/sources.list /etc/apt/sources.list
fi
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
zypper -n ref
;;
ubuntu|debian)
if [[ "$debug" == "False" ]]; then
apt-get update > /dev/null
else
apt-get update
fi
;;
rhel|centos|fedora)
yum updateinfo
;;
esac
}
# is_package_installed() - Function to tell if a package is installed
function is_package_installed {
if [[ -z "$@" ]]; then
return 1
fi
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
CHECK_CMD="zypper search --match-exact --installed"
;;
ubuntu|debian)
CHECK_CMD="dpkg -l"
;;
rhel|centos|fedora)
CHECK_CMD="rpm -q"
;;
esac
${CHECK_CMD} "$@" &> /dev/null
}
# install_packages() - Install a list of packages
function install_packages {
local package=$@
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
;;
ubuntu|debian)
apt-get install -y -qq $package
;;
rhel|centos|fedora)
;;
esac
}
# install_package() - Install specific package if doesn't exist
function install_package {
local package=$1
if ! is_package_installed $package; then
echo "Installing $package..."
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
zypper install -y $package
;;
ubuntu|debian)
if [[ "$debug" == "False" ]]; then
apt-get install -y -qq -o=Dpkg::Use-Pty=0 $package
else
apt-get install -y $package
fi
;;
rhel|centos|fedora)
PKG_MANAGER=$(which dnf || which yum)
${PKG_MANAGER} -y install $package
;;
esac
fi
}
# uninstall_packages() - Uninstall a list of packages
function uninstall_packages {
local packages=$@
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
;;
ubuntu|debian)
apt-get purge -y -qq $packages
;;
rhel|centos|fedora)
;;
esac
}
# uninstall_package() - Uninstall specific package if exists
function uninstall_package {
local package=$1
if is_package_installed $package; then
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
;;
ubuntu|debian)
apt-get purge -y -qq $package
;;
rhel|centos|fedora)
;;
esac
fi
}