blob: ece1fa1a5d4b2006cc341f112914932972038c74 (
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#!/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]
elif [ "${paket#python-}" != "${paket}" ]; then
. pythonFunktionen
ladePkgbuild "${paket}" || exit $[$?-1]
versteheRequirements "${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@^\(\('"$(
printf '%s\|' "${!metaRegexe[@]}" | \
sed 's/\\|$//'
)"'\)=[^)]*\)\n\(.*\)$@\1 \3@;
tbegin;
P;
D
' -i PKGBUILD
sed '/^\('"$(
printf '%s\|' "${!metaRegexe[@]}" | \
sed '
s/\(^\|\\|\)_\?depends\($\|\\|\)/\1\2/
s/\(\\|\)\{2\}/\1/g
s/\\|$//
s/^\\|//
'
)"'\)=/d' -i PKGBUILD
sed 's|^'"$(
printf '%s\n' "${!metaRegexe[@]}" | \
grep -xm1 '_\?depends' | \
tr -d '\n'
)"'=.*$|'"${ersatz}"'|' -i PKGBUILD
"${me}" "$@"
fi
|