mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
	
	
		
			109 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
		
		
			
		
	
	
			109 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
|  | #!/bin/sh
 | ||
|  | # | ||
|  | # install - install a program, script, or datafile | ||
|  | # This comes from X11R5; it is not part of GNU. | ||
|  | # | ||
|  | # $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $ | ||
|  | # | ||
|  | # This script is compatible with the BSD install script, but was written | ||
|  | # from scratch. | ||
|  | # | ||
|  | 
 | ||
|  | 
 | ||
|  | # set DOITPROG to echo to test this script | ||
|  | 
 | ||
|  | doit="${DOITPROG:-}" | ||
|  | 
 | ||
|  | 
 | ||
|  | # put in absolute paths if you don't have them in your path; or use env. vars. | ||
|  | 
 | ||
|  | mvprog="${MVPROG:-mv}" | ||
|  | cpprog="${CPPROG:-cp}" | ||
|  | chmodprog="${CHMODPROG:-chmod}" | ||
|  | chownprog="${CHOWNPROG:-chown}" | ||
|  | chgrpprog="${CHGRPPROG:-chgrp}" | ||
|  | stripprog="${STRIPPROG:-strip}" | ||
|  | rmprog="${RMPROG:-rm}" | ||
|  | 
 | ||
|  | instcmd="$mvprog" | ||
|  | chmodcmd="" | ||
|  | chowncmd="" | ||
|  | chgrpcmd="" | ||
|  | stripcmd="" | ||
|  | rmcmd="$rmprog -f" | ||
|  | src="" | ||
|  | dst="" | ||
|  | 
 | ||
|  | while [ x"$1" != x ]; do | ||
|  |     case $1 in | ||
|  | 	-c) instcmd="$cpprog" | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  | 
 | ||
|  | 	-m) chmodcmd="$chmodprog $2" | ||
|  | 	    shift | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  | 
 | ||
|  | 	-o) chowncmd="$chownprog $2" | ||
|  | 	    shift | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  | 
 | ||
|  | 	-g) chgrpcmd="$chgrpprog $2" | ||
|  | 	    shift | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  | 
 | ||
|  | 	-s) stripcmd="$stripprog" | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  | 
 | ||
|  | 	*)  if [ x"$src" = x ] | ||
|  | 	    then | ||
|  | 		src=$1 | ||
|  | 	    else | ||
|  | 		dst=$1 | ||
|  | 	    fi | ||
|  | 	    shift | ||
|  | 	    continue;; | ||
|  |     esac | ||
|  | done | ||
|  | 
 | ||
|  | if [ x"$src" = x ] | ||
|  | then | ||
|  | 	echo "install:  no input file specified" | ||
|  | 	exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | if [ x"$dst" = x ] | ||
|  | then | ||
|  | 	echo "install:  no destination specified" | ||
|  | 	exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # if destination is a directory, append the input filename; if your system | ||
|  | # does not like double slashes in filenames, you may need to add some logic | ||
|  | 
 | ||
|  | if [ -d $dst ] | ||
|  | then | ||
|  | 	dst="$dst"/`basename $src` | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # get rid of the old one and mode the new one in | ||
|  | 
 | ||
|  | $doit $rmcmd $dst | ||
|  | $doit $instcmd $src $dst | ||
|  | 
 | ||
|  | 
 | ||
|  | # and set any options; do chmod last to preserve setuid bits | ||
|  | 
 | ||
|  | if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; fi | ||
|  | if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; fi | ||
|  | if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; fi | ||
|  | if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; fi | ||
|  | 
 | ||
|  | exit 0 |