Generalization of recursive function
[apex.git] / contrib / dev_dep_check.sh
1 #!/bin/sh
2 ##############################################################################
3 # Copyright (c) 2016 Dan Radez (Red Hat) and others.
4 #
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
10
11 # This script makes sure deploy deps are installed when not relying on RPM
12
13 set -e
14
15 rdo_action="update"
16
17 # check for rdo-release
18 if ! rpm -q rdo-release > /dev/null; then
19     rdo_action="install"
20 fi
21
22 # make sure rdo release
23 if ! sudo yum $rdo_action -y  https://www.rdoproject.org/repos/rdo-release.rpm; then
24     echo "Failed to $rdo_action RDO Release package..."
25     exit 1
26 fi
27
28 # update ipxe-roms-qemu
29 if ! sudo yum update -y ipxe-roms-qemu; then
30     echo "Failed to update ipxe-roms-qemu package..."
31     exit 1
32 fi
33
34 # check for other packages
35 for i in epel-release openvswitch libguestfs \
36          libguestfs-tools-c libvirt-python libxslt-devel \
37          libxml2-devel ansible python34-pip \
38          rpm-build wget libvirt ntpdate; do
39     # Make sure deploy deps are installed
40     if ! rpm -q $i > /dev/null; then
41         if ! sudo yum install -y $i; then
42             echo "Failed to install $i package..."
43             exit 1
44         fi
45     fi
46 done
47
48 # install pip dependencies
49 sudo pip3 install python-ipmi gitpython pygerrit2
50
51 # Required packages to redirect stdin with virt-customize
52 if ! sudo yum -y install libguestfs libguestfs-tools libguestfs-tools-c supermin supermin5 supermin-helper perl-Sys-Guestfs python-libguestfs; then
53     echo "Failed to install supermin/libguestfs packages..."
54     exit 1
55 fi