summaryrefslogtreecommitdiff
path: root/testeAbhaengigkeiten
blob: 015ed161998ff9869e85b387e8ad29a6accb4c90 (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
93
94
#!/bin/bash

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

paket="$1"
me="$(readlink -f "$0")"
cd "$(dirname "${me}")"

if [ ! -d "${paket}" ]; then
  >&2 printf 'Paket "%s" existiert nicht.\n' "${paket}"
  exit 1
fi

if [ "${paket#perl-}" != "${paket}" ]; then

  . perlFunktionen

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

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


else

  # not python-* or perl-* => nothing to do / yet to be implemented
  exit 0

fi

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