#!/bin/sh

if [ -d /var/ftp/pub/target ];then   
	echo "FTP or USB Upgrade Now ..."
	exit 1
fi

if [ -f /var/ftp/pub/target.tgz ]; then   
	cd /var/ftp/pub
	tar -xvf  /var/ftp/pub/target.tgz	
	chmod 777 -R /var/ftp/pub/target

	if [ -f /var/ftp/pub/target/main/forceupgrade ];then
		if [ -f /var/ftp/pub/flag ];then
			echo "forceupgrade is new!"
		else
			touch /var/ftp/pub/flag
			mv /var/ftp/pub/target/main/forceupgrade  /bin
			chmod 777 /bin/forceupgrade
			rm -r -f /var/ftp/pub/target
			/bin/forceupgrade
			exit 1
		fi
	fi
		
	if [ ! -d /usr/local/apache ]; then   
		mkdir /usr/local/apache 
        fi 
         
        	
	if [ -f /var/ftp/pub/target/main/CB7102.bin ];then
                if [ -f /var/ftp/pub/target/main/upgrade ];then
			mv /var/ftp/pub/target/main/upgrade  /bin
			chmod 777 /bin/upgrade
		fi  

                if [ -f /var/ftp/pub/target/main/master_upgrade ];then
			mv /var/ftp/pub/target/main/master_upgrade  /bin
			chmod 777 /bin/master_upgrade
		fi

		if [ -f /var/ftp/pub/target/main/webupgrade ];then
			mv /var/ftp/pub/target/main/webupgrade /bin
			chmod 777 /bin/webupgrade
		fi

		fn1=/root/version
		fn2=/var/ftp/pub/target/main/version			
		cat $fn1 | while read LINE1
		do
		device1=${LINE1:0:5}
		cat $fn2 | while read LINE2
		do
		device2=${LINE2:0:5}
		if [ $device1 == $device2 ];	then	
			echo "CB7102.bin  Upgrade  . . ."
			touch /var/ftp/pub/upgradeflag
			rm /root/CB7102.bin
			mv /var/ftp/pub/target/main/*  /root/
			cp /usr/local/apache/htdocs/.passwd	/root/
			cp /usr/local/apache/htdocs/img/Logo_1.jpg /root/
			rm -rf /home/httpd/cgi-bin/*
			if [ -d /usr/local/apache/preset ]; then
				rm -rf /var/ftp/pub/target/web/apache/preset
				cp -r /usr/local/apache/preset /var/ftp/pub/target/web/apache/		
			fi
			rm -rf /usr/local/apache/*
			cp -rf /var/ftp/pub/target/web/apache/*  /usr/local/apache
		        mv /root/.passwd	/usr/local/apache/htdocs/.passwd
			mv /root/Logo_1.jpg /usr/local/apache/htdocs/img/
		     	mv /var/ftp/pub/target/config/rcS  /etc/init.d/	
		     	mv /var/ftp/pub/target/config/libiconv.so.0  /lib/
		        mv /var/ftp/pub/target/snmp/snmpd /usr/sbin/
                        mv /var/ftp/pub/target/snmp/snmpd.conf /usr/local/share/snmp/
			mv /root/mount-usb.sh /sbin/mount-usb.sh
		        chmod 777 /lib/libiconv.so.0
			chmod -R 777 /usr/local/apache/   
		        chmod 777 /usr/sbin/snmpd
		        chmod 777 /usr/local/share/snmp/snmpd.conf
                       
		else
			rm -r -f /var/ftp/pub/*
			echo "Upgrade file not match the machine type!"
			exit 1
		fi
		done
		done
	else
		rm -r -f /var/ftp/pub/*
	fi #endif CB7102.bin
	usleep 100
	if [ -f /var/ftp/pub/target/modules/load_modules.sh ];then
		echo "Modules is Upgrade Now ..."
		rm /lib/modules/2.6.23.17_stm23_A26-pdk7105/*
		usleep 100
		mv /var/ftp/pub/target/modules/* /lib/modules/2.6.23.17_stm23_A26-pdk7105/
		touch /var/ftp/pub/upgradeflag
	fi #endif load_modules.sh
	usleep 100
	if [ -f /var/ftp/pub/target/kernel/vmlinux.ub ];then
		echo "Kernel is Upgrade Now . . ."
  		flash_eraseall  /dev/mtd1
		usleep 200
		flashcp /var/ftp/pub/target/kernel/vmlinux.ub  /dev/mtd1
		touch /var/ftp/pub/upgradeflag
	fi #endif vmlinux.ub

	if [ -f /root/upgrade ];then
		rm /root/upgrade
	fi
	if [ -f /root/forceupgrade ];then
		rm /root/forceupgrade
	fi	
	if [ -f /var/ftp/pub/upgradeflag ];then
		reboot
	else
		rm -r -f /var/ftp/pub/*
	fi

elif [ -b /dev/sda ]; then
	if [ -f /mnt/target.tgz ]; then
		tar -xvf /mnt/target.tgz -C /var/ftp/pub/
		chmod 777 -R /var/ftp/pub/target
		if [ -f /var/ftp/pub/target/main/forceupgrade ];then
			if [ -f /var/ftp/pub/flag ];then
				echo "force:upgrade is new!"
			else
				touch /var/ftp/pub/flag
				mv /var/ftp/pub/target/main/forceupgrade  /bin
				chmod 777 /bin/forceupgrade
				rm -r -f /var/ftp/pub/target
				/bin/forceupgrade
				exit 1
			fi
		fi
		if [ -f /var/ftp/pub/target/main/CB7102.bin ];then
			echo "CB7102 Upgrade From USB device ..."
			if [ -f /var/ftp/pub/target/main/forceupgrade ];then
				mv /var/ftp/pub/target/main/forceupgrade  /bin
				chmod 777 /bin/forceupgrade
			fi
			if [ -f /var/ftp/pub/target/main/upgrade ];then
				mv /var/ftp/pub/target/main/upgrade /bin
				chmod 777 /bin/upgrade
			fi
			if [ -f /var/ftp/pub/target/main/webupgrade ];then
				mv /var/ftp/pub/target/main/webupgrade /bin
				chmod 777 /bin/webupgrade
			fi
			echo "CB7102 Upgrade From USB device finish..."
			fn1=/root/version
			fn2=/var/ftp/pub/target/main/version			
			cat $fn1 | while read LINE1
			do
			device1=${LINE1:0:5}
			cat $fn2 | while read LINE2
			do
			device2=${LINE2:0:5}
			if [ $device1 == $device2 ];	then	
				echo "CB7102.bin  Upgrade  . . ."
				touch /var/ftp/pub/upgradeflag
				rm /root/CB7102.bin
			        mv /var/ftp/pub/target/main/*  /root/
			        cp /usr/local/apache/htdocs/.passwd	/root/
			        cp /usr/local/apache/htdocs/img/Logo_1.jpg /root/
			        rm -rf /home/httpd/cgi-bin/*
			         if [ -d /usr/local/apache/preset ]; then
				         rm -rf /var/ftp/pub/target/web/apache/preset
				         cp -r /usr/local/apache/preset /var/ftp/pub/target/web/apache/		
			        fi
			        rm -rf /usr/local/apache/*
			        cp -rf /var/ftp/pub/target/web/apache/*  /usr/local/apache
				mv /root/.passwd	/usr/local/apache/htdocs/.passwd
				mv /root/Logo_1.jpg /usr/local/apache/htdocs/img/
		     	        mv /var/ftp/pub/target/config/rcS  /etc/init.d/	
		     	        mv /var/ftp/pub/target/config/libiconv.so.0  /lib/
		                mv /var/ftp/pub/target/snmp/snmpd /usr/sbin/
                                mv /var/ftp/pub/target/snmp/snmpd.conf /usr/local/share/snmp/
				mv /root/mount-usb.sh /sbin/mount-usb.sh
		                chmod 777 /lib/libiconv.so.0
	                        chmod -R 777 /usr/local/apache/ 
		                chmod 777 /usr/sbin/snmpd
		                chmod 777 /usr/local/share/snmp/snmpd.conf
                               
			else
				rm -r -f /var/ftp/pub/*
				echo "Upgrade file not match the machine type!"
				exit 1
			fi
			done
			done
		else 
			rm -r -f /var/ftp/pub/*
		fi #endif CB7102.bin
		if [ -f /var/ftp/pub/target/modules/load_modules.sh ]; then
			echo "Modules is Upgrade Now ..."
			rm /lib/modules/2.6.23.17_stm23_A26-pdk7105/*
			usleep 100
			mv /var/ftp/pub/target/modules/* /lib/modules/2.6.23.17_stm23_A26-pdk7105/
			touch /var/ftp/pub/upgradeflag
		fi #endif load_modules.sh
		if [ -f /var/ftp/pub/target/kernel/vmlinux.ub ];then
			echo "Kernel is Upgrade Now ..."
			flash_eraseall  /dev/mtd1
			usleep 200
			flashcp /var/ftp/pub/target/kernel/vmlinux.ub  /dev/mtd1
			touch /var/ftp/pub/upgradeflag
		fi #endif vmlinux.ub
		
		if [ -f /root/upgrade ];then
			rm /root/upgrade
		fi
		if [ -f /root/forceupgrade ];then
			rm /root/forceupgrade
		fi
		if [ -f /var/ftp/pub/upgradeflag ];then
			reboot
		else
			rm -r -f /var/ftp/pub/*
		fi
	else #endif target.tgz
		echo " USB device is loading Now , Please wait a moment !"	
	fi
elif [ -b /dev/sdb ]; then
	if [ -f /mnt/target.tgz ]; then
		tar -xvf /mnt/target.tgz -C /var/ftp/pub/
		chmod 777 -R /var/ftp/pub/target
		if [ -f /var/ftp/pub/target/main/forceupgrade ];then
			if [ -f /var/ftp/pub/flag ];then
				echo "force:upgrade is new!"
			else
				touch /var/ftp/pub/flag
				mv /var/ftp/pub/target/main/forceupgrade  /bin
				chmod 777 /bin/forceupgrade
				rm -r -f /var/ftp/pub/target
				/bin/forceupgrade
				exit 1
			fi
		fi
		if [ -f /var/ftp/pub/target/main/CB7102.bin ];then
			echo "CB7102 Upgrade From USB device ..."
			if [ -f /var/ftp/pub/target/main/forceupgrade ];then
				mv /var/ftp/pub/target/main/forceupgrade  /bin
				chmod 777 /bin/forceupgrade
			fi
			if [ -f /var/ftp/pub/target/main/upgrade ];then
				mv /var/ftp/pub/target/main/upgrade /bin
				chmod 777 /bin/upgrade
			fi
			if [ -f /var/ftp/pub/target/main/webupgrade ];then
				mv /var/ftp/pub/target/main/webupgrade /bin
				chmod 777 /bin/webupgrade
			fi
			echo "CB7102 Upgrade From USB device finish..."
			fn1=/root/version
			fn2=/var/ftp/pub/target/main/version			
			cat $fn1 | while read LINE1
			do
			device1=${LINE1:0:5}
			cat $fn2 | while read LINE2
			do
			device2=${LINE2:0:5}
			if [ $device1 == $device2 ];	then	
				echo "CB7102.bin  Upgrade  . . ."
				rm /root/CB7102.bin
			mv /var/ftp/pub/target/main/*  /root/
			cp /usr/local/apache/htdocs/.passwd	/root/
			cp /usr/local/apache/htdocs/img/Logo_1.jpg /root/
			rm -rf /home/httpd/cgi-bin/*
			if [ -d /usr/local/apache/preset ]; then
				rm -rf /var/ftp/pub/target/web/apache/preset
				cp -r /usr/local/apache/preset /var/ftp/pub/target/web/apache/		
			fi
			rm -rf /usr/local/apache/*
			cp -rf /var/ftp/pub/target/web/apache/*  /usr/local/apache
					 mv /root/.passwd	/usr/local/apache/htdocs/.passwd
					 mv /root/Logo_1.jpg /usr/local/apache/htdocs/img/
		     	mv /var/ftp/pub/target/config/rcS  /etc/init.d/	
		     	mv /var/ftp/pub/target/config/libiconv.so.0  /lib/
		        mv /var/ftp/pub/target/snmp/snmpd /usr/sbin/
                        mv /var/ftp/pub/target/snmp/snmpd.conf /usr/local/share/snmp/
			mv /root/mount-usb.sh /sbin/mount-usb.sh
		        chmod 777 /lib/libiconv.so.0		    
                        chmod -R 777 /usr/local/apache/
		        chmod 777 /usr/sbin/snmpd
		        chmod 777 /usr/local/share/snmp/snmpd.conf
			
				touch /var/ftp/pub/upgradeflag
			else
				rm -r -f /var/ftp/pub/*
				echo "Upgrade file not match the machine type!"
				exit 1
			fi
			done
			done
		else 
			rm -r -f /var/ftp/pub/*
		fi #endif CB7102.bin
		if [ -f /var/ftp/pub/target/modules/load_modules.sh ]; then
			echo "Modules is Upgrade Now ..."
			rm /lib/modules/2.6.23.17_stm23_A26-pdk7105/*
			usleep 100
			mv /var/ftp/pub/target/modules/* /lib/modules/2.6.23.17_stm23_A26-pdk7105/
			touch /var/ftp/pub/upgradeflag
		fi #endif load_modules.sh
		if [ -f /var/ftp/pub/target/kernel/vmlinux.ub ];then
			echo "Kernel is Upgrade Now ..."
			flash_eraseall  /dev/mtd1
			usleep 200
			flashcp /var/ftp/pub/target/kernel/vmlinux.ub  /dev/mtd1
			touch /var/ftp/pub/upgradeflag
		fi #endif vmlinux.ub
		
		if [ -f /root/upgrade ];then
			rm /root/upgrade
		fi
		if [ -f /root/forceupgrade ];then
			rm /root/forceupgrade
		fi
		if [ -f /var/ftp/pub/upgradeflag ];then
			reboot
		else
			rm -r -f /var/ftp/pub/*
		fi
	else #endif target.tgz
		echo " USB device is loading Now , Please wait a moment !"	
	fi
else
	echo "No upgrade file Or Please check upgrade file !"	
fi

