2008-10-24 [paul] 3.6.1cvs10
[claws.git] / tools / kdeservicemenu / install.sh
index 24dcc08b5cdfded3984eb79e5ba3b64e21569cf2..8ffe42e6dcc30c336d41fc8654e6dbc190009938 100644 (file)
@@ -1,53 +1,58 @@
 #!/bin/bash
 
-PERL_SCRIPT="sylpheed-kdeservicemenu.pl"
-DESKTOP_TEMPLATE_ONE="template_sylpheed-attach-files.desktop"
-DESKTOP_ONE="sylpheed-attach-files.desktop"
-DESKTOP_TEMPLATE_TWO="template_sylpheed-compress-attach.desktop"
-DESKTOP_TWO="sylpheed-compress-attach.desktop"
+PERL_SCRIPT="claws-mail-kdeservicemenu.pl"
+DESKTOP_TEMPLATE="claws-mail-attach-files.desktop.template"
+DESKTOP="claws-mail-attach-files.desktop"
 SERVICEMENU_DIR="share/apps/konqueror/servicemenus"
 
 function check_environ {
-echo "Checking for kde-config..."
-if [ -z "$(type 'kde-config' 2> /dev/null)" ]; then
-  echo "kde-config not found, checking for \$KDEDIR to compensate..."
-  if [ ! -z $KDEDIR ]; then
-    export PATH=$PATH:$KDEDIR/bin
+echo "Checking for kde4-config..."
+if [ ! -z "$(type 'kde4-config' 2> /dev/null)" ]; then
+  echo "Found kde4-config..."
+  KDECONFIG="kde4-config"
+else
+  echo "kde4-config not found..."
+  echo "Checking for kde-config..."
+  if [ ! -z "$(type 'kde-config' 2> /dev/null)" ]; then
+      echo "Found kde-config..."
+      KDECONFIG="kde-config"
   else
-    KDEDIR=$(kdialog --title "Where is KDE installed?" --getexistingdirectory / )
-    test -z $KDEDIR && exit 1
-    export PATH=$PATH:$KDEDIR/bin
+    echo "kde-config not found..."
+    echo "asking user to find kde4-config or kde-config..."
+    KDECONFIG=$(kdialog --title "Locate kde-config or kde4-config" --getopenfilename / )
+    test -z $KDECONFIG && exit 1
   fi
 fi
-echo "Okay."
 }
 
 function install_all {
-echo "Generating $DESKTOP_ONE ..."
+echo "Generating $DESKTOP ..."
 SED_PREFIX=${PREFIX//\//\\\/}
-sed "s/SCRIPT_PATH/$SED_PREFIX\\/bin\\/$PERL_SCRIPT/" $DESKTOP_TEMPLATE_ONE > $DESKTOP_ONE
-echo "Installing $PREFIX/$SERVICEMENU_DIR/$DESKTOP_ONE"
-mv -f $DESKTOP_ONE $PREFIX/$SERVICEMENU_DIR/$DESKTOP_ONE
-echo "Generating $DESKTOP_TWO ..."
-SED_PREFIX=${PREFIX//\//\\\/}
-sed "s/SCRIPT_PATH/$SED_PREFIX\\/bin\\/$PERL_SCRIPT/" $DESKTOP_TEMPLATE_TWO > $DESKTOP_TWO
-echo "Installing $PREFIX/$SERVICEMENU_DIR/$DESKTOP_TWO"
-mv -f $DESKTOP_TWO $PREFIX/$SERVICEMENU_DIR/$DESKTOP_TWO
+sed "s/SCRIPT_PATH/$SED_PREFIX\\/bin\\/$PERL_SCRIPT/" $DESKTOP_TEMPLATE > $DESKTOP
+echo "Installing $PREFIX/$SERVICEMENU_DIR/$DESKTOP"
+mv -f $DESKTOP $PREFIX/$SERVICEMENU_DIR/$DESKTOP
+if [[ $? -ne 0 ]]
+then
+  kdialog --error "Could not complete installation."
+  exit
+fi
 echo "Installing $PREFIX/bin/$PERL_SCRIPT"
 cp -f $PERL_SCRIPT $PREFIX/bin/
 echo "Setting permissions ..."
-chmod 0644 $PREFIX/$SERVICEMENU_DIR/$DESKTOP_ONE
-chmod 0644 $PREFIX/$SERVICEMENU_DIR/$DESKTOP_TWO
+chmod 0644 $PREFIX/$SERVICEMENU_DIR/$DESKTOP
 chmod 0755 $PREFIX/bin/$PERL_SCRIPT
 echo "Finished installation."
 kdialog --msgbox "Finished installation."
 }
 
 function uninstall_all {
-echo "Removing $PREFIX/$SERVICEMENU_DIR/$DESKTOP_ONE"
-rm $PREFIX/$SERVICEMENU_DIR/$DESKTOP_ONE
-echo "Removing $PREFIX/$SERVICEMENU_DIR/$DESKTOP_TWO"
-rm $PREFIX/$SERVICEMENU_DIR/$DESKTOP_TWO
+echo "Removing $PREFIX/$SERVICEMENU_DIR/$DESKTOP"
+rm $PREFIX/$SERVICEMENU_DIR/$DESKTOP
+if [[ $? -ne 0 ]]
+then
+  kdialog --error "Could not complete uninstall."
+  exit
+fi
 echo "Removing $PREFIX/bin/$PERL_SCRIPT"
 rm $PREFIX/bin/$PERL_SCRIPT
 echo "Finished uninstall."
@@ -77,8 +82,8 @@ fi
 case $option in
   "--global" )
     check_environ
-    PREFIX=$(kde-config --prefix)
-    echo "Installing in $PREFIX ..."
+    PREFIX=$($KDECONFIG --prefix)
+    echo "Installing in $PREFIX/$SERVICEMENU_DIR ..."
     if [ "$(id -u)" != "0" ]; then
        exec kdesu "$0 --global"
     fi
@@ -86,8 +91,8 @@ case $option in
     ;;
   "--local" )
     check_environ
-    PREFIX=$(kde-config --localprefix)
-    echo "Installing in $PREFIX ..."
+    PREFIX=$($KDECONFIG --localprefix)
+    echo "Installing in $PREFIX$SERVICEMENU_DIR ..."
     if [ ! -d $PREFIX/bin ]; then
       mkdir $PREFIX/bin
     fi
@@ -98,8 +103,8 @@ case $option in
     ;;
   "--uninstall-global" )
     check_environ
-    PREFIX=$(kde-config --prefix)
-    echo "Uninstalling in $PREFIX ..."
+    PREFIX=$($KDECONFIG --prefix)
+    echo "Uninstalling from $PREFIX/$SERVICEMENU_DIR ..."
     if [ "$(id -u)" != "0" ]; then
        exec kdesu "$0 --uninstall-global"
     fi
@@ -107,8 +112,8 @@ case $option in
     ;;
   "--uninstall-local" )
     check_environ
-    PREFIX=$(kde-config --localprefix)
-    echo "Uninstalling in $PREFIX ..."
+    PREFIX=$($KDECONFIG --localprefix)
+    echo "Uninstalling from $PREFIX$SERVICEMENU_DIR ..."
     uninstall_all
     ;;
   "-h" )