You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							32 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							32 lines
						
					
					
						
							1.3 KiB
						
					
					
				
								#!/bin/bash
							 | 
						|
								
							 | 
						|
								if [[ -d /opt/debian-bash ]]; then
							 | 
						|
								    local_release=$(cat /opt/debian-bash/.semver_git_tag)
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								echo -n "debian-bash: collecting latest release from server url ... "
							 | 
						|
								remote_release=$(wget_semver artcode pvincent/debian-bash)
							 | 
						|
								echo "$remote_release"
							 | 
						|
								
							 | 
						|
								if [[ $local_release != $remote_release ]]; then
							 | 
						|
								    echo "upgrading from <$local_release> to <$remote_release> ..."
							 | 
						|
								    curl https://git.artcode.re/pvincent/debian-bash/raw/master/install.sh | sudo bash -s -- --full
							 | 
						|
								else
							 | 
						|
								
							 | 
						|
								    echo "debian-bash: local version $local_release already up-to-date!"
							 | 
						|
								    # install inside active LXC containers
							 | 
						|
								    if [[ -f '/snap/bin/lxc' ]]; then
							 | 
						|
								        echo "debian-bash: refreshing containers ..."
							 | 
						|
								        for container in $(lxc list --format=json | yq '.[] | select(.state.status == "Running") | .name' -); do
							 | 
						|
								            container_release=$(lxc exec $container -- cat /opt/debian-bash/.semver_git_tag)
							 | 
						|
								            if [[ $container_release != $remote_release ]]; then
							 | 
						|
								                echo "upgrade container <$container> from <$container_release> to <$remote_release>"
							 | 
						|
								                /snap/bin/lxc file push /opt/debian-bash "${container}/opt/" -r
							 | 
						|
								            else
							 | 
						|
								                echo -e "\\tcontainer <$container> already up-to-date!"
							 | 
						|
								            fi
							 | 
						|
								        done
							 | 
						|
								        echo DONE
							 | 
						|
								    fi
							 | 
						|
								
							 | 
						|
								fi
							 |