diff options
Diffstat (limited to 'lib/_commons')
-rwxr-xr-x | lib/_commons | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/lib/_commons b/lib/_commons new file mode 100755 index 0000000..90f73d2 --- /dev/null +++ b/lib/_commons @@ -0,0 +1,119 @@ +#!/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 +} |