чување 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:
измењених датотека: 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