blob: 38b1136b39f89384e4d272d1f7e2bac25557c36f (
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
|
#!/bin/bash
# xgensum [-f] [-i] TEMPLATE - update SHA256 sums in templates
case "$1" in
-f) f=$1; shift
esac
case "$1" in
-i*) i=$1; shift
esac
if [ -f $1 ]; then
. "$1"
elif [ -f $1/template ]; then
exec "$0" $f $i "$1/template"
elif [ -f template ]; then
exec "$0" $f $i template
else
echo 'Usage: xgensum [-f] [-i] TEMPLATE'
fi
XBPS_DISTDIR=$(xdistdir)
XBPS_SRCDISTDIR=$($XBPS_DISTDIR/xbps-src show-var XBPS_SRCDISTDIR | tail -1)
srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
if [ "$f" = -f ]; then
for f in $distfiles; do
curfile=$(basename "${f#*>}")
distfile="$srcdir/$curfile"
rm -vf "$distfile"
done
$XBPS_DISTDIR/xbps-src -I clean $pkgname
fi
$XBPS_DISTDIR/xbps-src -I fetch $pkgname
sums=""
for f in $distfiles; do
curfile=$(basename "${f#*>}")
distfile="$srcdir/$curfile"
sum=$(sha256sum $distfile)
sums+="${sum% *}\n "
done
sed $i -e "/^checksum=/,/^[^ \t]/{
/^[ \t]/d
s/^checksum=.*/checksum=\"${sums%\n }\"/
/^checksum=\"[^ ]*\"/s/\"//g
}" "$1"
|