$NetBSD: patch-aa,v 1.10 2022/04/02 13:23:08 mef Exp $

--- setup.sh.orig	2022-03-03 13:10:53.000000000 +0900
+++ setup.sh	2022-04-02 21:01:21.502561991 +0900
@@ -36,6 +36,11 @@ echo ""
 
 # Only root can run this
 id | grep -i "uid=0(" >/dev/null
+#
+# For pkgsrc, we allow anyone to run this script, including unprivileged
+# users.
+#
+true
 if [ $? != "0" ]; then
 	uname -a | grep -i CYGWIN >/dev/null
 	if [ $? != "0" ]; then
@@ -130,6 +135,9 @@ if [ -r "$config_dir/config" -a -r "$con
 	upgrading=1
 fi
 
+# For pkgsrc, we are never upgrading, only installing.
+upgrading=0
+
 # Check if upgrading from an old version
 if [ "$upgrading" = 1 ]; then
 	echo ""
@@ -203,6 +211,10 @@ if [ "$upgrading" = 1 ]; then
 else
 	# Config directory exists .. make sure it is not in use
 	ls $config_dir | grep -v rpmsave >/dev/null 2>&1
+	#
+	# For pkgsrc, we don't care if the config directory already exists.
+	#
+	false
 	if [ "$?" = "0" -a "$config_dir" != "/etc/webmin" ]; then
 		echo "ERROR: Config directory $config_dir is not empty"
 		echo ""
@@ -549,6 +561,12 @@ else
 
 	kfile=$config_dir/miniserv.pem
 	openssl version >/dev/null 2>&1
+	#
+	# For pkgsrc, we always want to use the default miniserv.pem, though
+	# we'll recommend to the user at post-install time to generate a
+	# new certificate.
+	#
+	false
 	if [ "$?" = "0" ]; then
 		# We can generate a new SSL key for this host
 		openssl req -newkey rsa:2048 -x509 -nodes -out $tempdir/cert -keyout $tempdir/key -days 1825 -sha256 >/dev/null 2>&1 <<EOF
@@ -785,45 +803,47 @@ EOF
 	echo "..done"
 	echo ""
 fi
-
-echo "Changing ownership and permissions .."
-# Make all config dirs non-world-readable
-for m in $newmods; do
-	chown -R root $config_dir/$m
-	chgrp -R bin $config_dir/$m
-	chmod -R og-rw $config_dir/$m
-done
-# Make miniserv config files non-world-readable
-for f in miniserv.conf miniserv.pem miniserv.users; do
-	chown -R root $config_dir/$f
-	chgrp -R bin $config_dir/$f
-	chmod -R og-rw $config_dir/$f
-done
-chmod +r $config_dir/version
-if [ "$nochown" = "" ]; then
-	# Make program directory non-world-writable, but executable
-	chown -R root "$wadir"
-	chgrp -R bin "$wadir"
-	chmod -R og-w "$wadir"
-	chmod -R a+rx "$wadir"
-fi
-if [ $var_dir != "/var" -a "$upgrading" != 1 ]; then
-	# Make log directory non-world-readable or writable
-	chown -R root $var_dir
-	chgrp -R bin $var_dir
-	chmod -R og-rwx $var_dir
-fi
-# Fix up bad permissions from some older installs
-for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do
-	if [ -d "$config_dir/$m" ]; then
-		chown root $config_dir/$m
-		chgrp bin $config_dir/$m
-		chmod og-rw $config_dir/$m
-		chmod og-rw $config_dir/$m/config 2>/dev/null
-	fi
-done
-echo "..done"
-echo ""
+# For pkgsrc, we skip changing ownership and permissions as we allow the
+# INSTALL/DEINSTALL to manage this for us.
+#
+#echo "Changing ownership and permissions .."
+## Make all config dirs non-world-readable
+#for m in $newmods; do
+#	chown -R root $config_dir/$m
+#	chgrp -R bin $config_dir/$m
+#	chmod -R og-rw $config_dir/$m
+#done
+## Make miniserv config files non-world-readable
+#for f in miniserv.conf miniserv.pem miniserv.users; do
+#	chown -R root $config_dir/$f
+#	chgrp -R bin $config_dir/$f
+#	chmod -R og-rw $config_dir/$f
+#done
+#chmod +r $config_dir/version
+#if [ "$nochown" = "" ]; then
+#	# Make program directory non-world-writable, but executable
+#	chown -R root "$wadir"
+#	chgrp -R bin "$wadir"
+#	chmod -R og-w "$wadir"
+#	chmod -R a+rx "$wadir"
+#fi
+#if [ $var_dir != "/var" -a "$upgrading" != 1 ]; then
+#	# Make log directory non-world-readable or writable
+#	chown -R root $var_dir
+#	chgrp -R bin $var_dir
+#	chmod -R og-rwx $var_dir
+#fi
+## Fix up bad permissions from some older installs
+#for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do
+#	if [ -d "$config_dir/$m" ]; then
+#		chown root $config_dir/$m
+#		chgrp bin $config_dir/$m
+#		chmod og-rw $config_dir/$m
+#		chmod og-rw $config_dir/$m/config 2>/dev/null
+#	fi
+#done
+#echo "..done"
+#echo ""
 
 # Save target directory if one was specified
 if [ "$wadir" != "$srcdir" ]; then
