diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2015-10-26 14:08:14 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2015-10-26 14:08:14 -0200 |
commit | fc08d8d4e96fb638e3ac8c2a50c973322c278d84 (patch) | |
tree | 11e187c89788959beabfc573117b04e4ab237f4f /bin | |
parent | 89cc9aa997958d7c19e6453699ffdc48a118038b (diff) | |
download | puppet-bootstrap-fc08d8d4e96fb638e3ac8c2a50c973322c278d84.tar.gz puppet-bootstrap-fc08d8d4e96fb638e3ac8c2a50c973322c278d84.tar.bz2 |
Deploy: apply patches before deployment
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/deploy | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -33,6 +33,29 @@ for package in $DEPLOY_DEPENDENCIES; do provision_package $package done +# Parameters that needed dependencies installed +DIST="`facter lsbdistcodename`" + +# Apply patches +if [ -d "$BASEDIR/puppet/files/patches/$DIST" ]; then + ( + # Patches should be generated relativelly to the root folder + cd / + + # Only apply if needed + # Thanks https://unix.stackexchange.com/questions/55780/check-if-a-file-or-folder-has-been-patched-already + for patch in `ls $BASEDIR/puppet/files/patches/$DIST`; do + patch -p0 -N --dry-run --silent < $patch 2> /dev/null + # If the patch has not been applied then the $? which is the exit status + # for last command would have a success status code = 0 + if [ "$?" == "0" ]; then + # Apply the patch + patch -p0 -N < $patch + fi + done + ) +fi + # Run puppet apply PUPPET_OPTS="--confdir=$BASEDIR/puppet --modulepath=$BASEDIR/puppet/modules" $SUDO LC_ALL=C puppet apply $PUPPET_OPTS $PUPPET_MANIFEST" |