summaryrefslogtreecommitdiff
path: root/extra/freenx/freenx.install
diff options
context:
space:
mode:
Diffstat (limited to 'extra/freenx/freenx.install')
-rw-r--r--extra/freenx/freenx.install70
1 files changed, 51 insertions, 19 deletions
diff --git a/extra/freenx/freenx.install b/extra/freenx/freenx.install
index 93a28656f..0f3260166 100644
--- a/extra/freenx/freenx.install
+++ b/extra/freenx/freenx.install
@@ -1,27 +1,59 @@
-# arg 1: the new package version
post_install() {
-# setting up freenx
-echo 'Generating keys ...'
-/opt/NX/bin/nxsetup --install --uid 85 --gid 85 2>&1 >/dev/null
-/bin/cat <<THEEND
-ATTENTION FREENX:
-For correct setup please take a look at the wiki:
-http://wiki.archlinux.org/index.php/FreeNX
-THEEND
+ # Make sure the group and user "nx" exists on this system and have the correct values
+ if grep -q "^nx:" /etc/group &> /dev/null ; then
+ groupmod -g 85 -n nx nx &> /dev/null
+ else
+ groupadd -g 85 nx &> /dev/null
+ fi
+
+ if grep -q "^nx:" /etc/passwd 2> /dev/null ; then
+ usermod -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx nx &> /dev/null
+ else
+ useradd -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx -r nx &> /dev/null
+ fi
+
+ # setting up freenx
+ echo 'Generating keys ...'
+ /usr/lib/nx/bin/nxsetup --install 2>&1 >/dev/null
+
+ echo "ATTENTION FREENX:"
+ echo "For correct setup please take a look at the wiki:"
+ echo "http://wiki.archlinux.org/index.php/FreeNX"
}
post_upgrade() {
-# setting up freenx
-echo 'Rerunning nxsetup ...'
-/opt/NX/bin/nxsetup --install --uid 85 --gid 85 2>&1 >/dev/null
-/bin/cat <<THEEND
-ATTENTION FREENX:
-For correct setup please take a look at the wiki:
-http://wiki.archlinux.org/index.php/FreeNX
-THEEND
+ # Make sure the group and user "nx" exists on this system and have the correct values
+ if grep -q "^nx:" /etc/group &> /dev/null ; then
+ groupmod -g 85 -n nx nx &> /dev/null
+ else
+ groupadd -g 85 nx &> /dev/null
+ fi
+
+ if grep -q "^nx:" /etc/passwd 2> /dev/null ; then
+ usermod -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx nx &> /dev/null
+ else
+ useradd -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx -r nx &> /dev/null
+ fi
+
+ # setting up freenx
+ echo "Rerunning nxsetup ..."
+ /usr/lib/nx/bin/nxsetup --install 2>&1 >/dev/null
+
+ if [ "`vercmp $2 0.7.3-10.1`" -lt 0 ]; then
+ # important upgrade notice
+ echo "*** config file location has been moved ***"
+ echo "Please apply your local settings from /opt/NX/etc/node.conf.pacsave"
+ echo "into /etc/nxserver/node.conf. A new key set is required."
+ echo "Please copy to your clients the new client key:"
+ echo "\"/var/lib/nxserver/home/nx/.ssh/client.id_dsa.key\""
+ echo "When you have FreeNX server running clean up with \"rm -rf /opt/NX\"."
+ fi
}
+
# arg 1: the old package version
pre_remove() {
- /opt/NX/bin/nxsetup --uninstall --purge 2>&1 >/dev/null
- usr/sbin/groupdel nx &>/dev/null
+ /usr/lib/nx/bin/nxsetup --uninstall --purge 2>&1 >/dev/null
+# usr/sbin/groupdel nx &>/dev/null
+ userdel nx &> /dev/null
+ groupdel nx &> /dev/null || /bin/true
}