#!/bin/sh NX_ROOT="/usr/NX" APPLNK_DIR="/usr/NX/share/applnk" ICONS_DIR="/usr/NX/share/icons" LINK_NAME="/NX Client for Linux" LINK_DIR_X="$APPLNK_DIR/x-nxclient" LINK_DIR_XK="$APPLNK_DIR/x-nxclient-kde" LINK_DIR_XD="$APPLNK_DIR/x-nxclient-direct" LINK_DIR_N="$APPLNK_DIR/network" LINK_DIR_NRH8="$APPLNK_DIR/network-rh8" LINK_DIR_NG="$APPLNK_DIR/network-gnome" LINK_DIR_C="$APPLNK_DIR/clean" LINK_DIR_MDK="$APPLNK_DIR/mdk" XDG_LINK_DIR_X="$APPLNK_DIR/xdg-x" XDG_LINK_DIR_XD="$APPLNK_DIR/xdg-x-direct" XDG_MENU="/etc/xdg/menus/applications-merged" XDG_MENU_KDE="/etc/xdg/menus/kde-applications-merged" XDG_DIRECTORY="/usr/share/desktop-directories" XDG_DESKTOP="/usr/share/applications" XDG_DESKTOP_NOVELL="/opt/gnome/share/applications" XDG_ICONS_DIR="/usr/share/icons/hicolor" XDG_ICONS_DIR_OPT_GNOME="/opt/gnome/share/icons/hicolor" XDG_ICONS_DIR_OPT_KDE="/opt/kde3/share/icons/hicolor" KDE_APPLNK="/usr/share/applnk/" KDE_APPLNK_RH="/usr/share/applnk-redhat/" KDE2_APPLNK_SUSE="/opt/kde2/share/applnk/" KDE3_APPLNK_SUSE="/opt/kde3/share/applnk/" GNOME_APPLNK="/usr/share/gnome/apps/" GNOME_APPLNK_SUSE="/opt/gnome/share/gnome/apps/" GNOME_APPLNK_MDK="/var/lib/gnome/Mandrake/" ALL_APPLNK_MDK="/usr/share/applnk-mdk/" XDG_MIME_DIR="/usr/share/mime/packages" XDG_MIME_LINK_DIR="$APPLNK_DIR/mime-xdg" KDE_MIME_DIR="/usr/share/mimelnk/application" KDE_SUSE_MIME_DIR="/opt/kde3/share/mimelnk/application" KDE_MIME_LINK_DIR="$APPLNK_DIR/mime-kde" GNOME_MIME_ICON_DIR1="/usr/share/icons/gnome/16x16/mimetypes" GNOME_MIME_ICON_DIR2="/usr/share/icons/gnome/22x22/mimetypes" GNOME_MIME_ICON_DIR3="/usr/share/icons/gnome/32x32/mimetypes" GNOME_MIME_ICON_DIR4="/usr/share/icons/gnome/48x48/mimetypes" GNOME_MIME_ICON_DIR_HICOLOR="/usr/share/icons/hicolor/48x48/mimetypes" GNOME_MIME_ICON1="$GNOME_MIME_ICON_DIR1/gnome-mime-application-nx-session.png" GNOME_MIME_ICON2="$GNOME_MIME_ICON_DIR2/gnome-mime-application-nx-session.png" GNOME_MIME_ICON3="$GNOME_MIME_ICON_DIR3/gnome-mime-application-nx-session.png" GNOME_MIME_ICON4="$GNOME_MIME_ICON_DIR4/gnome-mime-application-nx-session.png" GNOME_MIME_ICON_HICOLOR="$GNOME_MIME_ICON_DIR_HICOLOR/gnome-mime-application-nx-session.png" GNOME_SUSE_MIME_ICON_DIR="/opt/gnome/share/icons/gnome/48x48/mimetypes" GNOME_SUSE_MIME_ICON_DIR_HICOLOR="/opt/gnome/share/icons/hicolor/48x48/mimetypes" GNOME_SUSE_MIME_ICON="$GNOME_SUSE_MIME_ICON_DIR/gnome-mime-application-nx-session.png" GNOME_SUSE_MIME_ICON_HICOLOR="$GNOME_SUSE_MIME_ICON_DIR_HICOLOR/gnome-mime-application-nx-session.png" GNOME_MIME_LINK_ICON1="/usr/NX/share/icons/16x16/application-nx-session.png" GNOME_MIME_LINK_ICON2="/usr/NX/share/icons/22x22/application-nx-session.png" GNOME_MIME_LINK_ICON3="/usr/NX/share/icons/32x32/application-nx-session.png" GNOME_MIME_LINK_ICON4="/usr/NX/share/icons/48x48/application-nx-session.png" debug() { echo $1 >> /tmp/nxinstall.txt } debug "" debug "" debugSystem() { debug "" debug "release file:" debug "`cat $1`" debug "" debug "issue file:" debug "`cat /etc/issue`" debug "" debug "/etc/xdg dir:" if [ -d /etc/xdg ]; then debug "exist" else debug "not exist" fi debug "" debug "$XDG_MENU dir:" if [ -d $XDG_MENU ]; then debug "exist" else debug "not exist" fi debug "" debug "$XDG_MENU_KDE dir:" if [ -d $XDG_MENU_KDE ]; then debug "exist" else debug "not exist" fi debug "" debug "$XDG_DIRECTORY dir:" debug "$XDG_DIRECTORY dir:" if [ -d $XDG_DIRECTORY ]; then debug "exist" else debug "not exist" fi debug "" debug "$XDG_DESKTOP dir:" if [ -d $XDG_DESKTOP ]; then debug "exist" else debug "not exist" fi debug "" debug "$XDG_MIME_DIR dir:" if [ -d $XDG_MIME_DIR ]; then debug "exist" else debug "not exist" fi debug "" debug "$GNOME_MIME_ICON_DIR1 dir:" if [ -d $GNOME_MIME_ICON_DIR1 ]; then debug "exist" else debug "not exist" fi debug "" debug "$GNOME_MIME_ICON_DIR_HICOLOR dir:" if [ -d $GNOME_MIME_ICON_DIR_HICOLOR ]; then debug "exist" else debug "not exist" fi debug "" debug "kde-config --path apps:" debug `( kde-config --path apps || echo not_found ) 2>/dev/null ` debug "" debug "gnome-config --datadir:" debug `( gnome-config --datadir || echo not_found ) 2>/dev/null ` debug "" } doCreateLink() { if test -d "$2"; then if test -e "$2$LINK_NAME"; then rm -rf "$2$LINK_NAME" fi if test -d "$2/$3"; then if test -e "$2/$3/$LINK_NAME"; then rm -rf "$2/$3/$LINK_NAME" fi fi if test -d "$2/$3"; then debug "linking $1 to $2$3$LINK_NAME" ln -sf "$1" "$2$3$LINK_NAME" elif test -d "$2"; then debug "linking $1 to $2$LINK_NAME" ln -sf "$1" "$2$LINK_NAME" fi else debug "$2 don't exist" fi } doCreateSingleLinks() { debug "linking $1/*.desktop to $2" if test -f "$1/nxclient-gnome.desktop"; then debug " using gnome only entrys" POST="-gnome" elif test -f "$1/nxclient-kde.desktop"; then debug " using kde only entrys" POST="-kde" else debug " using normal entrys" POST="" fi if test -d "$2"; then if test -e "$2/nxclient$POST.desktop"; then rm -f "$2/nxclient$POST.desktop" fi ln -sf "$1/nxclient$POST.desktop" $2/. if test -e "$2/nxclient-wizard$POST.desktop"; then rm -f "$2/nxclient-wizard$POST.desktop" fi ln -sf "$1/nxclient-wizard$POST.desktop" $2/. if test -e "$2/nxclient-help$POST.desktop"; then rm -f "$2/nxclient-help$POST.desktop" fi ln -sf "$1/nxclient-help$POST.desktop" $2/. if test -e "$2/nxclient-admin$POST.desktop"; then rm -f "$2/nxclient-admin$POST.desktop" fi ln -sf "$1/nxclient-admin$POST.desktop" $2/. else debug "$2 don't exist" fi } doCreateXGD() { debug "linking to xdg tree" if test -d "/etc/xdg"; then if [ ! -d "$XDG_MENU" ]; then debug " fixing $XDG_MEN" mkdir -p "$XDG_MENU" fi if test -e "$XDG_MENU/nxclient.menu"; then rm -f "$XDG_MENU/nxclient.menu" fi debug " linking $2/nxclient.menu to $XDG_MENU" ln -sf "$2/nxclient.menu" $XDG_MENU/. if [ -d "$XDG_MENU_KDE" ]; then if test -e "$XDG_MENU_KDE/nxclient.menu"; then rm -f "$XDG_MENU_KDE/nxclient.menu" fi debug " linking $2/nxclient.menu to $XDG_MENU_KDE" ln -sf "$2/nxclient.menu" $XDG_MENU_KDE/. fi fi if test -d "$XDG_DIRECTORY"; then if test -e "$XDG_DIRECTORY/nxclient.directory"; then rm -f "$XDG_DIRECTORY/nxclient.directory" fi debug " linking $2/nxclient.directory to $XDG_DIRECTORY" ln -sf "$2/nxclient.directory" $XDG_DIRECTORY/. fi doCreateSingleLinks $1 $XDG_DESKTOP } doCreateIconLinks() { debug "linking to xdg icons" if [ -d "$XDG_ICONS_DIR" ]; then if [ -d "$XDG_ICONS_DIR/16x16/apps" ]; then ln -sf "$ICONS_DIR/16x16/nxclient-icon.png" "$XDG_ICONS_DIR/16x16/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/16x16/nxclient-desktop.png" "$XDG_ICONS_DIR/16x16/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/16x16/nxclient-wizard.png" "$XDG_ICONS_DIR/16x16/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/16x16/nxclient-admin.png" "$XDG_ICONS_DIR/16x16/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR/22x22/apps" ]; then ln -sf "$ICONS_DIR/22x22/nxclient-icon.png" "$XDG_ICONS_DIR/22x22/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/22x22/nxclient-desktop.png" "$XDG_ICONS_DIR/22x22/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/22x22/nxclient-wizard.png" "$XDG_ICONS_DIR/22x22/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/22x22/nxclient-admin.png" "$XDG_ICONS_DIR/22x22/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR/32x32/apps" ]; then ln -sf "$ICONS_DIR/32x32/nxclient-icon.png" "$XDG_ICONS_DIR/32x32/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/32x32/nxclient-desktop.png" "$XDG_ICONS_DIR/32x32/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/32x32/nxclient-wizard.png" "$XDG_ICONS_DIR/32x32/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/32x32/nxclient-admin.png" "$XDG_ICONS_DIR/32x32/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR/48x48/apps" ]; then ln -sf "$ICONS_DIR/48x48/nxclient-icon.png" "$XDG_ICONS_DIR/48x48/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/48x48/nxclient-desktop.png" "$XDG_ICONS_DIR/48x48/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/48x48/nxclient-wizard.png" "$XDG_ICONS_DIR/48x48/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/48x48/nxclient-admin.png" "$XDG_ICONS_DIR/48x48/apps/nxclient-admin.png" fi GTK_UPDATE_ICON_CACHE="-" for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do debug "Checking $x for gtk-update-icon-cache" if [ -x "$x/gtk-update-icon-cache" ] ; then debug "Found $x/gtk-update-icon-cache" GTK_UPDATE_ICON_CACHE="$x/gtk-update-icon-cache" fi done if [ "$GTK_UPDATE_ICON_CACHE" != "-" ] ; then debug "Running $GTK_UPDATE_ICON_CACHE -f -t \"$XDG_ICONS_DIR\"" eval '$GTK_UPDATE_ICON_CACHE -f -t "$XDG_ICONS_DIR" 2>/dev/null >/dev/null' fi fi } doCreateIconLinksOpt() { debug "linking to xdg in opt dir icons" if [ -d "$XDG_ICONS_DIR_OPT_GNOME" ]; then if [ -d "$XDG_ICONS_DIR_OPT_GNOME/16x16/apps" ]; then ln -sf "$ICONS_DIR/16x16/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_GNOME/16x16/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/16x16/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_GNOME/16x16/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/16x16/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_GNOME/16x16/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/16x16/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_GNOME/16x16/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_GNOME/22x22/apps" ]; then ln -sf "$ICONS_DIR/22x22/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_GNOME/22x22/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/22x22/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_GNOME/22x22/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/22x22/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_GNOME/22x22/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/22x22/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_GNOME/22x22/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_GNOME/32x32/apps" ]; then ln -sf "$ICONS_DIR/32x32/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_GNOME/32x32/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/32x32/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_GNOME/32x32/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/32x32/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_GNOME/32x32/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/32x32/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_GNOME/32x32/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_GNOME/48x48/apps" ]; then ln -sf "$ICONS_DIR/48x48/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_GNOME/48x48/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/48x48/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_GNOME/48x48/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/48x48/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_GNOME/48x48/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/48x48/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_GNOME/48x48/apps/nxclient-admin.png" fi GTK_UPDATE_ICON_CACHE="-" for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do debug "Checking $x for gtk-update-icon-cache" if [ -x "$x/gtk-update-icon-cache" ] ; then debug "Found $x/gtk-update-icon-cache" GTK_UPDATE_ICON_CACHE="$x/gtk-update-icon-cache" fi done if [ "$GTK_UPDATE_ICON_CACHE" != "-" ] ; then debug "Running $GTK_UPDATE_ICON_CACHE -f -t \"$XDG_ICONS_DIR_OPT_GNOME\"" eval '$GTK_UPDATE_ICON_CACHE -f -t "$XDG_ICONS_DIR_OPT_GNOME" 2>/dev/null >/dev/null' fi fi if [ -d "$XDG_ICONS_DIR_OPT_KDE" ]; then if [ -d "$XDG_ICONS_DIR_OPT_KDE/16x16/apps" ]; then ln -sf "$ICONS_DIR/16x16/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_KDE/16x16/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/16x16/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_KDE/16x16/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/16x16/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_KDE/16x16/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/16x16/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_KDE/16x16/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_KDE/22x22/apps" ]; then ln -sf "$ICONS_DIR/22x22/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_KDE/22x22/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/22x22/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_KDE/22x22/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/22x22/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_KDE/22x22/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/22x22/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_KDE/22x22/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_KDE/32x32/apps" ]; then ln -sf "$ICONS_DIR/32x32/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_KDE/32x32/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/32x32/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_KDE/32x32/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/32x32/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_KDE/32x32/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/32x32/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_KDE/32x32/apps/nxclient-admin.png" fi if [ -d "$XDG_ICONS_DIR_OPT_KDE/48x48/apps" ]; then ln -sf "$ICONS_DIR/48x48/nxclient-icon.png" "$XDG_ICONS_DIR_OPT_KDE/48x48/apps/nxclient-icon.png" ln -sf "$ICONS_DIR/48x48/nxclient-desktop.png" "$XDG_ICONS_DIR_OPT_KDE/48x48/apps/nxclient-desktop.png" ln -sf "$ICONS_DIR/48x48/nxclient-wizard.png" "$XDG_ICONS_DIR_OPT_KDE/48x48/apps/nxclient-wizard.png" ln -sf "$ICONS_DIR/48x48/nxclient-admin.png" "$XDG_ICONS_DIR_OPT_KDE/48x48/apps/nxclient-admin.png" fi # GTK_UPDATE_ICON_CACHE="-" # for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do # debug "Checking $x for gtk-update-icon-cache" # if [ -x "$x/gtk-update-icon-cache" ] ; then # debug "Found $x/gtk-update-icon-cache" # GTK_UPDATE_ICON_CACHE="$x/gtk-update-icon-cache" # fi # done # # if [ "$GTK_UPDATE_ICON_CACHE" != "-" ] ; then # debug "Running $GTK_UPDATE_ICON_CACHE -f -t \"$XDG_ICONS_DIR_OPT_KDE\"" # eval '$GTK_UPDATE_ICON_CACHE -f -t "$XDG_ICONS_DIR_OPT_KDE" 2>/dev/null >/dev/null' # fi fi } doCreateMDK() { debug "linking to mdk menu system" if test -d "/usr/lib/menu"; then if test -e "/usr/lib/menu/nxclient"; then rm -f "/usr/lib/menu/nxclient" fi debug " linking $LINK_DIR_MDK/nxclient to /usr/lib/menu/nxclient" ln -sf "$LINK_DIR_MDK/nxclient" "/usr/lib/menu/nxclient" debug " adding $LINK_DIR_MDK/menu to /usr/lib/menu/menu" if test -e "/usr/lib/menu/menu"; then NUM=`cat /usr/lib/menu/menu| grep -c "NX Client for Linux"` if [ $NUM -le 0 ]; then echo "# ?package(menu): needs=x11 section=\"Internet\" title=\"NX Client for Linux\" icon=\"/usr/NX/share/icons/48x48/nxclient-icon.png\"" >> "/usr/lib/menu/menu" fi fi fi } if [ -f /etc/mandrake-release ]; then debug "detected mandrake" debugSystem "/etc/mandrake-release" if [ -d "$ALL_APPLNK_MDK/Networking" ]; then debug " using Networking group" doCreateLink $LINK_DIR_C $ALL_APPLNK_MDK "Networking" doCreateLink $LINK_DIR_C $GNOME_APPLNK_MDK "Networking" elif [ -e "/usr/lib/menu/menu" ]; then debug " using Internet group and native mdk menu system" doCreateMDK #doCreateLink $LINK_DIR_C $ALL_APPLNK_MDK "Internet" #doCreateLink $LINK_DIR_C $GNOME_APPLNK_MDK "Internet" #doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP elif [ -d "/etc/xdg" ]; then debug " detected xdg" doCreateIconLinks doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X fi elif [ -f /etc/redhat-release ]; then debug "detected redhat" debugSystem "/etc/redhat-release" VERS=`cat /etc/redhat-release` if [ "$VERS" = "Fedora Core release 4 (Stentz)" ]; then debug " detected fedora core 4" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD elif [ "$VERS" = "Fedora Core release 3 (Heidelberg)" ]; then debug " detected fedora core 3" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD elif [ "$VERS" = "Fedora Core release 1 (Yarrow)" ]; then debug " detected fedora core 1" debug " using rh8 entrys" doCreateSingleLinks $LINK_DIR_NRH8 $XDG_DESKTOP elif [ "$VERS" = "Fedora Core release 2 (Tettnang)" ]; then debug " detected fedora core 2" debug " using rh8 entrys" doCreateSingleLinks $LINK_DIR_NRH8 $XDG_DESKTOP elif [ "$VERS" = "Red Hat Linux release 9 (Shrike)" -o "$VERS" = "Red Hat Linux release 8.0 (Psyche)" ]; then debug " detected red hat 8/9" doCreateSingleLinks $LINK_DIR_NRH8 $XDG_DESKTOP #doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X #doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP else if [ -d /etc/xdg ]; then debug " detected xdg" doCreateIconLinks doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X else if [ -d $KDE_APPLNK ]; then doCreateLink $LINK_DIR_C $KDE_APPLNK "Internet" else doCreateLink $LINK_DIR_C $KDE_APPLNK_RH "Internet" fi if [ -d $GNOME_APPLNK ]; then doCreateLink $LINK_DIR_C $GNOME_APPLNK "Internet" else doCreateSingleLinks $LINK_DIR_N $XDG_DESKTOP fi fi fi elif [ -f /etc/SuSE-release ]; then debug "detected suse" debugSystem "/etc/SuSE-release" VERS=`cat /etc/SuSE-release` if [ "$VERS" = "SuSE Linux 9.0 (i586) VERSION = 9.0" ]; then debug " detected suse 9.0" doCreateLink $LINK_DIR_C $KDE3_APPLNK_SUSE "Internet" doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP elif [ "$VERS" = "SuSE Linux 9.1 (i586) VERSION = 9.1" ]; then debug " detected suse 9.1" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP_NOVELL elif [ "$VERS" = "SuSE Linux 9.2 (i586) VERSION = 9.2" ]; then debug " detected suse 9.2" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD elif [ "$VERS" = "SuSE Linux 9.3 (i586) VERSION = 9.3" ]; then debug " detected suse 9.3" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD elif [ "$VERS" = "Novell Linux Desktop 9 (i586) VERSION = 9 RELEASE = 9" ]; then debug " detected novell 9" doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP_NOVELL else if [ -d /etc/xdg ]; then debug " detected xdg" doCreateIconLinks doCreateIconLinksOpt doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X #if [ -d "$XDG_ICONS_DIR" ]; then # debug " suse with sstandard icons dir" # doCreateIconLinks # doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X #else # debug " suse without icons dir" # doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD #fi else doCreateLink $LINK_DIR_C $KDE2_APPLNK_SUSE "Internet" doCreateLink $LINK_DIR_C $KDE3_APPLNK_SUSE "Internet" doCreateLink $LINK_DIR_C $GNOME_APPLNK_SUSE "Internet" fi fi elif [ -f /etc/debian_version ]; then debug "detected debian" debugSystem "/etc/debian_version" VERS=`cat /etc/debian_version` if [ "$VERS" = "testing/unstable" -a -f "/etc/xdg/menus/gnome-applications.menu" ]; then debug " detected debian unstable with separate gnome menu" doCreateXGD $LINK_DIR_XK $XDG_LINK_DIR_X doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP elif [ "$VERS" = "3.1" ]; then debug " detected debian/xandros 3.1" doCreateSingleLinks $LINK_DIR_N $XDG_DESKTOP #doCreateXGD $LINK_DIR_XD $XDG_LINK_DIR_XD #doCreateLink $LINK_DIR_C $KDE_APPLNK "Internet" else if [ -d /etc/xdg ]; then debug " detected xdg" doCreateIconLinks doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X else doCreateLink $LINK_DIR_C $KDE_APPLNK "Internet" doCreateLink $LINK_DIR_C $GNOME_APPLNK "Internet" fi fi else debug "failed to detect any distro" debug "using defaults" if [ -d /etc/xdg ]; then debug " detected xdg" doCreateIconLinks doCreateXGD $LINK_DIR_X $XDG_LINK_DIR_X else doCreateLink $LINK_DIR_C $KDE_APPLNK "Internet" doCreateLink $LINK_DIR_C $GNOME_APPLNK "Internet" fi fi doCreateXGD_MIME() { XDG_MIME="-" for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do debug "Checking $x for xdg-mime" if [ -x "$x/xdg-mime" ] ; then debug "Found $x/xdg-mime" XDG_MIME="$x/xdg-mime" fi done XDG_ICON_RESOURCE="-" for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do debug "Checking $x for xdg-icon-resource" if [ -x "$x/xdg-icon-resource" ] ; then debug "Found $x/xdg-icon-resource" XDG_ICON_RESOURCE="$x/xdg-icon-resource" fi done if [ "$XDG_MIME" != "-" -a "$XDG_ICON_RESOURCE" != "-" ] ; then debug "linking to xdg mime with xdg tools" debug "Running $XDG_MIME install --novendor $XDG_MIME_LINK_DIR/nomachine.xml" eval '$XDG_MIME install --novendor $XDG_MIME_LINK_DIR/nomachine.xml 2>/dev/null >/dev/null' debug "Running $XDG_ICON_RESOURCE install --context mimetypes --size 16 $GNOME_MIME_LINK_ICON1" eval '$XDG_ICON_RESOURCE install --context mimetypes --size 16 $GNOME_MIME_LINK_ICON1 2>/dev/null >/dev/null' debug "Running $XDG_ICON_RESOURCE install --context mimetypes --size 22 $GNOME_MIME_LINK_ICON2" eval '$XDG_ICON_RESOURCE install --context mimetypes --size 22 $GNOME_MIME_LINK_ICON2 2>/dev/null >/dev/null' debug "Running $XDG_ICON_RESOURCE install --context mimetypes --size 32 $GNOME_MIME_LINK_ICON3" eval '$XDG_ICON_RESOURCE install --context mimetypes --size 32 $GNOME_MIME_LINK_ICON3 2>/dev/null >/dev/null' debug "Running $XDG_ICON_RESOURCE install --context mimetypes --size 48 $GNOME_MIME_LINK_ICON4" eval '$XDG_ICON_RESOURCE install --context mimetypes --size 48 $GNOME_MIME_LINK_ICON4 2>/dev/null >/dev/null' else debug "linking to xdg mime without xdg tools" if test -d "$XDG_MIME_DIR"; then if test -e "$XDG_MIME_DIR/nomachine.xml"; then rm -f "$XDG_MIME_DIR/nomachine.xml" fi debug " linking $XDG_MIME_LINK_DIR/nomachine.xml to $XDG_MIME_DIR" ln -sf "$XDG_MIME_LINK_DIR/nomachine.xml" $XDG_MIME_DIR/. fi if test -d "$GNOME_MIME_ICON_DIR1"; then if test -e "$GNOME_MIME_ICON1"; then rm -f "$GNOME_MIME_ICON1" fi debug " linking $GNOME_MIME_LINK_ICON1 to $GNOME_MIME_ICON1" ln -sf "$GNOME_MIME_LINK_ICON1" $GNOME_MIME_ICON1 fi if test -d "$GNOME_MIME_ICON_DIR2"; then if test -e "$GNOME_MIME_ICON2"; then rm -f "$GNOME_MIME_ICON2" fi debug " linking $GNOME_MIME_LINK_ICON2 to $GNOME_MIME_ICON2" ln -sf "$GNOME_MIME_LINK_ICON2" $GNOME_MIME_ICON2 fi if test -d "$GNOME_MIME_ICON_DIR3"; then if test -e "$GNOME_MIME_ICON3"; then rm -f "$GNOME_MIME_ICON3" fi debug " linking $GNOME_MIME_LINK_ICON3 to $GNOME_MIME_ICON3" ln -sf "$GNOME_MIME_LINK_ICON3" $GNOME_MIME_ICON3 fi if test -d "$GNOME_MIME_ICON_DIR4"; then if test -e "$GNOME_MIME_ICON4"; then rm -f "$GNOME_MIME_ICON4" fi debug " linking $GNOME_MIME_LINK_ICON4 to $GNOME_MIME_ICON4" ln -sf "$GNOME_MIME_LINK_ICON4" $GNOME_MIME_ICON4 fi if test -d "$GNOME_MIME_ICON_DIR_HICOLOR"; then if test -e "$GNOME_MIME_ICON_HICOLOR"; then rm -f "$GNOME_MIME_ICON_HICOLOR" fi debug " linking $GNOME_MIME_LINK_ICON4 to $GNOME_MIME_ICON_HICOLOR" ln -sf "$GNOME_MIME_LINK_ICON4" $GNOME_MIME_ICON_HICOLOR fi if test -d "$GNOME_SUSE_MIME_ICON_DIR"; then if test -e "$GNOME_SUSE_MIME_ICON"; then rm -f "$GNOME_SUSE_MIME_ICON" fi debug " linking $GNOME_MIME_LINK_ICON4 to $GNOME_SUSE_MIME_ICON" ln -sf "$GNOME_MIME_LINK_ICON4" $GNOME_SUSE_MIME_ICON fi if test -d "$GNOME_SUSE_MIME_ICON_DIR_HICOLOR"; then if test -e "$GNOME_SUSE_MIME_ICON_HICOLOR"; then rm -f "$GNOME_SUSE_MIME_ICON_HICOLOR" fi debug " linking $GNOME_MIME_LINK_ICON4 to $GNOME_SUSE_MIME_ICON_HICOLOR" ln -sf "$GNOME_MIME_LINK_ICON4" $GNOME_SUSE_MIME_ICON_HICOLOR fi fi } doCreateKDE_MIME() { debug "linking to kde mime" if test -d "$KDE_MIME_DIR"; then if test -e "$KDE_MIME_DIR/nx-session.desktop"; then rm -f "$XDG_MIME_DIR/nx-session.desktop" fi debug " linking $KDE_MIME_LINK_DIR/nx-session.desktop to $KDE_MIME_DIR" ln -sf "$KDE_MIME_LINK_DIR/nx-session.desktop" $KDE_MIME_DIR/. elif test -d "$KDE_SUSE_MIME_DIR"; then if test -e "$KDE_SUSE_MIME_DIR/nx-session.desktop"; then rm -f "$XDG_SUSE_MIME_DIR/nx-session.desktop" fi debug " linking $KDE_MIME_LINK_DIR/nx-session.desktop to $KDE_SUSE_MIME_DIR" ln -sf "$KDE_MIME_LINK_DIR/nx-session.desktop" $KDE_SUSE_MIME_DIR/. fi } doCreateXGD_MIME doCreateKDE_MIME checkPermIPP() { if test -e "/usr/lib/cups/backend/ipp"; then permit=`stat -c %a /usr/lib/cups/backend/ipp` otherPer=`echo $permit|cut -b3`; if [ "$otherPer" != "5" ] && [ "$otherPer" != "7" ] then echo "Showing file: /usr/NX/share/documents/client/cups-info"; cat $NX_ROOT/share/documents/client/cups-info fi fi } checkPermIPP