Composer installer
This commit is contained in:
		
							parent
							
								
									158fce3a4a
								
							
						
					
					
						commit
						5ae31ea4ca
					
				
							
								
								
									
										65
									
								
								composer/composer-install.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								composer/composer-install.php
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,65 @@ | |||||||
|  | #!/bin/bash
 | ||||||
|  | 
 | ||||||
|  | #### Variables
 | ||||||
|  | APT_INST="apt -y install" | ||||||
|  | 
 | ||||||
|  | PKG_DEPS=(php) | ||||||
|  | 
 | ||||||
|  | #### Functions
 | ||||||
|  | check_root() { | ||||||
|  |     if [ "$EUID" -ne 0 ]; then | ||||||
|  |         echo "Must be root to run $0" | ||||||
|  |         exit | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | choice() { | ||||||
|  |     echo -ne "[y/n]" | ||||||
|  |     while true | ||||||
|  |     do | ||||||
|  |         read -rN1 input | ||||||
|  |     case $input in | ||||||
|  |         [yY][eE][sS]|[yY]) | ||||||
|  |         return 0 | ||||||
|  | 
 | ||||||
|  |     break | ||||||
|  |     ;; | ||||||
|  |         [nN][oO]|[nN]) | ||||||
|  |         return 1 | ||||||
|  |         ;; | ||||||
|  |         esac | ||||||
|  |     done | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | check_deps() { | ||||||
|  | for PKG_NAME in "${PKG_DEPS[@]}" | ||||||
|  |   do | ||||||
|  |    if ! [ -x "$(command -v $PKG_NAME)" ]; then | ||||||
|  |      echo "Error: $PKG_NAME is not installed." >&2 | ||||||
|  | 
 | ||||||
|  |      echo -ne "\nInstall $PKG_NAME ? " | ||||||
|  |      if choice 2>/dev/null; then | ||||||
|  |          echo -ne "\n$APT_INST $PKG_NAME\n" | ||||||
|  |          $APT_INST $PKG_NAME | ||||||
|  |      else | ||||||
|  |        echo -ne "\n\nAbort install script, package $PKG_NAME is required for work composer.\n" | ||||||
|  |        exit 1; | ||||||
|  |      fi | ||||||
|  | 
 | ||||||
|  |    fi | ||||||
|  |   done | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | composer_install() { | ||||||
|  |   php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" | ||||||
|  |   php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" | ||||||
|  |   php composer-setup.php | ||||||
|  |   php -r "unlink('composer-setup.php');" | ||||||
|  |   mv composer.phar /usr/local/bin/composer | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #### Main
 | ||||||
|  | 
 | ||||||
|  | check_root | ||||||
|  | check_deps | ||||||
|  | composer_install | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user