From 16ccc729a87f3bbd0367de2edfafe287e9c59e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20E=C3=9Fer?= Date: Tue, 16 Jan 2018 18:43:27 +0000 Subject: Test privileges early and complain if privileges are insufficient. The patch is based on ideas presented in the PR, but implemented differently. Re-open the PR, if this solution has unexpected side-effects or proves insufficient. PR: 174729 Reported by: ngie Approved by: antoine (implicit) --- ports-mgmt/portmaster/files/patch-portmaster | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 ports-mgmt/portmaster/files/patch-portmaster (limited to 'ports-mgmt') diff --git a/ports-mgmt/portmaster/files/patch-portmaster b/ports-mgmt/portmaster/files/patch-portmaster new file mode 100644 index 000000000000..beaf29429359 --- /dev/null +++ b/ports-mgmt/portmaster/files/patch-portmaster @@ -0,0 +1,21 @@ +--- portmaster.orig 2018-01-14 21:53:23 UTC ++++ portmaster +@@ -45,7 +45,7 @@ if [ -z "$PM_PARENT_PID" ]; then + my_environment=`set` + + # If we are already root, unset this to avoid potential conflict +- [ `ps -o uid= $$` -eq 0 ] && unset PM_SU_CMD PM_SU_VERBOSE ++ [ `id -u` -eq 0 ] && unset PM_SU_CMD PM_SU_VERBOSE + fi + + #=============== Begin functions we always want to have =============== +@@ -3233,6 +3233,9 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then + elif [ -n "$FETCH_ONLY" -a -n "$PM_PACKAGES" ]; then + update_pm_nu $portdir + fi ++ ++# Test for necessary privileges to actually install ports ++[ "$($PM_SU_CMD id -u)" = 0 ] || fail "Insufficient privileges to install ports (run as root or set PM_SU_CMD)" + + # Do these things first time through + if [ -z "$PM_INDEX_ONLY" -a -z "$PM_BUILDING" -a -z "$SHOW_WORK" -a -z "$NO_ACTION" ]; then -- cgit v1.2.3