summaryrefslogtreecommitdiff
path: root/testeAbhaengigkeiten
blob: e50fdae11b3954ca4fd3d1ea0239f19ca53acb8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash

if [ $# -ne 1 ]
then
  >&2 echo "Verwendung: testeAbhaengigkeiten paket"
  exit 1
fi

paket="$1"

if [[ "${paket}" != "perl-"* ]]
then
# noch zu implementieren / zur Zeit unnötig
  exit 0
fi

me="$(readlink -f "$0")"
cd "$(dirname "${me}")"
. perlFunktionen

ladePkgbuild "${paket}" || exit $[$?-1]

versteheMetaYml "${paket}" || exit $[$?-1]

err=false

for wasAusgeben in "${!metaRegexe[@]}"
do
  probleme="$(
    (
      echo "${pkgBuild["${wasAusgeben}"]}"
      echo "${metaYml["${wasAusgeben}"]}"
    ) | \
      sort | \
      uniq -u \
  )"
  if [ -n "${probleme}" ]
  then
    >&2 echo "${wasAusgeben} in ${paket}/PKGBUILD unterscheidet sich:"
    >&2 echo '-------------------------------------'
    >&2 echo "${metaYml["${wasAusgeben}"]}"
    >&2 echo '^^^ META.yml ^^^ vs. vvv PKGBUILD vvv'
    >&2 echo "${pkgBuild["${wasAusgeben}"]}"
    >&2 echo "====================================="
    >&2 echo "${probleme}"
    >&2 echo "====================================="
    err=true
  fi
done

if ${err}
then
  ersatz="$(
    for wasAusgeben in "${!metaRegexe[@]}"
    do
      if [ -n "${metaYml["${wasAusgeben}"]}" ]
      then
        echo "${wasAusgeben}=("
        echo "${metaYml["${wasAusgeben}"]})" | \
          sed "s|^\s*||; s|\s*\$||; s|^\(.*[^)]\)\()\?\)\$|  '\1'\2|"
      fi
    done | \
      sed ':begin;
        $!N;
        s@^\(.*\)\n\(.*\)$@\1\\n\2@;
        tbegin;
        P;
        D
      '
  )"

  >&2 echo 'neu könnte das etwa so aussehen:'
  >&2 echo '-------------------------------------'
  >&2 echo -e "${ersatz}"
  >&2 echo '-------------------------------------'
  read -p 'Ich würde das jetzt mal vollautomatisch verändern. Einwände? ' was
  if [ -n "${was}" ]
  then
    exit 1
  fi
  sed '
      :begin;
        $!N;
        s@^\(\(provides\|makedepends\|depends\|optdepends\|conflicts\)=[^)]*\)\n\(.*\)$@\1 \3@;
      tbegin;
      P;
      D
    ' -i PKGBUILD
  sed '/^\(provides\|makedepends\|optdepends\|conflicts\)=/d' -i PKGBUILD
  sed "s|^depends=.*\$|${ersatz}|" -i PKGBUILD
  "${me}" "$@"
fi