Handle hostnames with upper-case letters
[webmin.git] / makerpm.pl
index 75beb55..9c0352b 100755 (executable)
@@ -169,18 +169,25 @@ if [ "\$1" != 1 ]; then
        cp -r /etc/webmin /etc/.webmin-backup
 fi
 # Put back old /etc/webmin saved when an RPM was removed
-if [ "\$1" != 1 -a ! -d /etc/webmin ]; then
-       mv /etc/webmin-rpmsave /etc/webmin
+if [ "\$1" = 1 -a ! -d /etc/webmin -a -d /etc/webmin.rpmsave ]; then
+       mv /etc/webmin.rpmsave /etc/webmin
 fi
 /bin/true
 
 %post
 inetd=`grep "^inetd=" /etc/webmin/miniserv.conf 2>/dev/null | sed -e 's/inetd=//g'`
+startafter=0
 if [ "\$1" != 1 ]; then
        # Upgrading the RPM, so stop the old webmin properly
        if [ "\$inetd" != "1" ]; then
+               kill -0 `cat /var/webmin/miniserv.pid 2>/dev/null` 2>/dev/null
+               if [ "\$?" = 0 ]; then
+                 startafter=1
+               fi
                /etc/init.d/webmin stop >/dev/null 2>&1 </dev/null
        fi
+else
+  startafter=1
 fi
 cd /usr/libexec/webmin
 config_dir=/etc/webmin
@@ -214,7 +221,7 @@ export config_dir var_dir perl autoos port login crypt host ssl nochown autothir
 ./setup.sh >\$tempdir/webmin-setup.out 2>&1
 chmod 600 \$tempdir/webmin-setup.out
 rm -f /var/lock/subsys/webmin
-if [ "$inetd" != "1" ]; then
+if [ "\$inetd" != "1" -a "\$startafter" = "1" ]; then
        /etc/init.d/webmin start >/dev/null 2>&1 </dev/null
 fi
 cat >/etc/webmin/uninstall.sh <<EOFF
@@ -270,6 +277,7 @@ if [ "\$1" = 0 ]; then
        if [ "\$?" = 0 ]; then
                # RPM is being removed, and no new version of webmin
                # has taken it's place. Rename away the /etc/webmin directory
+               rm -rf /etc/webmin.rpmsave
                mv /etc/webmin /etc/webmin.rpmsave
                rm -rf /var/webmin
        fi