blob: 6ac405da8654eb28b23d4414532bf917bd553a7f (
plain) (
blame)
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
|
# vim: set ts=4 sw=4 et:
consistency_check_existing () {
while IFS=" " read -r dep origname deplabel; do
[ -f "$XBPS_SRCPKGDIR/$dep/template" ] && continue
case "$deplabel" in
makedepends|hostmakedepends|checkdepends)
msg_warn "unsatisfied $deplabel in $origname: $dep does not exist\n";
;;
*) printf "%s %s %s\n" "$dep" "$origname" "$deplabel" ;;
esac
done
}
consistency_convert_pkgname () {
local origname= pkgname version= revision=
while IFS=" " read -r dep origname deplabel; do
case "$deplabel" in
makedepends|hostmakedepends|checkdepends)
printf "%s %s %s\n" "$dep" "$origname" "$deplabel"
continue
;;
esac
case "$dep" in
*\<*|*\>*|*=*)
printf "%s %s %s\n" "$dep" "$origname" "$deplabel"
continue
;;
esac
if pkgname=$(xbps-uhelper getpkgname "$dep" 2> /dev/null) && \
version=$(xbps-uhelper getpkgversion "$dep" 2> /dev/null) && \
revision=$(xbps-uhelper getpkgrevision "$dep" 2> /dev/null); then
printf "%s %s %s\n" "${pkgname}>=${version}_${revision}" "$origname" "$deplabel"
else
printf "%s %s %s\n" "$dep>=0" "$origname" "$deplabel"
fi
done
}
consistency_check_smart () {
local pkgname= depdef= dep=
while IFS=" " read -r depdef origname deplabel; do
case "$deplabel" in
makedepends|hostmakedepends|checkdepends)
printf "%s %s %s\n" "$depdef" "$origname" "$deplabel"
continue
;;
esac
dep=$(xbps-uhelper getpkgdepname "$depdef")
if [ ! -f "$XBPS_SRCPKGDIR/$dep/template" ]; then
msg_warn "unsatisfied $deplabel in $origname: $dep does not exist\n";
continue
fi
(
XBPS_TARGET_PKG=$dep
read_pkg
xbps-uhelper pkgmatch "$depdef" "${pkgname}-${version}_${revision}" && continue
msg_red "unsatisfied $deplabel in $origname: $dep is $version, but required is $depdef\n";
)
done
}
consistency_check() {
local pkg= pkgname=
for pkg in "$XBPS_SRCPKGDIR"/*/template; do
XBPS_TARGET_PKG=$(basename $(dirname $pkg))
(
read_pkg
[ "$depends" ] && printf "%s $pkgname depends\n" $depends
[ "$conflicts" ] && printf "%s $pkgname conflicts\n" $conflicts
[ -L "$XBPS_SRCPKGDIR/$XBPS_TARGET_PKG" ] && continue
[ "$makedepends" ] && printf "%s $pkgname makedepends\n" $makedepends
[ "$hostmakedepends" ] && printf "%s $pkgname hostmakedepends\n" $hostmakedepends
[ "$checkdepends" ] && printf "%s $pkgname checkdepends\n" $checkdepends
)
done | grep -v "^virtual?" | sed "s/^[^ ]*?//" | consistency_check_existing | \
consistency_convert_pkgname | consistency_check_smart
}
|