summaryrefslogtreecommitdiffstats
path: root/contrib/ci/deps.sh
blob: ba59f7848ee717e150cab7d9e4b1990dc20db294 (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
#
# Dependency management.
#
# Copyright (C) 2014 Red Hat
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

if [ -z ${_DEPS_SH+set} ]; then
declare -r _DEPS_SH=

. distro.sh

# Dependency list
declare -a DEPS_LIST=(
    lcov
    valgrind
    xqilla
)

# True, if all test dependencies are satisfied by the package list
declare DEPS_TESTS_SATISFIED=true

if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then
    declare _DEPS_LIST_SPEC
    DEPS_LIST+=(
        clang-analyzer
        mock
        rpm-build
    )
    _DEPS_LIST_SPEC=`
        sed -e 's/@PACKAGE_VERSION@/0/g' \
            -e 's/@PACKAGE_NAME@/package-name/g' \
            -e 's/@PRERELEASE_VERSION@//g' contrib/sssd.spec.in |
            rpm-spec-builddeps /dev/stdin`
    readarray -t -O "${#DEPS_LIST[@]}" DEPS_LIST <<<"$_DEPS_LIST_SPEC"
    if [[ "$DISTRO_BRANCH" == *-redhatenterprise*-6.*- ]]; then
        DEPS_TESTS_SATISFIED=false
    fi
fi

if [[ "$DISTRO_BRANCH" == -debian-* ]]; then
    DEPS_LIST+=(
        autoconf
        automake
        autopoint
        check
        cifs-utils
        clang
        dh-apparmor
        dnsutils
        docbook-xml
        docbook-xsl
        gettext
        krb5-config
        libaugeas-dev
        libc-ares-dev
        libcmocka-dev
        libcollection-dev
        libdbus-1-dev
        libdhash-dev
        libglib2.0-dev
        libini-config-dev
        libkeyutils-dev
        libkrb5-dev
        libldap2-dev
        libldb-dev
        libltdl-dev
        libnl-3-dev
        libnl-route-3-dev
        libnspr4-dev
        libnss3-dev
        libpam0g-dev
        libpcre3-dev
        libpopt-dev
        libsasl2-dev
        libselinux1-dev
        libsemanage1-dev
        libsmbclient-dev
        libsystemd-journal-dev
        libtalloc-dev
        libtdb-dev
        libtevent-dev
        libtool
        libxml2-utils
        python-dev
        samba-dev
        systemd
        xml-core
        xsltproc
    )
fi

declare -a -r DEPS_LIST
declare -r DEPS_TESTS_SATISFIED

# Install dependencies.
function deps_install()
{
    distro_pkg_install "${DEPS_LIST[@]}"
}

# Remove dependencies.
function deps_remove()
{
    distro_pkg_remove "${DEPS_LIST[@]}"
}

fi # _DEPS_SH