summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-06-07 10:33:02 +0200
committerErich Eckner <git@eckner.net>2016-06-10 11:49:51 +0200
commitb6027e36222a4025c74757c57f29743e1e50e064 (patch)
tree92ecdb29c64c4bbd354af7486accba3c9701fb87
parent0b2a4d7b39d1e844bbf66c1e309db321ad1ce041 (diff)
downloadarchlinuxewe.git.save-b6027e36222a4025c74757c57f29743e1e50e064.tar.xz
testeAbhaengigkeiten entfernt nun redundante Abhängigkeiten aus makedepends
-rwxr-xr-xtesteAbhaengigkeiten63
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}"]}"