diff options
Diffstat (limited to 'sanity-check')
-rwxr-xr-x | sanity-check | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sanity-check b/sanity-check new file mode 100755 index 0000000..401b877 --- /dev/null +++ b/sanity-check @@ -0,0 +1,43 @@ +#!/bin/bash + +inhalt="$( + for s in $(\ + curl crux.eckner.net/REPO 2> /dev/null | \ + grep '\.footprint$' | \ + cut -d: -f3\ + ) + do + curl crux.eckner.net/$s 2> /dev/null | \ + awk '{print $3}' | \ + sed "s|^|${s%/*}: |" + done +)" + +declare -A ausnahmen + +ausnahmen['opt/']='$' +ausnahmen['usr/doc/']='$' +ausnahmen['usr/man/']='$' +ausnahmen['usr/share/']='usr/share/\(man/\|aclocal\|\2\|\3\|$\)' + +err=0 + +for darfNicht in "${!ausnahmen[@]}" +do + curError="$( + echo "${inhalt}" | \ + grep "^[^:]\+: ${darfNicht}" | \ + grep -v "^\(\([^:]\+\)-\)\?\([^:-]\+\): ${ausnahmen["${darfNicht}"]}" | \ + sed 's|^\([^:]\+: '"${darfNicht}"'[^/]\+/\).*$|\1|' | \ + uniq + )" + + if [ -n "${curError}" ] + then + >&2 echo 'Port beinhaltet Dateien in "'"${darfNicht}"'":' + >&2 echo "${curError}" + err=1 + fi +done + +exit ${err} |