3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov#
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# Dependency management.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov#
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# Copyright (C) 2014 Red Hat
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov#
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# This program is free software; you can redistribute it and/or modify
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# it under the terms of the GNU General Public License as published by
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# the Free Software Foundation; either version 3 of the License, or
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# (at your option) any later version.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov#
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# This program is distributed in the hope that it will be useful,
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# but WITHOUT ANY WARRANTY; without even the implied warranty of
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# GNU General Public License for more details.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov#
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# You should have received a copy of the GNU General Public License
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# along with this program. If not, see <http://www.gnu.org/licenses/>.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovif [ -z ${_DEPS_SH+set} ]; then
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovdeclare -r _DEPS_SH=
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov. distro.sh
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# Dependency list
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovdeclare -a DEPS_LIST=(
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov lcov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov valgrind
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov)
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov# "Integration tests dependencies satisfied" flag
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashovdeclare DEPS_INTGCHECK_SATISFIED=true
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovif [[ "$DISTRO_BRANCH" == -redhat-* ]]; then
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov declare _DEPS_LIST_SPEC
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov DEPS_LIST+=(
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov clang-analyzer
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov fakeroot
933c7c5efc76b4a9f3206b36bf6fe60e5dd635f1Nikolai Kondrashov libcmocka-devel
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov mock
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov nss_wrapper
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov openldap-clients
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov openldap-servers
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov pytest
9d453f1e8b28983b363b44c49b7cd701a994fd97Nikolai Kondrashov python-ldap
b8946a5dbde01a87465de707092716349a35248bJakub Hrozek pyldb
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov rpm-build
428db8a58c0c149d5efccc6d788f70916c1d34d7Jakub Hrozek uid_wrapper
db0982c52294ee5ea08ed242d27660783fde29cdJakub Hrozek python-requests
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov )
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov _DEPS_LIST_SPEC=`
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov sed -e 's/@PACKAGE_VERSION@/0/g' \
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov -e 's/@PACKAGE_NAME@/package-name/g' \
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov -e 's/@PRERELEASE_VERSION@//g' contrib/sssd.spec.in |
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov rpm-spec-builddeps /dev/stdin`
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov readarray -t -O "${#DEPS_LIST[@]}" DEPS_LIST <<<"$_DEPS_LIST_SPEC"
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovfi
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovif [[ "$DISTRO_BRANCH" == -debian-* ]]; then
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov DEPS_LIST+=(
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov autoconf
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov automake
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov autopoint
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov check
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov cifs-utils
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov clang
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov dh-apparmor
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov dnsutils
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov docbook-xml
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov docbook-xsl
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov gettext
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov krb5-config
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libc-ares-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libcmocka-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libcollection-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libdbus-1-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libdhash-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libglib2.0-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libini-config-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libkeyutils-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libkrb5-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libldap2-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libldb-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libltdl-dev
261af6792759e510f698b9e37d14a6232e4714edNikolai Kondrashov libnfsidmap-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libnl-3-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libnl-route-3-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libnspr4-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libnss3-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libpam0g-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libpcre3-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libpopt-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libsasl2-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libselinux1-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libsemanage1-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libsmbclient-dev
cebf9d194dc99a1ef4acae3d63faa3eb65be695aPetr Cech libsystemd-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libtalloc-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libtdb-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libtevent-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libtool
90063840941efb2015d4375333677e3c26b1f4e6Lukas Slebodnik libtool-bin
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov libxml2-utils
3b8a064895aaef68fb615cf0287167aa3d3c6cfcLukas Slebodnik make
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov python-dev
889706cbc739358c2a0aac2ba6bc054fdc8e048bLukas Slebodnik python3-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov samba-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov systemd
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov xml-core
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov xsltproc
bf01e8179cbb2be476805340636098deda7e1366Sumit Bose libssl-dev
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik fakeroot
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik libnss-wrapper
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik libuid-wrapper
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik python-pytest
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik python-ldap
b8946a5dbde01a87465de707092716349a35248bJakub Hrozek python-ldb
db0982c52294ee5ea08ed242d27660783fde29cdJakub Hrozek python-requests
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik ldap-utils
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik slapd
acf7cee13f07b368b0ccae69776309f7f69cbca1Jakub Hrozek systemtap-sdt-dev
1dd679584241a0f9b29072c7eed1c5c5e4a577e4Simo Sorce libhttp-parser-dev
1dd679584241a0f9b29072c7eed1c5c5e4a577e4Simo Sorce libjansson-dev
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov )
cccbf6f5b2b80cd3f6311ccad96780faab93e1f7Lukas Slebodnik DEPS_INTGCHECK_SATISFIED=true
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovfi
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovdeclare -a -r DEPS_LIST
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# Install dependencies.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovfunction deps_install()
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov{
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov distro_pkg_install "${DEPS_LIST[@]}"
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov}
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov# Remove dependencies.
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovfunction deps_remove()
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov{
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov distro_pkg_remove "${DEPS_LIST[@]}"
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov}
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashov
3ce85a5f5264e7118beb6524e120fd8b53a13da4Nikolai Kondrashovfi # _DEPS_SH