| 
									
										
										
										
											1996-05-24 18:58:43 +00:00
										 |  |  | #!/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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Don't use :- since 4.3BSD and earlier shells don't like it. | 
					
						
							|  |  |  | 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" | 
					
						
							|  |  |  | mvcmd="$mvprog" | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Make a temp file name in the proper directory. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-05-05 20:39:58 +00:00
										 |  |  | # Avoid dirname, which doesn't exist everywhere... | 
					
						
							|  |  |  | dstdir=`echo $dst | sed 's,/[^/]*$,,'` | 
					
						
							| 
									
										
										
										
											1996-05-24 18:58:43 +00:00
										 |  |  | dsttmp=$dstdir/#inst.$$# | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Move or copy the file name to the temp name | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-08-13 16:08:45 +00:00
										 |  |  | $doit $instcmd $src $dsttmp || exit $? | 
					
						
							| 
									
										
										
										
											1996-05-24 18:58:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # and set any options; do chmod last to preserve setuid bits | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi | 
					
						
							|  |  |  | if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi | 
					
						
							|  |  |  | if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi | 
					
						
							|  |  |  | if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Now rename the file to the real destination. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $doit $rmcmd $dst | 
					
						
							| 
									
										
										
										
											1998-08-13 16:08:45 +00:00
										 |  |  | $doit $mvcmd $dsttmp $dst || exit $? | 
					
						
							| 
									
										
										
										
											1996-05-24 18:58:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit 0 |