aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/util.bash10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/util.bash b/lib/util.bash
index 6ad69e1..604e3e5 100644
--- a/lib/util.bash
+++ b/lib/util.bash
@@ -130,6 +130,16 @@ join_args() {
printf "%s" "$*"
}
+# Recursively hash files in a directory, and hashing the output of all those
+# hashes again. This results in a single hash representing the state of files
+# in a directory. It can be used to check whether contents changed after
+# templating files in a given directory.
+file_rhash() {
+ find "$1" -type f -exec sha1sum {} \; \
+ | sha1sum \
+ | awk '{ print $1 }'
+}
+
file_template()
{
local file="$BASHTARD_ETCDIR/playbooks.d/$BASHTARD_PLAYBOOK/share/$1" ; shift