I've updated the patch for SRSS 4.2 /opt/SUNWut on Debian / Ubuntu.
Tested on Ubuntu 8.04.

- Murray
diff -ur SUNWut.orig/bin/utset SUNWut/bin/utset
--- SUNWut.orig/bin/utset       2009-10-20 10:44:54.000000000 +1000
+++ SUNWut/bin/utset    2009-11-27 09:19:07.000000000 +1000
@@ -870,7 +870,7 @@
       print "$R $S"
     done
   ) |
-  (export LC_ALL=C; sort -t 'x' +0 -1n +1 -2n +2 -3n)
+  (export LC_ALL=C; sort -t 'x' -k 1,1n -k 2,2n -k 3,3n )
 
   exit 0
 fi
diff -ur SUNWut.orig/lib/dhcp/isc/dhcp_config_linux 
SUNWut/lib/dhcp/isc/dhcp_config_linux
--- SUNWut.orig/lib/dhcp/isc/dhcp_config_linux  2009-10-20 10:44:54.000000000 
+1000
+++ SUNWut/lib/dhcp/isc/dhcp_config_linux       2009-11-27 09:19:07.000000000 
+1000
@@ -7,7 +7,11 @@
 #
 
 UTDHCPDIR="$ETCDIR"/net/dhcp
-DHCPDCONF=/etc/dhcpd.conf
+if [[ -f "/etc/dhcp3/dhcpd.conf" ]]; then
+       DHCPDCONF=/etc/dhcp3/dhcpd.conf
+else
+       DHCPDCONF=/etc/dhcpd.conf
+fi
 UTDHCPFILE="$UTDHCPDIR"/utdhcp
 OPTIONSFILENAME="SunRay-options"
 OPTIONSFILE="$UTDHCPDIR"/"$OPTIONSFILENAME"
@@ -30,12 +34,16 @@
 DUMMY_SUBNET_COMMENT="# Sun Ray: dummy subnet to support DHCP clients on 
remote subnets"
 
 CheckChrooted() {
-       grep $CHROOTKEY $SYSDHCPD | grep -i yes 2>/dev/null 1>&2
-       if [[ $? -eq 0 ]]; then
-               CHROOTED=true
+       if [[ -f $SYSDHCPD ]]; then
+               grep $CHROOTKEY $SYSDHCPD | grep -i yes 2>/dev/null 1>&2
+               if [[ $? -eq 0 ]]; then
+                       CHROOTED=true
+               else
+                       CHROOTED=false
+               fi
        else
                CHROOTED=false
-       fi      
+       fi
 }
 
 GenerateOptionsDHCPDBlock() {
diff -ur SUNWut.orig/lib/dhcp/isc/utdhcpservice 
SUNWut/lib/dhcp/isc/utdhcpservice
--- SUNWut.orig/lib/dhcp/isc/utdhcpservice      2009-10-20 10:44:54.000000000 
+1000
+++ SUNWut/lib/dhcp/isc/utdhcpservice   2009-11-27 09:19:07.000000000 +1000
@@ -49,14 +49,14 @@
 
 # names of files and directories that will be touched by this script
 #
-DHCP_CONFIG="/etc/dhcpd.conf";
+DHCP_CONFIG="/etc/dhcp3/dhcpd.conf";
 DHCP_CONFIG_SAMPLE_RHAS="/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample";
 DHCP_CONFIG_SAMPLE_SLES="/usr/share/doc/packages/dhcp-server/dhcpd.conf";
 TMPDIR="/var/opt/SUNWut/tmp"
 CORONA_NAME="SunRay";
 CORONA_TITLE="Sun Ray";
-if [ -d /var/lib/dhcp ]; then
-       DHCP_DIR="/var/lib/dhcp";
+if [ -d /var/lib/dhcp3 ]; then
+       DHCP_DIR="/var/lib/dhcp3";
 elif [ -d /var/lib/dhcpd ]; then
         DHCP_DIR="/var/lib/dhcpd";
 fi
@@ -76,6 +76,7 @@
 typeset DHCP_RUNNING=true
 typeset DHCP_PACKAGE_RH="dhcp"
 typeset DHCP_PACKAGE_SU="dhcp-server"
+typeset DHCP_PACKAGE_DEB="dhcp3-server"
 typeset DHCP_PACKAGE="DHCP"
 typeset DHCP_STATE="online"
 
@@ -97,7 +98,12 @@
     typeset PACKAGE="${DHCP_PACKAGE}"
     if $DHCP_INSTALLED ; then
       # get the actual package name including version and release
-      PACKAGE="$(rpm -q ${DHCP_PACKAGE} 2> /dev/null)"
+       DPKG=$(which dpkg1)
+       if [[ -f "$DPKG" ]]; then
+         PACKAGE="$(dpkg -l | grep dhcp3-server | awk '{print $2$3}' 2> 
/dev/null)"
+       else
+         PACKAGE="$(rpm -q ${DHCP_PACKAGE} 2> /dev/null)"
+       fi
     fi
     if ! $DHCP_RUNNING && [ $DHCP_STATE != "unconfigured" ] ; then
       DHCP_STATE="disabled"
@@ -122,12 +128,18 @@
           DHCP_CONFIG_SAMPLE=${DHCP_CONFIG_SAMPLE_RHAS}
        elif [ -f ${DHCP_CONFIG_SAMPLE_SLES} ]; then
            DHCP_CONFIG_SAMPLE=${DHCP_CONFIG_SAMPLE_SLES}
+       elif [ -f ${DHCP_CONFIG_SAMPLE_DEB} ]; then
+           DHCP_CONFIG_SAMPLE=${DHCP_CONFIG_SAMPLE_DEB}
        fi
        diff ${DHCP_CONFIG} ${DHCP_CONFIG_SAMPLE} > /dev/null 2>&1
        if [[ $? == 0 ]]; then
             mv ${DHCP_CONFIG} ${DHCP_CONFIG}.sunray
        else
-          dhcpd -t > /dev/null 2>&1
+           if [[ -f "/usr/sbin/dhcpd3" ]]; then
+                       dhcpd3 -t > /dev/null 2>&1
+          else
+                  dhcpd -t > /dev/null 2>&1
+          fi
           if [[ $? == 0 ]]; then
                cat > ${DHCP_CONFIG}.$$ <<-!
 # ${SUNRAY_FILE_MARK} /etc/dhcpd.conf
@@ -208,7 +220,11 @@
       return 3
     fi
 
-    /etc/init.d/dhcpd start > /dev/null 2>&1
+    if [[ -f /etc/init.d/dhcp3-server ]]; then
+        /etc/init.d/dhcp3-server start > /dev/null 2>&1
+    else
+        /etc/init.d/dhcpd start > /dev/null 2>&1
+    fi 
     return $?
 }
 
@@ -216,8 +232,11 @@
     if ! $DHCP_ENABLED ; then
       return 3
     fi
-
-    /etc/init.d/dhcpd stop > /dev/null 2>&1
+    if [[ -f /etc/init.d/dhcp3-server ]]; then
+        /etc/init.d/dhcp3-server  stop > /dev/null 2>&1
+    else
+        /etc/init.d/dhcpd stop > /dev/null 2>&1
+    fi
     return $?
 }
 
@@ -225,8 +244,11 @@
     if ! $DHCP_ENABLED ; then
       return 3
     fi
-
-    /etc/init.d/dhcpd restart > /dev/null 2>&1
+    if [[ -f /etc/init.d/dhcp3-server ]]; then
+        /etc/init.d/dhcp3-server  restart > /dev/null 2>&1
+    else
+        /etc/init.d/dhcpd restart > /dev/null 2>&1
+    fi
     return $?
 }
 
@@ -237,11 +259,16 @@
 if [[ $? -ne 0 ]] ; then
   ${UT_BASEDIR}/lib/utprodinfo -t installed ${DHCP_PACKAGE_SU} 2>/dev/null 1>&2
   if [[ $? -ne 0 ]]; then
-    DHCP_INSTALLED=false
-    DHCP_ENABLED=false
-    DHCP_CONFIGURED=false
-    DHCP_RUNNING=false
-    DHCP_STATE="uninstalled"
+    ${UT_BASEDIR}/lib/utprodinfo -t installed ${DHCP_PACKAGE_DEB} 2>/dev/null 
1>&2
+    if [[ $? -ne 0 ]]; then
+      DHCP_INSTALLED=false
+      DHCP_ENABLED=false
+      DHCP_CONFIGURED=false
+      DHCP_RUNNING=false
+      DHCP_STATE="uninstalled"
+    else
+      DHCP_PACKAGE=${DHCP_PACKAGE_DEB}
+    fi
   else
     DHCP_PACKAGE=${DHCP_PACKAGE_SU}
   fi
@@ -266,8 +293,11 @@
        if [[ $? != 0 ]] ; then
            DHCP_CONFIGURED=false       # Interface / subnet not defined
        fi
-
-       /etc/init.d/dhcpd status 2> /dev/null | grep "running" >/dev/null 2>&1
+        if [[ -f "/etc/init.d/dhcp3-server" ]]; then
+            /etc/init.d/dhcp3-server status 2> /dev/null | grep "running" 
>/dev/null 2>&1
+        else
+           /etc/init.d/dhcpd status 2> /dev/null | grep "running" >/dev/null 
2>&1
+       fi
        if [[ $? -ne 0 ]]; then
            DHCP_RUNNING=false
        fi
diff -ur SUNWut.orig/lib/iu_modules/M08GDM SUNWut/lib/iu_modules/M08GDM
--- SUNWut.orig/lib/iu_modules/M08GDM   2009-10-20 10:53:49.000000000 +1000
+++ SUNWut/lib/iu_modules/M08GDM        2009-11-27 09:19:07.000000000 +1000
@@ -312,7 +312,7 @@
 #
 if IsInstallRequired; then
        # when installing, pick up the build number from the rpm in the CD image
-       typeset TMP_NAME=`ls -1tr 
${GDM_DIR}/${GDM_NAME}-${GDM_OUR_VERSION}-?*.i386.rpm | tail -1`
+       typeset TMP_NAME=`ls -1tr 
${GDM_DIR}/${GDM_NAME}-${GDM_OUR_VERSION}-?*.i386.rpm | tail -n 1`
        TMP_NAME=${TMP_NAME##*-}
        export GDM_RELEASE=${TMP_NAME%%\.i386*}
 else
diff -ur SUNWut.orig/lib/iu_modules/M10SunDS SUNWut/lib/iu_modules/M10SunDS
--- SUNWut.orig/lib/iu_modules/M10SunDS 2009-10-20 10:53:49.000000000 +1000
+++ SUNWut/lib/iu_modules/M10SunDS      2009-11-27 09:19:07.000000000 +1000
@@ -98,7 +98,7 @@
           # NOTE: head -2 to deal with the case the first line is blank.
           # we need only to know if there is anything under the subtree.
           #
-          ANY=$(ldapsearch -b "$BASE" -s one "objectclass=*" dn 2>&- | head -2)
+          ANY=$(ldapsearch -b "$BASE" -s one "objectclass=*" dn 2>&- | head -n 
2)
           search_st=$?
           if [[ $search_st -eq 0 ]]; then
             # subtree exists, check if empty
diff -ur SUNWut.orig/lib/iu_modules/M40AuthMgr SUNWut/lib/iu_modules/M40AuthMgr
--- SUNWut.orig/lib/iu_modules/M40AuthMgr       2009-10-20 10:53:49.000000000 
+1000
+++ SUNWut/lib/iu_modules/M40AuthMgr    2009-11-27 09:19:07.000000000 +1000
@@ -289,19 +289,19 @@
 
     # try to set keyval to uncommented pair first
     old_keyval=$(grep "=" $oldfile 2>&- |
-        grep "^[       ]*${key}[=      ]" | tail -1)
+        grep "^[       ]*${key}[=      ]" | tail -n 1)
     # if no uncommented pair, take the last commented pair
     [[ -z "$old_keyval" ]] && \
       old_keyval=$(grep "=" $oldfile 2>&- |
-      grep "^[#        ]*${key}[=      ]" | tail -1)
+      grep "^[#        ]*${key}[=      ]" | tail -n 1)
 
     # try to set keyval to uncommented pair first
     new_keyval=$(grep "=" $newfile 2>&- |
-        grep "^[       ]*${key}[=      ]" | tail -1)
+        grep "^[       ]*${key}[=      ]" | tail -n 1)
     # if no uncommented pair, take the last commented pair
     [[ -z "$new_keyval" ]] && \
       new_keyval=$(grep "=" $newfile 2>&- |
-      grep "^[#        ]*${key}[=      ]" | tail -1)
+      grep "^[#        ]*${key}[=      ]" | tail -n 1)
 
 #
 # Check if this parameter does not have to be modified
diff -ur SUNWut.orig/lib/support_lib/iu_lib SUNWut/lib/support_lib/iu_lib
--- SUNWut.orig/lib/support_lib/iu_lib  2009-10-20 10:53:50.000000000 +1000
+++ SUNWut/lib/support_lib/iu_lib       2009-11-27 09:19:07.000000000 +1000
@@ -200,8 +200,8 @@
 
     for patchid in $all_patches; do
       print -n "... checking patch ${patchid} ... "
-      exist=$(grep "${patchid}-[0-9][0-9]" ${showrev_p} | head -1)
-      patch=$(\ls -1 "$dir" 2>&- | grep "^${patchid}" | tail -1)
+      exist=$(grep "${patchid}-[0-9][0-9]" ${showrev_p} | head -n 1)
+      patch=$(\ls -1 "$dir" 2>&- | grep "^${patchid}" | tail -n 1)
       pkgs=$(cd "${dir}/${patch}" 2>&-; \ls -1 */pkginfo 2>&- | 
         sed -e 's:/pkginfo::g')
 
diff -ur SUNWut.orig/lib/support_lib/sras_config 
SUNWut/lib/support_lib/sras_config
--- SUNWut.orig/lib/support_lib/sras_config     2009-10-20 10:53:50.000000000 
+1000
+++ SUNWut/lib/support_lib/sras_config  2009-11-27 09:19:07.000000000 +1000
@@ -580,6 +580,13 @@
                rm -f /etc/opt/SUNWut/http/auto.start
        fi
        print ${APACHECTL} > /etc/opt/SUNWut/http/auto.start
+       if [[ -f /etc/default/apache2 ]]; then
+               . /etc/default/apache2
+               if [[ "$NO_START" = "1" ]]; then
+                       echo "# 0 = start on boot; 1 = don't start on boot" > 
/etc/default/apache2
+                       echo "NO_START=0" >> /etc/default/apache2
+               fi
+       fi
 }
 
 function RemoveAutoStart {
@@ -898,6 +905,8 @@
        if [[ $OS == "Linux" ]]; then
                if [[ -f /etc/httpd/conf/magic || -f /etc/httpd/magic ]]; then
                        HTTPD_SCRIPT=/usr/sbin/httpd
+                elif [[ -f /etc/apache2/magic ]]; then
+                        HTTPD_SCRIPT=/usr/sbin/apache2
                fi
        fi
 
@@ -938,6 +947,8 @@
                        BUNDLED_MAGIC=/etc/httpd/conf/magic
                elif [[ -f /etc/httpd/magic ]]; then
                        BUNDLED_MAGIC=/etc/httpd/magic
+                elif [[ -f /etc/apache2/magic ]]; then
+                        BUNDLED_MAGIC=/etc/apache2/magic
                fi
                ;;
        esac
@@ -1066,11 +1077,26 @@
                        fi
                        STATUS=1
                fi
+
+       # Check for apache in Debian/Ubuntu location
+       elif [[ -f /etc/apache2/magic ]]; then
+               APACHEDIR="/etc/apache2"
+               APACHETMP="$ETC_OPT_UT"/http/templates/apache.tpl.debian
+               APACHECTL="/etc/init.d/apache2"
        fi
         ;;
   esac
   if [[ -n $APACHEDIR ]]; then
-       APACHECFG="$APACHEDIR"/httpd.conf
+       if [[ "$OS" = "Linux" ]]; then
+               . /etc/lsb-release
+               if [[ "$DISTRIB_ID" = "Ubuntu" ]] || [[ "$DISTRIB_ID" = 
"Debian" ]]; then
+                       APACHECFG="$APACHEDIR"/apache2.conf
+               else
+                       APACHECFG="$APACHEDIR"/httpd.conf
+               fi
+       else
+               APACHECFG="$APACHEDIR"/httpd.conf
+       fi
   fi
   ApacheInstalled
 
diff -ur SUNWut.orig/lib/support_lib/upgrade_lib 
SUNWut/lib/support_lib/upgrade_lib
--- SUNWut.orig/lib/support_lib/upgrade_lib     2009-10-20 10:53:50.000000000 
+1000
+++ SUNWut/lib/support_lib/upgrade_lib  2009-11-27 09:19:07.000000000 +1000
@@ -56,9 +56,9 @@
   for key in $(awk -F= '{ print $1 }' $oldfile 2>&- | grep -v "^#" |
       sort -u); do
     old_keyval=$(grep "^[      ]*$key[=        ]" $oldfile 2>&- |
-        tail -1)
+        tail -n 1)
     new_keyval=$(grep "^[      ]*$key[=        ]" $newfile 2>&- |
-        tail -1)
+        tail -n 1)
     if [[ -n "$old_keyval" && -n "$new_keyval" ]]; then
       if [[ "$old_keyval" != "$new_keyval" ]]; then
         DoUpgrade "$key" "$old_keyval" "$new_keyval" "$newfile"
@@ -116,7 +116,7 @@
   fi
   for key in $(grep -v "^#" "$oldfile" 2>&- | awk -F= '{ print $1 }' |
       sort -u); do
-    line=$(grep "^${key}[      =]" "$oldfile" 2>&- | tail -1)
+    line=$(grep "^${key}[      =]" "$oldfile" 2>&- | tail -n 1)
     grep "$line" "$newfile" 2>&1 >/dev/null || \
       DoAppend "$line" "$newfile"
   done
@@ -564,7 +564,7 @@
     return 1
   fi
 
-  _RETURN_VAL=$(ls -1 ${TARFILE}* | tail -1)
+  _RETURN_VAL=$(ls -1 ${TARFILE}* | tail -n 1)
 
   return 0
 
diff -ur SUNWut.orig/lib/utadmingid SUNWut/lib/utadmingid
--- SUNWut.orig/lib/utadmingid  2009-10-20 10:44:53.000000000 +1000
+++ SUNWut/lib/utadmingid       2009-11-27 09:19:07.000000000 +1000
@@ -15,7 +15,7 @@
 ETCDIR="/etc/opt/SUNWut"
 UTADMINPW=${ETCDIR}/utadmin.pw
 if [ -f $UTADMINPW ] ; then
-       WEBGUI_GROUP=`/bin/ls -gn $UTADMINPW | /bin/awk '{print $3}' `
+       WEBGUI_GROUP=`/bin/ls -gn $UTADMINPW | awk '{print $3}' `
 fi
 WEBGUI_GROUP=${WEBGUI_GROUP:-root}
 print $WEBGUI_GROUP
diff -ur SUNWut.orig/lib/utctl.d/features/utcompatlinksctl 
SUNWut/lib/utctl.d/features/utcompatlinksctl
--- SUNWut.orig/lib/utctl.d/features/utcompatlinksctl   2009-10-20 
10:44:51.000000000 +1000
+++ SUNWut/lib/utctl.d/features/utcompatlinksctl        2009-11-27 
09:19:07.000000000 +1000
@@ -130,14 +130,14 @@
 
        LIBLDAP=/usr/lib/libldap.so.199
        LIBLDAP64=/usr/lib64/libldap.so.199
-       COMPATLIB_LIBLDAP=/usr/lib/libldap-2.3.so.0
-       COMPATLIB_LIBLDAP64=/usr/lib64/libldap-2.3.so.0
+       COMPATLIB_LIBLDAP=/usr/lib/libldap-2.4.so.2
+       COMPATLIB_LIBLDAP64=/usr/lib64/libldap-2.4.so.2
        COMPATLINK_LIBLDAP=$LIB_COMPATLINKS/${LIBLDAP##*/}
        COMPATLINK64_LIBLDAP=$LIB_COMPATLINKS64/${LIBLDAP##*/}
 
        LIBLBER=/usr/lib/liblber.so.199
        LIBLBER64=/usr/lib64/liblber.so.199
-       COMPATLIB_LIBLBER=/usr/lib/liblber-2.3.so.0
+       COMPATLIB_LIBLBER=/usr/lib/liblber-2.4.so.2
        COMPATLIB_LIBLBER64=/usr/lib64/liblber-2.3.so.0
        COMPATLINK_LIBLBER=$LIB_COMPATLINKS/${LIBLBER##*/}
        COMPATLINK64_LIBLBER=$LIB_COMPATLINKS64/${LIBLBER##*/}
diff -ur SUNWut.orig/lib/utctl.d/features/utcronctl 
SUNWut/lib/utctl.d/features/utcronctl
--- SUNWut.orig/lib/utctl.d/features/utcronctl  2009-10-20 10:44:51.000000000 
+1000
+++ SUNWut/lib/utctl.d/features/utcronctl       2009-11-27 09:19:07.000000000 
+1000
@@ -37,13 +37,13 @@
                return
        fi
 
-       (set +e; head -1 $CRONFILE | \
+       (set +e; head -n 1 $CRONFILE | \
            grep "^# DO NOT EDIT THIS FILE - edit the master and reinstall" \
            > /dev/null 2>&1)
        if [ $? -eq 0 ]; then
                # comment exists, remove them
                cat /dev/null >$TMPFILE_COMM
-               head -3 $CRONFILE | sed \
+               head -n 3 $CRONFILE | sed \
                -e "/^# DO NOT EDIT THIS FILE - edit the master and 
reinstall/d" \
                -e "/^# (\/[^ ]* installed/d" \
                -e "/^# (Cron version/d" >> $TMPFILE_COMM
diff -ur SUNWut.orig/lib/utctl.d/features/utgdmconfigctl 
SUNWut/lib/utctl.d/features/utgdmconfigctl
--- SUNWut.orig/lib/utctl.d/features/utgdmconfigctl     2009-10-20 
10:44:51.000000000 +1000
+++ SUNWut/lib/utctl.d/features/utgdmconfigctl  2009-11-27 09:23:00.000000000 
+1000
@@ -422,7 +422,7 @@
                SRCRASHSCRIPT="${SUNRAY_GDM_DIR}/XKeepsCrashing.sunray"
                GDM_PACKAGE_NAME="gdm"
                TMPFILE="/var/opt/SUNWut/tmp/custom.conf.tmp.$$"
-               GDMGREETER=$(resolvePath gdmgreeter /usr/lib /usr/libexec)
+               GDMGREETER=$(resolvePath gdmgreeter /usr/lib /usr/libexec 
/usr/lib/gdm )
                if [ $OS = "SunOS" ]; then
                        AWK=nawk
                else
diff -ur SUNWut.orig/lib/utdmsession SUNWut/lib/utdmsession
--- SUNWut.orig/lib/utdmsession 2009-10-20 10:44:47.000000000 +1000
+++ SUNWut/lib/utdmsession      2009-11-27 09:19:07.000000000 +1000
@@ -26,7 +26,7 @@
 #exec >/var/tmp/utdmsession.$$ 2>&1       # Debug
 #set -x
 
-MOD="`/bin/basename $0`"
+MOD="`basename $0`"
 USAGE="usage: $MOD [-c|-d] Xdisplay [-z tag]"
 UTMNT_DIRLOCK=".session"
 
diff -ur SUNWut.orig/lib/utdtsession SUNWut/lib/utdtsession
--- SUNWut.orig/lib/utdtsession 2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/utdtsession      2009-11-27 09:19:07.000000000 +1000
@@ -554,7 +554,7 @@
        # so that a new session can be created.
 
        # get the existing session ID
-       oldsid=$(head -1 $tif)
+       oldsid=$(head -n 1 $tif)
 
        # get the existing session type
        OLD_SESSION_TYPE=""
diff -ur SUNWut.orig/lib/utgdmconfigpath SUNWut/lib/utgdmconfigpath
--- SUNWut.orig/lib/utgdmconfigpath     2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/utgdmconfigpath  2009-11-27 09:25:22.000000000 +1000
@@ -24,20 +24,21 @@
 
 }
 
-if [ "`uname -s`" = "SunOS" ]; then
-    gdm_dir=$(utdirpath custom.conf $gdm_path)
-    if [ -z "$gdm_dir" ]; then 
-       status=1
-    fi
-
-else
-    gdm_path=`rpm -ql "gdm" | grep "custom.conf"`
-    if [ $? -ne 0 ]; then
-       status=1
-    else
-       gdm_dir=${gdm_path%custom.conf}
-    fi
-fi
+#if [ "`uname -s`" = "SunOS" ]; then
+#    gdm_dir=$(utdirpath custom.conf $gdm_path)
+#    if [ -z "$gdm_dir" ]; then 
+#      status=1
+#    fi
+#
+#else
+#    gdm_path=`rpm -ql "gdm" | grep "custom.conf"`
+#    if [ $? -ne 0 ]; then
+#      status=1
+#    else
+#      gdm_dir=${gdm_path%custom.conf}
+#    fi
+#fi
+gdm_dir=/etc/gdm/
 
 if [ "$status" -ne 0 ]; then
        print -u2 "$(basename $0): Cannot determine GDM install directory"
diff -ur SUNWut.orig/lib/utprodinfo SUNWut/lib/utprodinfo
--- SUNWut.orig/lib/utprodinfo  2009-10-20 10:53:49.000000000 +1000
+++ SUNWut/lib/utprodinfo       2009-11-27 09:30:44.000000000 +1000
@@ -75,6 +75,8 @@
 set -A SunOS_Mapped_Sed
 # Mapped parameter query format for the Linux packaging utility
 set -A Linux_Mapped_Param
+# Mapped parameter query format for the dpkg packaging utility
+set -A Debian_Mapped_Param
 # Maximum number of parameters allowed
 typeset -i MAXParam=1
 
@@ -82,42 +84,50 @@
 Param[${MAXParam}]="BASEDIR"
 SunOS_Mapped_Param[${MAXParam}]="BASEDIR"
 Linux_Mapped_Param[${MAXParam}]="%{INSTALLPREFIX}"
+Debian_Mapped_Param[${MAXParam}]="INSTALLPREFIX"
 let MAXParam+=1
 # --- VERSION - version number with the build info.  Ex: 2.0_37.b
 Param[${MAXParam}]="VERSION"
 SunOS_Mapped_Param[${MAXParam}]="VERSION"
 
SunOS_Mapped_Sed[${MAXParam}]="s/\([0-9][0-9]*\.[0-9][0-9]*_[0-9][0-9]*.*\),.*/\1/"
 Linux_Mapped_Param[${MAXParam}]="%{VERSION}_%{RELEASE}"
+Debian_Mapped_Param[${MAXParam}]="DEBVERSION"
 let MAXParam+=1
 # --- PSTAMP - product timestamp
 Param[${MAXParam}]="PSTAMP"
 SunOS_Mapped_Param[${MAXParam}]="PSTAMP"
 Linux_Mapped_Param[${MAXParam}]="%{BUILDTIME:date}"
+Debian_Mapped_Param[${MAXParam}]=""
 let MAXParam+=1
 # --- NAME - description of the package.
 Param[${MAXParam}]="NAME"
 SunOS_Mapped_Param[${MAXParam}]="NAME"
 Linux_Mapped_Param[${MAXParam}]="%{SUMMARY}"
+Debian_Mapped_Param[${MAXParam}]='%{Description;40}'
 let MAXParam+=1
 # --- PRODVERS - product version without the build info.  Ex: 2.0
 Param[${MAXParam}]="PRODVERS"
 SunOS_Mapped_Param[${MAXParam}]="SUNW_PRODVERS"
 Linux_Mapped_Param[${MAXParam}]="%{VERSION}"
+Debian_Mapped_Param[${MAXParam}]="DEBPRODVERS"
 let MAXParam+=1
 # --- PKGNAME - package name. Ex: SUNWuto
 Param[${MAXParam}]="PKGNAME"
 SunOS_Mapped_Param[${MAXParam}]="PKGINST"
 Linux_Mapped_Param[${MAXParam}]="%{NAME}"
+Debian_Mapped_Param[${MAXParam}]='${Package}\\n'
 let MAXParam+=1
 # --- INSTDATE - date the package is installed on the system.
 Param[${MAXParam}]="INSTDATE"
 SunOS_Mapped_Param[${MAXParam}]="INSTDATE"
 Linux_Mapped_Param[${MAXParam}]="%{INSTALLTIME:date}"
+Debian_Mapped_Param[${MAXParam}]=""
 let MAXParam+=1
 # --- PATCHLIST - list of patches installed for this package.
 Param[${MAXParam}]="PATCHLIST"
 SunOS_Mapped_Param[${MAXParam}]="PATCHLIST"
 Linux_Mapped_Param[${MAXParam}]=""
+Debian_Mapped_Param[${MAXParam}]=""
 let MAXParam+=1
 
 
@@ -156,14 +166,22 @@
                        # add key name manipulation sed script
                        SEDLIST="${SEDLIST} -e 
s/^${SunOS_Mapped_Param[${1}]}=/${Param[${1}]}=/"
                fi
-       else
-               if [[ -n "${Linux_Mapped_Param[${1}]}" ]]; then
+       elif [[ ${PREFIX} = "Debian" ]]; then
+               if [[ -n "${Debian_Mapped_Param[${1}]}" ]]; then
                        if ${2}; then
-                               
MAPPEDLIST="${MAPPEDLIST}${Param[${1}]}=${Linux_Mapped_Param[${1}]}\\n"
+                               
MAPPEDLIST="${MAPPEDLIST}${Param[${1}]}=${Debian_Mapped_Param[${1}]}\\n"
                        else
-                               MAPPEDLIST="${Linux_Mapped_Param[${1}]}\\n"
+                               MAPPEDLIST="${Debian_Mapped_Param[${1}]}\\n"
                        fi
                fi
+       else
+                if [[ -n "${Linux_Mapped_Param[${1}]}" ]]; then
+                        if ${2}; then
+                                
MAPPEDLIST="${MAPPEDLIST}${Param[${1}]}=${Linux_Mapped_Param[${1}]}\\n"
+                        else
+                                MAPPEDLIST="${Linux_Mapped_Param[${1}]}\\n"
+                        fi
+                fi
        fi
 }
 
@@ -323,6 +341,14 @@
        return $?
 }
 
+Debian_dispAll() {
+       $DEBUG
+        # NOTE: must sort first so that we can return the exit code from grep
+       dpkg -l | grep "Sun Ray"
+       return $?
+}
+
+
 #
 # dispParams - displays the parameter information in key-value form.
 # $1 - package name
@@ -345,6 +371,43 @@
        return 0
 }
 
+Debian_dispParams() {
+        $DEBUG
+        if ! ${PREFIX}_testPkg installed $PKGNAME; then
+                # package not installed;
+                print -u2 "${ERROR_PREF} package $PKGNAME not installed"
+                return 1
+        fi
+
+        buildParamList "$@"
+        if [[ $? -eq 1 ]]; then
+                # found no params, just return
+                return 0
+        fi
+
+       # This is becaue the alien converted packaged are lowercase
+       DEB="`echo "${PKGNAME}" | tr '[A-Z]' '[a-z]'`"
+       VERSION=""
+       PRODVERS=""
+
+       # The below is a bit of a hack to get the correct informtin out of 
dpkg-query
+       # it always returns /opt as the basedir
+
+       if [ "`echo "${MAPPEDLIST}"|grep "DEBVERSION"`" ]; then
+               VERSION="`dpkg-query -f '${Version}\n' -W "${DEB}" | sed -e 
's/-/_/'`"
+       fi
+       if [ "`echo "${MAPPEDLIST}"|grep "DEBPRODVERS"`" ]; then
+               PRODVERS="`dpkg-query -f '${Version}\n' -W "${DEB}" | sed -e 
's/-.*$//'`"
+       fi
+
+       QL="`echo "${MAPPEDLIST}"|sed -e 's/INSTALLPREFIX/\/opt/g' -e 
"s/DEBVERSION/${VERSION}/g" -e "s/DEBPRODVERS/${PRODVERS}/g"`"
+       if [ "`echo "${QL}"|grep '\\$'`" ]; then
+               dpkg-query -f "${QL}" -W "${DEB}"
+       else
+               echo "${QL}"
+       fi
+        return 0
+}
 
 #
 # testPkg - test the condition specified on the package.
@@ -377,6 +440,34 @@
        return 1
 }
 
+Debian_testPkg() {
+        $DEBUG
+        if [[ $# -ne 2 ]]; then
+                return 1
+        fi
+       DEB="`echo "$2" | tr '[A-Z]' '[a-z]'`"
+        case $1 in
+        "installed")    # package installed, could be either partial or 
complete
+                dpkg-query -W $DEB > /dev/null 2>&1
+                return $?;;
+        "partial")      # package partially installed
+                #
+                # rpm does not understand the concept of partially installed 
packages.
+                # So, for now, we always return 1 (ie. false) since it can 
never be
+                # partially installed packages.
+                #
+                return 1;;
+        "complete")     # package completely installed
+               # dpkg format does not have a verify option, this will return 
if installed even partially
+                dpkg-query -q $DEB > /dev/null 2>&1
+                return $?;;
+        esac
+
+        # invalid test condition
+        print -u2 "${ERROR_PREF} invalid test operation \"$1\"."
+        return 1
+}
+
 
 PREFIX=`uname -s`
 if [[ -z "$PREFIX" ]]; then
@@ -384,6 +475,12 @@
        print -u2 "${ERROR_PREF} unable to determince the OS running on this 
system."
        exit 1
 fi
+if [[ "$PREFIX" = "Linux" ]]; then
+       . /etc/lsb-release
+        if [[ "$DISTRIB_ID" = "Ubuntu" ]] || [[ "$DISTRIB_ID" = "Debian" ]]; 
then
+               PREFIX="Debian"
+       fi
+fi
 
 OPMODE=""
 SUBOP=""
diff -ur SUNWut.orig/lib/utwebadmin SUNWut/lib/utwebadmin
--- SUNWut.orig/lib/utwebadmin  2009-10-20 10:50:04.000000000 +1000
+++ SUNWut/lib/utwebadmin       2009-11-27 09:19:07.000000000 +1000
@@ -100,6 +100,10 @@
         fi
     done
 
+    # in Debian, /etc/shells starts with a comment and therefore 
+    # this stupid script results in 'SU_SHELL=-s #'  
+    SU_SHELL="-s /bin/ksh"
+
 else
     echo "Not supported on detected OS ${OS}." 1>&2
     exit $EXIT_FAILURE
diff -ur SUNWut.orig/lib/utxinit SUNWut/lib/utxinit
--- SUNWut.orig/lib/utxinit     2009-10-20 10:44:52.000000000 +1000
+++ SUNWut/lib/utxinit  2009-11-27 09:19:07.000000000 +1000
@@ -103,7 +103,7 @@
        XSERVER="/bin/false"
        # we check for Xnewt first.  It will only fall back to Xsun if
        # Xnewt does not exist.
-       for XSERVERBIN in /usr/X11R6/bin/Xnewt /usr/openwin/bin/Xsun ; do
+       for XSERVERBIN in /opt/SUNWut/lib/Xnewt /usr/openwin/bin/Xsun ; do
                if [ -x $XSERVERBIN ] ; then
                        XSERVER=$XSERVERBIN
                        break
diff -ur SUNWut.orig/lib/utxsun SUNWut/lib/utxsun
--- SUNWut.orig/lib/utxsun      2009-10-20 10:44:52.000000000 +1000
+++ SUNWut/lib/utxsun   2009-11-27 11:07:21.000000000 +1000
@@ -69,6 +69,19 @@
                                  sep="," } \
                        END     { print fp } \
                                ' /etc/opt/SUNWut/X11/fontpath )
+       else 
+               if [[ -f /etc/X11/xorg.conf ]]; then
+                      XCFG_FILE=/etc/X11/xorg.conf
+               else
+                      XCFG_FILE=/etc/X11/XF86Config
+               fi
+               if [[ -f $XCFG_FILE ]] ; then
+                       # match lines with FontPath that are not commented out,
+                       # accumulate the path, but remove double quotes before 
appending:
+                       FONTPATH=$($AWK '$1 == "FontPath" { fp = fp "," 
substr($2,2,length($2)-2) } \
+                                END { print substr(fp,2) } \
+                               ' $XCFG_FILE)
+               fi
        fi
 
        if [ x$FONTPATH != x ] ; then
diff -ur SUNWut.orig/lib/xmgr/gdm/add-dpy SUNWut/lib/xmgr/gdm/add-dpy
--- SUNWut.orig/lib/xmgr/gdm/add-dpy    2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/xmgr/gdm/add-dpy 2009-11-27 09:19:07.000000000 +1000
@@ -64,7 +64,7 @@
 xcdesc="DisplayManager.*_%d.environment: SUN_SUNRAY_TOKEN=$token 
CORONA_TOKEN=$token"
 if [ "$type" = normal ]
 then
-       xsdesc=":%d SunRay local /usr/X11R6/bin/Xnewt :%d"
+       xsdesc=":%d SunRay local /opt/SUNWut/lib/Xnewt :%d"
 else
        xsdesc="# :%d RESERVED"
 fi
diff -ur SUNWut.orig/lib/xmgr/gdm/notify SUNWut/lib/xmgr/gdm/notify
--- SUNWut.orig/lib/xmgr/gdm/notify     2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/xmgr/gdm/notify  2009-11-27 09:19:07.000000000 +1000
@@ -24,16 +24,16 @@
 
 verbose=0
 umask 0022
-DMNAME=gdm-binary
-which_gdm=$(whence gdm-binary)
-if [ -z $which_gdm ]; then
-       which_gdm=$(whence gdm)
-       if [ -z $which_gdm ]; then
-               print -u2 "gdm/gdm-binary not found"
-               exit 1
-       fi
-       DMNAME=gdm
-fi
+DMNAME=gdm
+#which_gdm=$(whence gdm-binary)
+#if [ -z $which_gdm ]; then
+#      which_gdm=$(whence gdm)
+#      if [ -z $which_gdm ]; then
+#              print -u2 "gdm/gdm-binary not found"
+#              exit 1
+#      fi
+#      DMNAME=gdm
+#fi
 unset LD_LIBRARY_PATH
 BASE=/etc/opt/SUNWut/basedir
 SUNWUTLIB=$BASE/lib
diff -ur SUNWut.orig/lib/xmgr/gdm/remove-dpy SUNWut/lib/xmgr/gdm/remove-dpy
--- SUNWut.orig/lib/xmgr/gdm/remove-dpy 2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/xmgr/gdm/remove-dpy      2009-11-27 09:43:25.000000000 +1000
@@ -42,7 +42,7 @@
 POSTLOGIN_DIR=${GDM_DIR}PostLogin
 INIT_DIR=${GDM_DIR}Init
 
-DPY=`/bin/gawk -F= '{
+DPY=`awk -F= '{
        if ($1 == "DISPLAY") {print $2} 
        }' /tmp/SUNWut/config/ctokens/$token`
 
diff -ur SUNWut.orig/lib/xmgr/gdm/reset-dpy SUNWut/lib/xmgr/gdm/reset-dpy
--- SUNWut.orig/lib/xmgr/gdm/reset-dpy  2009-10-20 10:44:51.000000000 +1000
+++ SUNWut/lib/xmgr/gdm/reset-dpy       2009-11-27 09:19:07.000000000 +1000
@@ -19,16 +19,16 @@
 
 CONFIGDIR=$1
 CONFIGXDIR=$CONFIGDIR/xconfig
-DMNAME=gdm-binary
-which_gdm=$(whence gdm-binary)
-if [ -z $which_gdm ]; then
-        which_gdm=$(whence gdm)
-        if [ -z $which_gdm ]; then
-                print -u2 "gdm/gdm-binary not found"
-                exit 1
-        fi
-       DMNAME=gdm
-fi
+DMNAME=gdm
+#which_gdm=$(whence gdm-binary)
+#if [ -z $which_gdm ]; then
+#        which_gdm=$(whence gdm)
+#        if [ -z $which_gdm ]; then
+#                print -u2 "gdm/gdm-binary not found"
+#                exit 1
+#        fi
+#      DMNAME=gdm
+#fi
 
 # Note - we start MINDISP at 11 using gdm for linux. It gets around bug
 # 5057552, which is actually caused by lax privileges defined by 
diff -ur SUNWut.orig/sbin/utadm SUNWut/sbin/utadm
--- SUNWut.orig/sbin/utadm      2009-10-20 10:44:53.000000000 +1000
+++ SUNWut/sbin/utadm   2009-11-27 09:19:07.000000000 +1000
@@ -5,7 +5,6 @@
 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-
 #
 #  Configuring Sun Ray interfaces:
 #  ------------------------------
@@ -218,17 +217,28 @@
                else
                  NETWORKS="${ETC_OPT_UT}/net/networks";
                fi
-               DHCPCONFIG="/etc/dhcpd.conf"
+               if [[ -f "/etc/dhcp3/dhcpd.conf" ]]; then
+                       DHCPCONFIG="/etc/dhcp3/dhcpd.conf"
+               else
+                       DHCPCONFIG="/etc/dhcpd.conf"
+               fi
                GREP=grep       # XXX need to figure out which <===
-               INIT_DHCP="/etc/init.d/dhcpd";
+               if [[ -f "/etc/init.d/dhcp3-server" ]]; then
+                       INIT_DHCP="/etc/init.d/dhcp3-server"
+               else
+                       INIT_DHCP="/etc/init.d/dhcpd"
+               fi
                if [[ -d "/etc/sysconfig/network-scripts" ]] ; then
                  IFCONFIG_SCRIPT="/etc/sysconfig/network-scripts/ifcfg-"
                  IFCONFIG_BOOT="ONBOOT=yes"
                  BOOTPROTO=none
-               else
-                 IFCONFIG_SCRIPT="/etc/sysconfig/network/ifcfg-"
-                 IFCONFIG_BOOT="STARTMODE=onboot"
+               elif [[ -f "/etc/network/interfaces" ]] ; then
+                 IFCONFIG_SCRIPT="/etc/network/interfaces"
                  BOOTPROTO=static
+               else
+                  IFCONFIG_SCRIPT="/etc/sysconfig/network/ifcfg-"
+                  IFCONFIG_BOOT="STARTMODE=onboot"
+                  BOOTPROTO=static
                fi
                IFCFG_INET="";
 
@@ -993,6 +1003,10 @@
   # get the intf's symbolic name
   INTF_NAME=`getent hosts ${INTF_IPA} | awk '{print $2}'`;
   if [ -z "${INTF_NAME}" ]; then
+    # Work around for bug in Ubuntu getent Launchpad BugID 28585
+    INTF_NAME=`getent hosts | grep -w ${INTF_IPA} | awk '{print $2}'`
+  fi
+  if [ -z "${INTF_NAME}" ]; then
     print -u2 "Error: host name for ${INTF_IPA} not found"
     exit 1;
   fi
@@ -1147,8 +1161,40 @@
     ifconfig ${INTF} "${IPADDR}" up netmask "${NETMASK}" broadcast 
${BROADCAST};
     RC=$?
     if [[ ${RC} -eq 0 ]] ; then
-      rm -f ${TMPDIR}/tmpfile.$$;
-      cat > ${TMPDIR}/tmpfile.$$ <<-!
+      . /etc/lsb-release 2 > /dev/null
+      if [[ "$DISTRIB_ID" = "Ubuntu" ]] || [[ "$DISTRIB_ID" = "Debian" ]]; then
+        rm -f ${TMPDIR}/tmpfile.$$;
+        cat > ${TMPDIR}/tmpfile.$$ <<-!
+# SUNRAY ADD
+auto ${INTF}
+iface ${INTF} inet ${BOOTPROTO}
+address ${IPADDR}
+netmask ${NETMASK}
+# SUNRAY ADD
+!
+        awk ' {
+          if (NF == "0") print $0;
+          else if ($1 == "allow") {print $0; param="false";}
+          else if ($1 == "mapping") {print $0; param="false";}
+          else if ($1 == "auto")
+            {if ($2 == Intf) print "# SUNRAY DEL "$0;
+             else print $0;
+             param="false";}
+          else if ($1 == "iface")
+            {if ($2 == Intf) {print "# SUNRAY DEL "$0; param="true";}
+             else {print $0; param="false";}}
+          else if (param == "true") print "# SUNRAY DEL "$0;
+          else {print $0; param="false";}
+          }' \
+          Intf=${INTF} \
+          ${IFCONFIG_SCRIPT} > ${IFCONFIG_SCRIPT}.$$
+
+        cat ${IFCONFIG_SCRIPT}.$$ ${TMPDIR}/tmpfile.$$ > ${IFCONFIG_SCRIPT}
+        rm -f ${TMPDIR}/tmpfile.$$ ${IFCONFIG_SCRIPT}.$$
+
+      else
+        rm -f ${TMPDIR}/tmpfile.$$;
+        cat > ${TMPDIR}/tmpfile.$$ <<-!
 DEVICE=${INTF} # SUNRAY ADD 
 USERCTL=no # SUNRAY ADD 
 ${IFCONFIG_BOOT} # SUNRAY ADD 
@@ -1158,17 +1204,18 @@
 NETMASK=${NETMASK} # SUNRAY ADD
 IPADDR=${IPADDR} # SUNRAY ADD
 !
-      if [[ -f ${IFCONFIG_SCRIPT}${INTF} ]] ; then
-       sed -e "/^"HWADDR"/!s/^/# SUNRAY DEL /" "${IFCONFIG_SCRIPT}${INTF}" > 
${IFCONFIG_SCRIPT}${INTF}.$$
-        #
-        # change ether config so it starts on boot
-       
-       rm -f ${IFCONFIG_SCRIPT}${INTF}
-       cat ${IFCONFIG_SCRIPT}${INTF}.$$ ${TMPDIR}/tmpfile.$$ > 
${IFCONFIG_SCRIPT}${INTF}
-       rm -f ${IFCONFIG_SCRIPT}${INTF}.$$ ${TMPDIR}/tmpfile.$$
-      else
-        mv -f ${TMPDIR}/tmpfile.$$ ${IFCONFIG_SCRIPT}${INTF};
-      fi
+         if [[ -f ${IFCONFIG_SCRIPT}${INTF} ]] ; then
+           sed -e "/.*/s/^/# SUNRAY DEL /" "${IFCONFIG_SCRIPT}${INTF}" > 
${IFCONFIG_SCRIPT}${INTF}.$$
+           #
+           # change ether config so it starts on boot
+       
+           rm -f ${IFCONFIG_SCRIPT}${INTF}
+         cat ${IFCONFIG_SCRIPT}${INTF}.$$ ${TMPDIR}/tmpfile.$$ > 
${IFCONFIG_SCRIPT}${INTF}
+         rm -f ${IFCONFIG_SCRIPT}${INTF}.$$ ${TMPDIR}/tmpfile.$$
+         else
+           mv -f ${TMPDIR}/tmpfile.$$ ${IFCONFIG_SCRIPT}${INTF};
+         fi
+       fi
     fi
     print "### finished install of \"${INTF}\" interface";
     return $RC
@@ -1189,6 +1236,38 @@
       if [[ ! -s ${IFCONFIG_SCRIPT}${INTF} ]]; then
        rm -f ${IFCONFIG_SCRIPT}${INTF}
       fi
+    elif [[ -f ${IFCONFIG_SCRIPT} ]] ; then
+      cp ${IFCONFIG_SCRIPT} ${IFCONFIG_SCRIPT}.$$
+      awk ' {
+       if (($2 == "SUNRAY" ) && ($3 == "DEL"))
+         {if (($4 == "auto") && ($5 == Intf))
+            {output="";
+             for (field=4; field<=NF; ++field) {output=output$field" ";} 
+             print output;
+             param="false";}
+          else if (($4 == "iface") && ($5 == Intf ))
+            {output=""; for (field=4; field<=NF; ++field) 
{output=output$field" ";}
+             print output;
+             param="true";}
+          else if (param == "true")
+            {output=""; for (field=4; field<=NF; ++field) 
{output=output$field" ";}
+             print output;
+             param="true";}
+          else {print $0; param="false";}
+         }
+       else if (($2 == "SUNRAY") && ($3 == "ADD"))
+         {if (comment_count == "1") {if (remove != "true") {print 
$0;};comment_count = "2";remove = "false";}
+          else if (comment_count == "2") {comment_count = "1";remove = 
"possible"}
+          else {comment_count = "1"; remove="possible";}
+         }
+       else if (remove == "possible")
+         if (($1 == "auto") && ($2 == Intf)) {remove="true";}
+         else {remove="false";print "# SUNRAY ADD"; print $0;}
+       else if (remove != "true") {print $0; param="false";}
+      }' \
+      Intf=${INTF} \
+      ${IFCONFIG_SCRIPT}.$$ > ${IFCONFIG_SCRIPT}
+      rm -f ${IFCONFIG_SCRIPT}.$$
     else
       print -u2 "Warning: unable to update ${IFCONFIG_SCRIPT}${INTF}";
     fi
@@ -1822,7 +1901,6 @@
     ${UTDHCPSERVICE} disable > /dev/null 2>&1
 }
 
-
 #
 # adds the SR network configuration for both interface and subnetwork only.
 #
@@ -3301,6 +3379,8 @@
                lease_file=/var/lib/dhcpd/dhcpd.leases
        elif [ -f /var/lib/dhcp/db/dhcpd.leases ]; then
                 lease_file=/var/lib/dhcp/db/dhcpd.leases
+       elif [ -f /var/lib/dhcp3/dhcpd.leases ]; then
+               lease_file=/var/lib/dhcp3/dhcpd.leases
         fi
 
        rm -f $tmp_leases
diff -ur SUNWut.orig/sbin/utconfig SUNWut/sbin/utconfig
--- SUNWut.orig/sbin/utconfig   2009-10-20 10:44:53.000000000 +1000
+++ SUNWut/sbin/utconfig        2009-11-27 09:19:07.000000000 +1000
@@ -240,7 +240,12 @@
     # Define Linux specific LDAP variables
     # Determine which LDAP client package is installed
     #
-    LCL_PACKAGE="$(rpm -qf /usr/bin/ldapadd 2>/dev/null)"
+    . /etc/lsb-release
+    if [[ "$DISTRIB_ID" = "Ubuntu" ]] || [[ "$DISTRIB_ID" = "Debian" ]]; then
+       LCL_PACKAGE="$(dpkg-query -S /usr/bin/ldapadd | awk -F: '{print $1}' 
2>/dev/null)"
+    else
+        LCL_PACKAGE="$(rpm -qf /usr/bin/ldapadd 2>/dev/null)"
+    fi
 
     # Define Linux versions of LDAP client commands
     #
@@ -255,7 +260,11 @@
     # Define Linux specific filenames
     #
     ETCSERVICES="/etc/services"
-    DHCPCONFIG="/etc/dhcpd.conf"
+    if [[ -f "/etc/dhcp3/dhcpd.conf" ]]; then
+         DHCPCONFIG="/etc/dhcp3/dhcpd.conf"
+    else
+         DHCPCONFIG="/etc/dhcpd.conf"
+    fi
     ;;
 
   *)
diff -ur SUNWut.orig/sbin/utfwadm SUNWut/sbin/utfwadm
--- SUNWut.orig/sbin/utfwadm    2009-10-20 10:44:54.000000000 +1000
+++ SUNWut/sbin/utfwadm 2009-11-27 09:19:07.000000000 +1000
@@ -144,7 +144,7 @@
 function GetVersion  {
     FW_FILE_INPUT=${1}
     # extract the version string and make file names
-    FW_TYPE=$(od -t x1 $FW_FILE_INPUT | head -1 | awk '{ print 
sprintf("%s%s%s%s", $2,$3,$4,$5)}') 2> /dev/null
+    FW_TYPE=$(od -t x1 $FW_FILE_INPUT | head -n 1 | awk '{ print 
sprintf("%s%s%s%s", $2,$3,$4,$5)}') 2> /dev/null
     case $FW_TYPE in
        4badbeef | 8badbeef | bbadbeef) 
             $UTWHAT $FW_FILE_INPUT > ${TMPDIR}/fw_strings.$$
diff -ur SUNWut.orig/sbin/utreplica SUNWut/sbin/utreplica
--- SUNWut.orig/sbin/utreplica  2009-10-20 10:44:53.000000000 +1000
+++ SUNWut/sbin/utreplica       2009-11-27 09:19:07.000000000 +1000
@@ -78,7 +78,13 @@
                         ETCSERVICES=/etc/inet/services
                        LOGFILE="/var/adm/log/$PROGRAM_ID.${TIMESTAMP}.log"
                         ;;
-                Linux)  LCL_PACKAGE="$(rpm -qf /usr/bin/ldapadd 2>/dev/null)"
+                Linux)  . /etc/lsb-release
+                       if [[ "$DISTRIB_ID" = "Ubuntu" ]] || [[ "$DISTRIB_ID" = 
"Debian" ]]; then
+                               LCL_PACKAGE="$(dpkg-query -S /usr/bin/ldapadd | 
awk -F: '{print $1}' 2>/dev/null)"
+                       else
+                               LCL_PACKAGE="$(rpm -qf /usr/bin/ldapadd 
2>/dev/null)"
+                       fi
+ 
                         LDAPSEARCH="/usr/bin/ldapsearch -x -LLL "
                        GREP=/bin/grep
                         ETCSERVICES=/etc/services
@@ -1134,7 +1140,7 @@
                    Fatal "$server is already configured as a primary server."
                elif print $remote_rep | egrep "$SECONDARY_ID"\
                        >/dev/null 2>&1; then
-                   typeset -l tmp_host=`print "$remote_rep" | tail -1`
+                   typeset -l tmp_host=`print "$remote_rep" | tail -n 1`
                    if [ "${tmp_host}" != $HOSTNAME ]; then
                        Fatal "$server is already configured as a secondary 
server\n"\
                           "with a different primary."
@@ -1173,7 +1179,7 @@
   then
        # only check the first line of the file.  This avoids the problem of 
accidentally
        # picking up the "replica" attribute which will also have the same 
string match.
-       head -1 $DSSERV_REPLOG | grep '^replica: ' >/dev/null 2>&1
+       head -n 1 $DSSERV_REPLOG | grep '^replica: ' >/dev/null 2>&1
        if [ $? -ne 0 ]
        then
                cat /dev/null > $DSSERV_REPLOG
_______________________________________________
SunRay-Users mailing list
[email protected]
http://www.filibeto.org/mailman/listinfo/sunray-users

Reply via email to