base-files: move stage2 upgrade to separated file
do_upgrade_stage2() isn't really any common code. It isn't used anywhere
except for /sbin/sysupgrade that passes it to the stage2.
Moving its code to separated file also simplifies COMMAND variable.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit f7edd94a65)
			
			
This commit is contained in:
		 Rafał Miłecki
					Rafał Miłecki
				
			
				
					committed by
					
						 Jo-Philipp Wich
						Jo-Philipp Wich
					
				
			
			
				
	
			
			
			 Jo-Philipp Wich
						Jo-Philipp Wich
					
				
			
						parent
						
							0f4a3be2f4
						
					
				
				
					commit
					d6840e7b44
				
			| @@ -225,25 +225,3 @@ default_do_upgrade() { | |||||||
| 	fi | 	fi | ||||||
| 	[ $? -ne 0 ] && exit 1 | 	[ $? -ne 0 ] && exit 1 | ||||||
| } | } | ||||||
|  |  | ||||||
| do_upgrade_stage2() { |  | ||||||
| 	v "Performing system upgrade..." |  | ||||||
| 	if type 'platform_do_upgrade' >/dev/null 2>/dev/null; then |  | ||||||
| 		platform_do_upgrade "$IMAGE" |  | ||||||
| 	else |  | ||||||
| 		default_do_upgrade "$IMAGE" |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then |  | ||||||
| 		platform_copy_config |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	v "Upgrade completed" |  | ||||||
| 	sleep 1 |  | ||||||
|  |  | ||||||
| 	v "Rebooting system..." |  | ||||||
| 	umount -a |  | ||||||
| 	reboot -f |  | ||||||
| 	sleep 5 |  | ||||||
| 	echo b 2>/dev/null >/proc/sysrq-trigger |  | ||||||
| } |  | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								package/base-files/files/lib/upgrade/do_stage2
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								package/base-files/files/lib/upgrade/do_stage2
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | . /lib/functions.sh | ||||||
|  |  | ||||||
|  | include /lib/upgrade | ||||||
|  |  | ||||||
|  | v "Performing system upgrade..." | ||||||
|  | if type 'platform_do_upgrade' >/dev/null 2>/dev/null; then | ||||||
|  | 	platform_do_upgrade "$IMAGE" | ||||||
|  | else | ||||||
|  | 	default_do_upgrade "$IMAGE" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then | ||||||
|  | 	platform_copy_config | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | v "Upgrade completed" | ||||||
|  | sleep 1 | ||||||
|  |  | ||||||
|  | v "Rebooting system..." | ||||||
|  | umount -a | ||||||
|  | reboot -f | ||||||
|  | sleep 5 | ||||||
|  | echo b 2>/dev/null >/proc/sysrq-trigger | ||||||
| @@ -59,7 +59,7 @@ switch_to_ramfs() { | |||||||
| 		local file="$(which "$binary" 2>/dev/null)" | 		local file="$(which "$binary" 2>/dev/null)" | ||||||
| 		[ -n "$file" ] && install_bin "$file" | 		[ -n "$file" ] && install_bin "$file" | ||||||
| 	done | 	done | ||||||
| 	install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA | 	install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh /lib/upgrade/do_stage2 $RAMFS_COPY_DATA | ||||||
|  |  | ||||||
| 	[ -L "/lib64" ] && ln -s /lib $RAM_ROOT/lib64 | 	[ -L "/lib64" ] && ln -s /lib $RAM_ROOT/lib64 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -363,7 +363,7 @@ fi | |||||||
| install_bin /sbin/upgraded | install_bin /sbin/upgraded | ||||||
| v "Commencing upgrade. Closing all shell sessions." | v "Commencing upgrade. Closing all shell sessions." | ||||||
|  |  | ||||||
| COMMAND='. /lib/functions.sh; include /lib/upgrade; do_upgrade_stage2' | COMMAND='/lib/upgrade/do_stage2' | ||||||
|  |  | ||||||
| if [ -n "$FAILSAFE" ]; then | if [ -n "$FAILSAFE" ]; then | ||||||
| 	printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade | 	printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user