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