aboutsummaryrefslogtreecommitdiff
path: root/puppet/bin/dependencies
blob: 43307300cc5173bfebb9ad1c6ebcca0309440f94 (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
#!/bin/bash
#
# Puppet bootstrap dependencies.
#

# Parameters
BASENAME="`basename $0`"
DEPLOY_DEPENDENCIES="rsync puppet-common hiera-eyaml"
DEVELOP_DEPENDENCIES="git mr whois hiera-eyaml"

# Additional wheezy dependencies if not using puppet-common from wheezy-backports
#if [ "`head -c 1 /etc/debian_version`" == '7' ]; then
#  DEPLOY_DEPENDENCIES="$DEPLOY_DEPENDENCIES ruby-hiera-puppet"
#fi

# Set sudo config
if [ "`whoami`" != 'root' ]; then
  SUDO="sudo"

  if ! sudo -n true; then
    echo "Please set passwordless sudo."
    exit 1
  fi
fi

# Install a package, thanks to the Hydra Suite.
function provision_package {
  if [ -z "$1" ]; then
    return
  fi

  dpkg -s $1 &> /dev/null

  if [ "$?" == "1" ]; then
    echo "Installing package $1..."
    DEBIAN_FRONTEND=noninteractive $SUDO apt-get install $1 -y
  fi
}

# Ensure basic packages are installed.
if [ "$BASENAME" == "dependencies" ]; then
  for package in $DEVELOP_DEPENDENCIES; do
    provision_package $package
  done
fi