Sophie

Sophie

distrib > Mandriva > cs4.0 > x86_64 > by-pkgid > 805cd6f7dcf376bc26a2dbe23973c3cb > scriptlet

nxclient-2.0.0-98.i386.rpm

PREIN

/bin/sh
#!/bin/sh

APPLNK_DIR="/usr/NX/share/applnk"
LINK_NAME="/NX Client for Linux"

LINK_DIR_X="$APPLNK_DIR/x-nxclient"
LINK_DIR_XK="$APPLNK_DIR/x-nxclient-kde"
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"

XDK_LINK_DIR_X="$APPLNK_DIR/xdg-x"
XDG_MENU="/etc/xdg/menus/applications-merged"
XDG_DIRECTORY="/usr/share/desktop-directories"
XDG_DESKTOP="/usr/share/applications"
XDG_DESKTOP_NOVELL="/opt/gnome/share/applications"

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"
XDK_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_DIR="/usr/share/icons/gnome/48x48/mimetypes"
GNOME_MIME_ICON="$GNOME_MIME_ICON_DIR/gnome-mime-application-nx-session.png"
GNOME_SUSE_MIME_ICON_DIR="/opt/gnome/share/icons/gnome/48x48/mimetypes"
GNOME_SUSE_MIME_ICON="$GNOME_SUSE_MIME_ICON_DIR/gnome-mime-application-nx-session.png"
GNOME_MIME_LINK_ICON="/usr/NX/share/icons/nx-desktop.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_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_DIR dir:"
  if [ -d $GNOME_MIME_ICON_DIR ]; 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/.
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

}

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"
 
   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/nx.png\"" >> "/usr/lib/menu/menu"
   fi
fi

}

if [ -f /etc/mandrake-release ]; then
  debug "detected mandrake"
  debugSystem "/etc/mandrake-release"

#  if [ -d /etc/xdg ]; then
#  debug "  detected xdg"
#    doCreateXGD $LINK_DIR_X $XDK_LINK_DIR_X
#  else
  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"
  else
    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
  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_X $XDK_LINK_DIR_X
  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 $XDK_LINK_DIR_X
    #doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP
  else
    if [ -d /etc/xdg ]; then
    debug "  detected xdg"
      doCreateXGD $LINK_DIR_X $XDK_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_X $XDK_LINK_DIR_X
    doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP_NOVELL
  elif [ "$VERS" = "Novell Linux Desktop 9 (i586)
VERSION = 9
RELEASE = 9" ]; then
    debug "  detected novell 9"
      doCreateXGD $LINK_DIR_X $XDK_LINK_DIR_X
      doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP_NOVELL
  else
    if [ -d /etc/xdg ]; then
      debug "  detected xdg"
      doCreateXGD $LINK_DIR_X $XDK_LINK_DIR_X
    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 $XDK_LINK_DIR_X
    doCreateSingleLinks $LINK_DIR_NG $XDG_DESKTOP
  else
    if [ -d /etc/xdg ]; then
      debug "  detected xdg"
      doCreateXGD $LINK_DIR_X $XDK_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"
    doCreateXGD $LINK_DIR_X $XDK_LINK_DIR_X
  else
    doCreateLink $LINK_DIR_C $KDE_APPLNK "Internet"
    doCreateLink $LINK_DIR_C $GNOME_APPLNK "Internet"
  fi
fi

doCreateXGD_MIME()
{
 
debug "linking to xdg mime"

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 $XDK_MIME_LINK_DIR/nomachine.xml to $XDG_MIME_DIR"
  ln -sf "$XDK_MIME_LINK_DIR/nomachine.xml" $XDG_MIME_DIR/.
fi

if test -d "$GNOME_MIME_ICON_DIR"; then
  if test -e "$GNOME_MIME_ICON"; then
    rm -f "$GNOME_MIME_ICON"
  fi
  debug "  linking $GNOME_MIME_LINK_ICON to $GNOME_MIME_ICON"
  ln -sf "$GNOME_MIME_LINK_ICON" $GNOME_MIME_ICON

elif 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_ICON to $GNOME_SUSE_MIME_ICON"
  ln -sf "$GNOME_MIME_LINK_ICON" $GNOME_SUSE_MIME_ICON
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

POSTUN

/bin/sh
#!/bin/sh

if test -e /usr/NX/bin/nxclient; then
  exit 0;
fi

LINK_NAME="/NX Client for Linux"

doRemoveLink()
{
  if test -L "$1$LINK_NAME"; then
    rm -rf "$1$LINK_NAME"
  fi

  if test -L "$1/Internet/$LINK_NAME"; then
    rm -rf "$1/Internet/$LINK_NAME"
  fi

  if test -L "$1/Networking/$LINK_NAME"; then
    rm -rf "$1/Networking/$LINK_NAME"
  fi


}

doRemoveSingleLinks()
{
  if test -d "$1"; then
    rm -f "$1/nxclient.desktop"
    rm -f "$1/nxclient-wizard.desktop"
    rm -f "$1/nxclient-help.desktop"
    rm -f "$1/nxclient-admin.desktop"

    rm -f "$1/nxclient-gnome.desktop"
    rm -f "$1/nxclient-wizard-gnome.desktop"
    rm -f "$1/nxclient-help-gnome.desktop"
    rm -f "$1/nxclient-admin-gnome.desktop"

    rm -f "$1/nxclient-kde.desktop"
    rm -f "$1/nxclient-wizard-kde.desktop"
    rm -f "$1/nxclient-help-kde.desktop"
    rm -f "$1/nxclient-admin-kde.desktop"
  fi 
}

doRemoveXDG()
{
XDG_MENU="/etc/xdg/menus/applications-merged"
XDG_DIRECTORY="/usr/share/desktop-directories"
XDG_DESKTOP="/usr/share/applications"
XDG_DESKTOP_NOVELL="/opt/gnome/share/applications"

if test -L "$XDG_MENU/nxclient.menu"; then
  rm -rf "$XDG_MENU/nxclient.menu"
fi

if test -L "$XDG_DIRECTORY/nxclient.directory"; then
  rm -rf "$XDG_DIRECTORY/nxclient.directory"
fi

doRemoveSingleLinks $XDG_DESKTOP
doRemoveSingleLinks $XDG_DESKTOP_NOVELL
}

doRemoveMDK()
{
if test -L "/usr/lib/menu/nxclient"; then
  rm -rf "/usr/lib/menu/nxclient"
fi
}

doRemoveMIME()
{
XDG_MIME_DIR="/usr/share/mime/packages"
GNOME_MIME_ICON="/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-application-nx-session.png"
GNOME_SUSE_MIME_ICON="/opt/gnome/share/icons/gnome/48x48/mimetypes/gnome-mime-application-nx-session.png"
KDE_MIME_DIR="/usr/share/mimelnk/application"
KDE_SUSE_MIME_DIR="/opt/kde3/share/mimelnk/application"

if test -L "$XDG_MIME_DIR/nomachine.xml"; then
  rm -f "$XDG_MIME_DIR/nomachine.xml"
fi

if test -L "$GNOME_MIME_ICON"; then
  rm -f "$GNOME_MIME_ICON"
fi

if test -L "$GNOME_SUSE_MIME_ICON"; then
  rm -f "$GNOME_SUSE_MIME_ICON"
fi

if test -L "$KDE_MIME_DIR/nx-session.desktop"; then
  rm -f "$KDE_MIME_DIR/nx-session.desktop"
fi

if test -L "$KDE_SUSE_MIME_DIR/nx-session.desktop"; then
  rm -f "$KDE_SUSE_MIME_DIR/nx-session.desktop"
fi
}


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/"


doRemoveLink "$KDE_APPLNK"
doRemoveLink "$KDE_APPLNK_RH"
doRemoveLink "$KDE2_APPLNK_SUSE"
doRemoveLink "$KDE3_APPLNK_SUSE"
doRemoveLink "$GNOME_APPLNK"
doRemoveLink "$GNOME_APPLNK_SUSE"
doRemoveLink "$GNOME_APPLNK_MDK"
doRemoveLink "$ALL_APPLNK_MDK"

doRemoveXDG

doRemoveMDK

doRemoveMIME