Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://kdebase-3.4.0-kdeorg_1cl.src.rpm:21382107/kde2to3  info  downloads

#!/bin/bash

# Author: Aurelio "Verde" Jargas

Exec='Exec='
Url='URL='
tmp=`mktemp /tmp/startkde.XXXXXX`
markfile='.kde/share/config/conectiva'
DEBUG=0

[ -e "$markfile" ] && exit 0                    # already done

debug(){ [ "$DEBUG" == '1' ] && echo '   *** '$*; }

### Desktop/*.kdelnk routine
#
grep -H "^$Exec" Desktop/*.kdelnk | sed "s/:$Exec/ /" |
while read FILE PROG; do
  PROG_ORIG=$PROG
  [ "$DEBUG" -eq 1 ] && echo "$FILE ($PROG)";
  found=
  
  # first try to find by absolute path, case not found, basename it
  if [ "`echo $PROG | cut -c1`" == '/' ]; then
    if [ -e "$PROG" ];
	then found="$PROG"; debug "FOUND by absolute PATH!"
	else PROG=`basename $PROG`; debug "NOT found by absolute PATH"
	fi  
  fi
  
  # then try to find on $PATH
  if ! [ "$found" ]; then
    found=`type -path $PROG`;
    [ "$found" ] && { found="$PROG"; debug "found on PATH!" ; }
  fi
	
  # and finally, try KDEDIR
  if ! [ "$found" ]; then
    found="$KDEDIR/bin/$PROG"                   # try it on KDEDIR
	[ -e "$found" ] || found=''                 # unset case not found
  fi
  
  # case found and different from original PROG setting, update it 
  if [ "$found" -a "$found" != "$PROG_ORIG" ]; then
    debug "FOUND on $found. i'll update it."
	cp $FILE $tmp; sed "/^$Exec/s,=.*,=$found," $tmp > $FILE 
  fi
done


debug "---------------------------------------"


### .kde/share/config/kickerrc routine
#
FILE='.kde/share/config/kickerrc'
SEDSCRIPT=''
sed -n "s/^$Url//p" $FILE > $tmp # redir to a file to avoid IFS problems
while read PROG; do
  [ "$DEBUG"  -eq 1 ] && echo $PROG
  if [ -e "$PROG" ]; then      # is file
	debug "FOUND!"
    if [ -L "$PROG" ]; then    # and is a symlink
	  debug "FOUND! is a synlink"
	fi
  elif [ -e "$KDEDIR${PROG#/usr}" ]; then  # found on KDEDIR, must update
    SEDSCRIPT="$SEDSCRIPT s,^$Url$PROG,$Url$KDEDIR${PROG#/usr}, ;"
  fi	
done < $tmp

if [ "$SEDSCRIPT" ]; then
  cp $FILE $tmp; sed -e "$SEDSCRIPT" $tmp > $FILE
  debug "$FILE updated."
fi

echo '* kde2 -> kde3 routine done.' > $markfile
[ -f "$tmp" ] && rm -f $tmp
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2008 IT MARUHN