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.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								#!/bin/bash
							 | 
						|
								
							 | 
						|
								## CONSTANTS
							 | 
						|
								
							 | 
						|
								readonly CURDIR=$PWD
							 | 
						|
								readonly REQUIRED_PKGS=(file git bc vim)
							 | 
						|
								readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
							 | 
						|
								
							 | 
						|
								## FUNCTIONS
							 | 
						|
								
							 | 
						|
								function push_directory {
							 | 
						|
								    pushd "$1" || (echo "unable to push directory <$1>" && exit 1)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function pop_directory {
							 | 
						|
								    popd || (echo "unable to pop from previous directory" && exit 1)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function root_required {
							 | 
						|
								    [ "$(id -u)" -ne 0 ] && echo 'root privilege required' && exit 1
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								## MAIN
							 | 
						|
								
							 | 
						|
								root_required
							 | 
						|
								
							 | 
						|
								if [[ $CURDIR != '/opt/miaou-bash' ]]; then
							 | 
						|
								    # download and fullfill /opt/miaou-bash, then run it from folder
							 | 
						|
								
							 | 
						|
								    if [[ -L /opt/miaou-bash ]]; then
							 | 
						|
								        /opt/miaou-bash/install.sh
							 | 
						|
								    else
							 | 
						|
								        rm -rf /opt/miaou-bash
							 | 
						|
								
							 | 
						|
								        push_directory "$(mktemp -d)"
							 | 
						|
								        curl --no-progress-meter -O $MAIN_TAR_GZ_URL
							 | 
						|
								        tar -xzf main.tar.gz
							 | 
						|
								        mv miaou-bash /opt/
							 | 
						|
								        pop_directory
							 | 
						|
								        rm -rf "$TEMP"
							 | 
						|
								
							 | 
						|
								        push_directory /opt/miaou-bash && ./install.sh
							 | 
						|
								
							 | 
						|
								    fi
							 | 
						|
								
							 | 
						|
								else
							 | 
						|
								    MIAOU_BASH_DIR=$CURDIR
							 | 
						|
								    export MIAOU_BASH_DIR
							 | 
						|
								    source "$MIAOU_BASH_DIR/lib/functions.sh"
							 | 
						|
								    "$MIAOU_BASH_DIR/tools/idem_apt_install" "${REQUIRED_PKGS[@]}"
							 | 
						|
								    ./init.sh
							 | 
						|
								fi
							 |