mkpk

Систем за управљање пакетима који користи mk из система Plan9
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување ba523f993a5c139e15b0e1c2ca000eea10129bef
родитељ d283a8b157ead2a3152df9d9ef3f5deb3dd56d54
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sun,  7 Aug 2022 15:56:57 +0200

Add sha512 checking

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mlib/defaults.mk | 1+
Mlib/install.mk | 4++--
Mlib/package.mk | 12++++++++++++
измењених датотека: 3, додавања: 15(+), брисања: 2(-)

diff --git a/lib/defaults.mk b/lib/defaults.mk @@ -2,6 +2,7 @@ PREFIX= /local BINDIR= $DESTDIR$PREFIX/bin DOCDIR= $DESTDIR$PREFIX/share/doc/$PKG # PKG must be defined +INCDIR= $DESTDIR$PREFIX/include LEGALDIR= $DESTDIR/share/legal/$PKG LIBDIR= $DESTDIR$PREFIX/lib MANDIR= $DESTDIR$PREFIX/share/man diff --git a/lib/install.mk b/lib/install.mk @@ -13,9 +13,9 @@ install-package:QV: pkg=$PKGDIR/$PKGBASE-$recentver.tar.xz sha=$PKGDIR/$PKGBASE-$recentver.sha512 cd "$PKGDIR" - printf " SHA512\t%s\n" "$sha" + printf " SHA\t%s\n" "$sha" if ! $SHA512SUM -c "$sha" >/dev/null 2>&1; then - printf "Checksum mismatch in %s\n" "$sha" >&2 + printf "Checksum mismatch in %s\n" "$pkg" >&2 exit 1 fi cd / diff --git a/lib/package.mk b/lib/package.mk @@ -21,11 +21,23 @@ package-install:QV: package package-fetch:QV: cd "$SRCBASEDIR" + sums=${SHA512SUMS} for srctarball in $SRCTARBALLS; do + currentsum=${sums%% *} + sums=${sums#* } tbfile="${srctarball##*/}" if [ ! -e "$tbfile" ]; then printf " CURL\t%s\n" "$tbfile" $CURL "$srctarball" > "$tbfile" + if [ -n "$currentsum" ]; then + printf " SHA\t%s %s\n" -c "$tbfile" + if ! printf "%s %s\n" $currentsum \ + ${tbfile##*/} | $SHA512SUM -c -; then + printf "Checksum mismatch in %s\n" \ + ${tbfile##*/} >&2 + exit 1 + fi + fi printf " TAR\t%s\n" "$tbfile" xz -dc "$tbfile" | $TAR -xf - fi