mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	[base-files] shell-scripting: fix wrong usage of '==' operator normally the '==' is used for invoking a regex parser and is a bashism. all of the fixes just want to compare a string. the used busybox-ash will silently "ignore" this mistake, but make it portable/clean at least. this patch does not change the behavior/logic of the scripts. Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 42911
		
			
				
	
	
		
			112 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
# Copyright (C) 2014 OpenWrt.org
 | 
						|
 | 
						|
 | 
						|
do_snapshot_unpack() {
 | 
						|
	echo "- snapshot -"
 | 
						|
	mkdir /tmp/snapshot
 | 
						|
	cd /tmp/snapshot
 | 
						|
	snapshot_tool read
 | 
						|
	block=`ls block*.tar.gz 2> /dev/null`
 | 
						|
	[ -z "$block" ] || for a in $block; do
 | 
						|
		tar xzf $a -C /
 | 
						|
		rm -f $a
 | 
						|
	done
 | 
						|
}
 | 
						|
 | 
						|
do_config_unpack() {
 | 
						|
	echo "- config -"
 | 
						|
	snapshot_tool config_read
 | 
						|
	[ -f /tmp/config.tar.gz ] && {
 | 
						|
		tar xzf /tmp/config.tar.gz -C /
 | 
						|
		rm -f /tmp/config.tar.gz
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
do_snapshot_push() {
 | 
						|
	cd /volatile
 | 
						|
	tar czf /tmp/snapshot.tar.gz *
 | 
						|
	snapshot_tool write
 | 
						|
	reboot
 | 
						|
}
 | 
						|
 | 
						|
do_config_push() {
 | 
						|
	cd /volatile
 | 
						|
	tar czf /tmp/config.tar.gz *
 | 
						|
	snapshot_tool config_write
 | 
						|
}
 | 
						|
 | 
						|
do_snapshot_upgrade() {
 | 
						|
	opkg update
 | 
						|
	[ $? -eq 0 ] || exit 1
 | 
						|
 | 
						|
	opkg list-upgradable
 | 
						|
	[ $? -eq 0 ] || exit 2
 | 
						|
	
 | 
						|
	UPDATES=`opkg list-upgradable | cut -d" " -f1`
 | 
						|
	[ -z "${UPDATES}" ] && exit 0
 | 
						|
 | 
						|
	opkg upgrade ${UPDATES}
 | 
						|
	[ $? -eq 0 ] || exit 3
 | 
						|
 | 
						|
	do_snapshot_push
 | 
						|
	sleep 5
 | 
						|
	reboot
 | 
						|
	sleep 10
 | 
						|
}
 | 
						|
 | 
						|
do_convert_jffs2() {
 | 
						|
	snapshot_tool write
 | 
						|
	sleep 2
 | 
						|
	reboot -f
 | 
						|
}
 | 
						|
 | 
						|
do_convert() {
 | 
						|
	. /lib/functions.sh
 | 
						|
	. /lib/upgrade/common.sh
 | 
						|
	ubus call system upgrade
 | 
						|
	touch /tmp/sysupgrade
 | 
						|
	cd /overlay
 | 
						|
	tar czf /tmp/snapshot.tar.gz *
 | 
						|
	kill_remaining TERM
 | 
						|
	sleep 3
 | 
						|
	kill_remaining KILL
 | 
						|
	run_ramfs '. /sbin/snapshot; do_convert_jffs2'
 | 
						|
}
 | 
						|
 | 
						|
[ -n "$(cat /proc/mounts|grep /overlay|grep jffs2)" ] && {
 | 
						|
case $1 in
 | 
						|
convert)
 | 
						|
	do_convert
 | 
						|
	;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
[ -d /volatile ] && {
 | 
						|
case $1 in
 | 
						|
push)
 | 
						|
	do_snapshot_push
 | 
						|
	;;
 | 
						|
config)
 | 
						|
	do_config_push
 | 
						|
	;;
 | 
						|
upgrade)
 | 
						|
	do_snapshot_upgrade
 | 
						|
	;;
 | 
						|
info)
 | 
						|
	snapshot_tool info
 | 
						|
	;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
[ "$SNAPSHOT" = "magic" ] && {
 | 
						|
case $1 in
 | 
						|
unpack)
 | 
						|
	do_snapshot_unpack
 | 
						|
	;;
 | 
						|
config_unpack)
 | 
						|
	do_config_unpack
 | 
						|
	;;
 | 
						|
esac
 | 
						|
}
 |