aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/vagrant-onap/lib/commons
blob: 90f73d2306e0787ca437cd9fa691b2533f41bdb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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
}