From f4ece68ecf8cfc855e54f2d5935ed2a2b8b0c4af Mon Sep 17 00:00:00 2001
From: Patrick Spek
Date: Sun, 4 Dec 2022 11:27:44 +0100
Subject: Add file_rhash utility
---
lib/util.bash | 10 ++++++++++
1 file changed, 10 insertions(+)
(limited to 'lib/util.bash')
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
--
cgit v1.1