Merge pull request #65 from smortex/portability-fixes
Improve portability
This commit is contained in:
		
						commit
						458877f386
					
				@ -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
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user