diff options
author | Erich Eckner <git@eckner.net> | 2016-06-07 10:33:02 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-06-10 11:49:51 +0200 |
commit | b6027e36222a4025c74757c57f29743e1e50e064 (patch) | |
tree | 92ecdb29c64c4bbd354af7486accba3c9701fb87 | |
parent | 0b2a4d7b39d1e844bbf66c1e309db321ad1ce041 (diff) | |
download | archlinuxewe.git.save-b6027e36222a4025c74757c57f29743e1e50e064.tar.xz |
testeAbhaengigkeiten entfernt nun redundante Abhängigkeiten aus makedepends
-rwxr-xr-x | testeAbhaengigkeiten | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/testeAbhaengigkeiten b/testeAbhaengigkeiten index 26ca5a53..0023393e 100755 --- a/testeAbhaengigkeiten +++ b/testeAbhaengigkeiten @@ -30,6 +30,17 @@ substituiere() { erg="${erg}${dep}" } +versionsUniq() { + tr ' ' '\n' | \ + sort -rV | \ + sed 's@^\([^<=>]*\)\(\(>=\|=\|<\)[0-9.]*\)$@\1\2 \1@' | \ + sed 's|^\(\S*\)$|\1 \1|' | \ + uniq -f1 "$@" | \ + awk '{print $1}' | \ + sort | \ + grep -v '^\s*$' +} + paket="$1" if [[ "${paket}" != "perl-"* ]] @@ -93,10 +104,10 @@ declare -A metaSubst declare -A metaYml declare -A pkgBuild -metaRegexe["makedepends"]="\(build\|configure\)_requires" -metaSubst["makedepends"]=true metaRegexe["depends"]="requires" metaSubst["depends"]=true +metaRegexe["makedepends"]="\(build\|configure\)_requires" +metaSubst["makedepends"]=true metaRegexe["optdepends"]="recommends" metaSubst["optdepends"]=true metaRegexe["conflicts"]="conflicts" @@ -137,14 +148,7 @@ do done metaInfos["${sucheWonach}"]="$( echo "${metaInfos["${sucheWonach}"]}" | \ - tr ' ' '\n' | \ - sort -rV | \ - sed 's@^\([^<=>]*\)\(\(>=\|=\|<\)[0-9.]*\)$@\1\2 \1@' | \ - sed 's|^\(\S*\)$|\1 \1|' | \ - uniq -f1 | \ - awk '{print $1}' | \ - sort | \ - grep -v '^\s*$' + versionsUniq )" done @@ -159,6 +163,11 @@ do grep -v '^$' | \ sort -u )" + if [ -z "${pkgBuild["${wasAusgeben}"]}" ] && \ + [ "${wasAusgeben}" == "depends" ] + then + pkgBuild["${wasAusgeben}"]="perl" + fi metaYml["${wasAusgeben}"]="$( ( @@ -168,14 +177,34 @@ do echo "${pkgBuild["${wasAusgeben}"]}" | \ grep -v '^\s*perl' ) | \ - sort -rV | \ - sed 's@^\([^<=>]*\)\(\(>=\|=\|<\)[0-9.]*\)$@\1\2 \1@' | \ - sed 's|^\(\S*\)$|\1 \1|' | \ - uniq -f1 | \ - awk '{print $1}' | \ - sort | \ - grep -v '^\s*$' + versionsUniq )" + if [ -z "${metaYml["${wasAusgeben}"]}" ] && \ + [ "${wasAusgeben}" == "depends" ] + then + metaYml["${wasAusgeben}"]="perl" + fi + if [ "${wasAusgeben}" == "makedepends" ] + then + metaYml["${wasAusgeben}"]="$( + ( + ( + ( + echo "${metaYml["${wasAusgeben}"]}" + echo "${metaYml["depends"]}" + ) | \ + versionsUniq + echo "${metaYml["depends"]}" + ) | \ + sort | \ + uniq -d | \ + sed 'p' + echo "${metaYml["${wasAusgeben}"]}" + ) | \ + versionsUniq -u + )" + fi + probleme="$( ( echo "${pkgBuild["${wasAusgeben}"]}" |