#!/bin/bash # TODO: update to the split YAML files ###################################################################### . libremessages file=$cfg_hackers ret=0 norm=$(mktemp --tmpdir) trap "rm -f -- $(printf '%q' "$norm")" EXIT "$(dirname "$0")/meta-normalize-stdio" < "$file" > "$norm" || exit 1 usernames=($(<"$norm" sed -n 's/^[ -] username: //p' | sort)) dups=($(printf '%s\n' "${usernames[@]}" | uniq -d)) if (( ${#dups[@]} )); then error 'Duplicate usernames:' plain '%s' "${dups[@]}" ret=1 fi illegal=($(printf '%s\n' "${usernames[@]}" | grep -v '^[a-z][a-z0-9]*$')) if (( ${#illegal[@]} )); then error 'Illegal usernames:' plain '%s' "${illegal[@]}" ret=1 fi if "$(dirname "$0")/list-pgp-keyids" | grep -Ev '^(trusted|secondary|revoked)/[a-z][a-z0-9]* [0-9A-F]{40}$'; then error 'Bad pgp keys ^^^' ret=1 fi colordiff -u "$file" "$norm" || ret=$? exit $ret