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 | ||||
| 	[ $? -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)" | ||||
| 		[ -n "$file" ] && install_bin "$file" | ||||
| 	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 | ||||
|  | ||||
|   | ||||
| @@ -363,7 +363,7 @@ fi | ||||
| install_bin /sbin/upgraded | ||||
| 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 | ||||
| 	printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade | ||||
|   | ||||
		Reference in New Issue
	
	Block a user