Merge pull request #65 from smortex/portability-fixes

Improve portability
This commit is contained in:
Reid Vandewiele 2019-10-18 15:22:36 -07:00 committed by GitHub
commit 458877f386
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 11 deletions

View File

@ -1,12 +1,35 @@
#!/bin/bash #!/bin/sh
if [ -e $1/$2/.r10k-deploy.json ]
then # Usage
/opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/code_manager_config_version.rb $1 $2 if [ $# -ne 2 -o ! -d "$1" -o ! -d "$1/$2" ]; then
elif [ -e /opt/puppetlabs/server/pe_version ] echo "usage: $0 <environmentpath> <environment>" >&2
then exit 1
/opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/config_version.rb $1 $2 fi
else
/usr/bin/git --version > /dev/null 2>&1 && # For portability, identify a preferred ruby executable to use
/usr/bin/git --git-dir $1/$2/.git rev-parse HEAD || ruby() {
date +%s [ -x /opt/puppetlabs/puppet/bin/ruby ] \
&& /opt/puppetlabs/puppet/bin/ruby "$@" \
|| /usr/bin/env ruby "$@"
}
# Determine how best to calculate a config_version
if [ -e $1/$2/.r10k-deploy.json ]; then
# The environment was deployed using r10k. We will calculate the config
# version using the r10k data.
ruby $1/$2/scripts/config_version-r10k.rb $1 $2
elif [ -e /opt/puppetlabs/server/pe_version ]; then
# This is a Puppet Enterprise system and we can rely on the rugged ruby gem
# being available.
ruby $1/$2/scripts/config_version-rugged.rb $1 $2
elif type git >/dev/null; then
# The git command is available.
git --git-dir $1/$2/.git rev-parse HEAD
else
# Nothing else available; just use the date.
date +%s
fi fi