[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/github/octocatalog-diff/master/script/puppet [Back]  [Original]

#!/usr/bin/env bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"

# This is to populate the variable expected by the Gemfile even under catalog-diff
# (which strips out all non-essential environment variables, including this one).
# This value is set by script/cibuild.
if [ -f "${DIR}/.puppet_version" ]; then
  export PUPPET_VERSION=$( cat "${DIR}/.puppet_version" )
fi

# This is a hack to avoid having Puppet create $HOME/.puppetlabs. Hopefully Puppet
# will eventually support ALL of the necessary overrides via the command line; right
# now, $HOME/.puppetlabs/opt/facter/facts.d is hard-coded.
TEMPDIR=$(mktemp -d -t puppet-homedir-XXXXXX)
function cleanup() {
  rm -rf "${TEMPDIR}"
}
trap cleanup EXIT

# Create directory structure in the temporary directory so that Puppet does not fail.
for i in var opt/facter; do
  mkdir -p "$TEMPDIR/.puppetlabs/$i"
done

# Actually run puppet with the home directory set to the temporary directory
BUNDLE_GEMFILE="${DIR}/Gemfile" HOME="$TEMPDIR" bundle exec "${DIR}/bin/puppet" $*
exit $?

Web Proxy Viewer  |  New URL  |  Original Page