diff --git a/util/usr/bin/merge-pacnews b/util/usr/bin/merge-pacnews new file mode 100755 index 0000000..d9f0e85 --- /dev/null +++ b/util/usr/bin/merge-pacnews @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +files=$(find /etc -type f -name '*.pacnew') + +for pacnew in $files +do + unprefixed=${pacnew%.pacnew} + + if [[ ! -e "$unprefixed" ]]; then continue; fi + + emacs -eval "(emerge-files nil \"$unprefixed\" \"$pacnew\" \"$unprefixed\")" + + otime=$(stat -c %Y "$unprefixed") + ntime=$(stat -c %Y "$pacnew") + + if [[ "$otime" -gt "$ntime" ]]; then + rm -v "$pacnew" + else + echo "Skipping removal of $pacnew" + fi +done