#!/bin/sh
# script to upgrade user files to adapt the newest version 
# of the Vine Linux


LOG=$HOME/upgrade-log

Update(){ # checkstr, oldstr, newstr, target
if [ -f $4 ]; then
   TEST=`grep "$1" $4 2>/dev/null`
   if [ -n "${TEST}" ]; then
      echo "replace $2 as $3 in $4" >> ${LOG}
      cp $4 $4.new
      sed -e 's|'"$2"'|'"$3"'|' $4.new > $4
      rm $4.new
      return 0
   fi
fi
return 1
}

chkMD5Update(){ # target md5sum newguy
[ ! -f $1 ] && return 0

CHECK=`md5sum $1 | cut -f 1 -d " "`
if [ "${CHECK}" = "$2" ]; then
    cp $3 ${HOME}
    echo "$1 was replaced to new one for Vine Linux 2.1" >>${LOG}
    return 0
else
    return 1
fi
}

###########################################################################3

#[ -f $LOG ] && rm $LOG

###########################################################################3
##### 2.0 -> 2.1

### emacs-color.el

TARGET=${HOME}/.emacs-color.el
MD5SUM="c4309168d638fc62262d5e4ebe8760fd"
NEW=/etc/skel/.emacs-color.el

chkMD5Update $TARGET $MD5SUM $NEW || (
   TEST=`grep "Version: 10.0$" ${TARGET} 2>/dev/null`
   if [ -n "${TEST}" ]; then
	mv ${TARGET} ${TARGET}.vinesave
	cp ${NEW} ${HOME}
	echo "Your .emacs-color.el seems to be old!" >>${LOG}
	echo "It was replaced to new one." >>${LOG}
	echo "Old one was saved as ~/emacs-color.el.vinesave " >>${LOG}
   fi
)

TARGET=${HOME}/.Xdefaults
MD5SUM="ffbf1285e65c3a98d14521e6e2d4d709"
NEW=/etc/skel/.Xdefaults
chkMD5Update $TARGET $MD5SUM $NEW

### bashrc
TARGET=${HOME}/.bashrc
MD5SUM="a1d1b54732257d96b9219af0c7f1fc7a"
NEW=/etc/skel/.bashrc
chkMD5Update $TARGET $MD5SUM $NEW

### cshrc
TARGET=${HOME}/.cshrc
MD5SUM="e353c9ee3971539acdfb4a8769f34c66"
NEW=/etc/skel/.cshrc
chkMD5Update $TARGET $MD5SUM $NEW

# imelib -> vinelib
TARGET=${HOME}/.bashrc
Update "imelib" \
	"imelib" \
	"vinelib" \
       $TARGET && (
       echo "Your ~/.bashrc seems to be old." >> ${LOG}
       echo "Please compare it with /etc/skel/.bashrc and update it!" >> ${LOG}
)

# vmail -> sylpheed
if [ -d ${HOME}/.gnome/panel.d/ ]; then
    TARGET=`find ${HOME}/.gnome/panel.d/ -type f`
    if [ -n "${TARGET}" ]; then
	for i in ${TARGET}; do
	    Update "vmail" \
		"vmail" \
		"sylpheed" \
		$i
	done
    fi
fi

####################
unset TARGET