nxclient/debian/postinst
2025-08-09 09:36:33 +02:00

716 lines
25 KiB
Bash
Executable File

#!/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