diff options
author | Erich Eckner <git@eckner.net> | 2016-06-02 14:58:45 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-06-02 14:58:45 +0200 |
commit | 85beba21d0dff77309fa4f09be17b4274cf88904 (patch) | |
tree | 18d83ea9b9c0cd3b14e4cf2e4d6fa71f3045d9a3 | |
parent | 8ffec1e9d907c23c6aa66f999e44e2cbc658871c (diff) | |
download | crux-enhancements-85beba21d0dff77309fa4f09be17b4274cf88904.tar.xz |
sanity-check neu
-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} |