mkpk

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

чување bc6588547982dc47dc71b8849f9d32a8723b4612
родитељ 2189b206c8e0d230c91b143c752240716276cd6b
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Tue,  2 Aug 2022 14:50:13 +0200

Take into account DESTDIR, PREFIX from environment; more sophisticated uninstall

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

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

diff --git a/lib/defaults.mk b/lib/defaults.mk @@ -1,5 +1,6 @@ -DESTDIR= -PREFIX= /local +#DESTDIR= # Automatically ignored if empty +PREFIX= `{ if [ -n "$PREFIX" ]; then echo $PREFIX; \ + else echo /local; fi } BINDIR= $DESTDIR$PREFIX/bin LIBDIR= $DESTDIR$PREFIX/lib MANDIR= $DESTDIR$PREFIX/share/man @@ -31,6 +32,6 @@ MK= `{ if [ -n "$MK" ]; then echo $MK; \ PROOT= `{ if [ -n "$PROOT" ]; then echo $PROOT; \ else echo /sucks/bin/proot; fi } SED= `{ if [ -n "$SED" ]; then echo $SED; else echo sed; fi } -SHA512SUM= `{ if [ -n "$SHA512SUM" ]; then echo $SHA5512SUM; \ +SHA512SUM= `{ if [ -n "$SHA512SUM" ]; then echo $SHA512SUM; \ else echo sha512sum; fi } TAR= `{ if [ -n "$TAR" ]; then echo $TAR; else echo tar; fi } diff --git a/lib/install.mk b/lib/install.mk @@ -1,4 +1,4 @@ -<$mkpkllib/defaults.mk +<$mkpklib/defaults.mk install-package:QV: pkg=$(find "$PKGDIR" -name "$PKGBASE-*.tar.xz") @@ -8,5 +8,5 @@ install-package:QV: else cd / printf " TAR/XZ\t%s\n" "${pkg}" - xz -dc "${pkg}" | tar -xf - + xz -dc "${pkg}" | tar -xf - 2>/dev/null fi diff --git a/lib/package.mk b/lib/package.mk @@ -1,4 +1,6 @@ package:QV: + printf " MK\t%s\n" "clean" + $MK clean >/dev/null printf " MK\t%s\n" "DESTDIR=pkgroot install" $MK DESTDIR=pkgroot install >/dev/null printf " PROOT\t%s\n" pkgroot diff --git a/lib/uninstall.mk b/lib/uninstall.mk @@ -1,4 +1,4 @@ -<$mkpkllib/defaults.mk +<$mkpklib/defaults.mk uninstall-package:QV: pkg=$(find "$PKGDIR" -name "$PKGBASE-*.tar.xz") @@ -7,6 +7,12 @@ uninstall-package:QV: exit 1 else cd / - printf " RM\t%s\n" "${pkg}" - xz -dc "${pkg}" | tar -tf - | xargs rm + for item in $(xz -dc "${pkg}" | tar -tf -); do + if [ -d "${item}" ]; then + printf "( DIR\t%s skipped)\n" "${item}" + continue + fi + printf " RM\t%s\n" "${item}" + rm "${item}" + done fi