[BACK]Return to install.sh CVS log [TXT][DIR] Up to [local] / src / usr.bin / less

Annotation of src/usr.bin/less/install.sh, Revision 1.1

1.1     ! etheisen    1: #!/bin/sh
        !             2:
        !             3: #
        !             4: # install - install a program, script, or datafile
        !             5: # This comes from X11R5; it is not part of GNU.
        !             6: #
        !             7: # $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
        !             8: #
        !             9: # This script is compatible with the BSD install script, but was written
        !            10: # from scratch.
        !            11: #
        !            12:
        !            13:
        !            14: # set DOITPROG to echo to test this script
        !            15:
        !            16: # Don't use :- since 4.3BSD and earlier shells don't like it.
        !            17: doit="${DOITPROG-}"
        !            18:
        !            19:
        !            20: # put in absolute paths if you don't have them in your path; or use env. vars.
        !            21:
        !            22: mvprog="${MVPROG-mv}"
        !            23: cpprog="${CPPROG-cp}"
        !            24: chmodprog="${CHMODPROG-chmod}"
        !            25: chownprog="${CHOWNPROG-chown}"
        !            26: chgrpprog="${CHGRPPROG-chgrp}"
        !            27: stripprog="${STRIPPROG-strip}"
        !            28: rmprog="${RMPROG-rm}"
        !            29:
        !            30: instcmd="$mvprog"
        !            31: chmodcmd=""
        !            32: chowncmd=""
        !            33: chgrpcmd=""
        !            34: stripcmd=""
        !            35: rmcmd="$rmprog -f"
        !            36: mvcmd="$mvprog"
        !            37: src=""
        !            38: dst=""
        !            39:
        !            40: while [ x"$1" != x ]; do
        !            41:     case $1 in
        !            42:        -c) instcmd="$cpprog"
        !            43:            shift
        !            44:            continue;;
        !            45:
        !            46:        -m) chmodcmd="$chmodprog $2"
        !            47:            shift
        !            48:            shift
        !            49:            continue;;
        !            50:
        !            51:        -o) chowncmd="$chownprog $2"
        !            52:            shift
        !            53:            shift
        !            54:            continue;;
        !            55:
        !            56:        -g) chgrpcmd="$chgrpprog $2"
        !            57:            shift
        !            58:            shift
        !            59:            continue;;
        !            60:
        !            61:        -s) stripcmd="$stripprog"
        !            62:            shift
        !            63:            continue;;
        !            64:
        !            65:        *)  if [ x"$src" = x ]
        !            66:            then
        !            67:                src=$1
        !            68:            else
        !            69:                dst=$1
        !            70:            fi
        !            71:            shift
        !            72:            continue;;
        !            73:     esac
        !            74: done
        !            75:
        !            76: if [ x"$src" = x ]
        !            77: then
        !            78:        echo "install:  no input file specified"
        !            79:        exit 1
        !            80: fi
        !            81:
        !            82: if [ x"$dst" = x ]
        !            83: then
        !            84:        echo "install:  no destination specified"
        !            85:        exit 1
        !            86: fi
        !            87:
        !            88:
        !            89: # If destination is a directory, append the input filename; if your system
        !            90: # does not like double slashes in filenames, you may need to add some logic
        !            91:
        !            92: if [ -d $dst ]
        !            93: then
        !            94:        dst="$dst"/`basename $src`
        !            95: fi
        !            96:
        !            97: # Make a temp file name in the proper directory.
        !            98:
        !            99: dstdir=`dirname $dst`
        !           100: dsttmp=$dstdir/#inst.$$#
        !           101:
        !           102: # Move or copy the file name to the temp name
        !           103:
        !           104: $doit $instcmd $src $dsttmp
        !           105:
        !           106: # and set any options; do chmod last to preserve setuid bits
        !           107:
        !           108: if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
        !           109: if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
        !           110: if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
        !           111: if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
        !           112:
        !           113: # Now rename the file to the real destination.
        !           114:
        !           115: $doit $rmcmd $dst
        !           116: $doit $mvcmd $dsttmp $dst
        !           117:
        !           118:
        !           119: exit 0