#!/bin/sh # # missing: header, license bad_usage() { usage 1>&2; [ $# -eq 0 ] || echo "$@"; exit 1; } usage() { cat < /dev/null 2>&1 if [ ! $? -eq 0 ] then apt-get update apt-get install -y $PACKAGES fi # lsb is needed for a first puppet run puppet apply $PUPPET_ENV --execute 'include lsb' } # main PUPPET_ENV='--confdir=puppet' long_opts="init" getopt_out=$(getopt --name "${0##*/}" \ --options "${short_opts}" --long "${long_opts}" -- "$@") && \ eval set -- "${getopt_out}" || bad_usage while [ $# -ne 0 ]; do cur=${1}; next=${2}; case "$cur" in --help) usage ; exit 0;; --init) install_prerequisites ; exit 0;; --) shift; break;; esac shift; done [ $# -gt 0 ] && bad_usage "too many arguments" # keep repository up to date git pull git submodule init git submodule update # run puppet without irritating deprecation warnings puppet apply $PUPPET_ENV puppet/manifests/site.pp $@ | grep -v 'warning:.*is deprecated'