Annotation of embedaddon/mtr/build-aux/mkinstalldirs, revision 1.1

1.1     ! misho       1: #! /bin/sh
        !             2: # mkinstalldirs --- make directory hierarchy
        !             3: # Author: Noah Friedman <friedman@prep.ai.mit.edu>
        !             4: # Created: 1993-05-16
        !             5: # Public domain
        !             6: 
        !             7: errstatus=0
        !             8: dirmode=""
        !             9: 
        !            10: usage="\
        !            11: Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
        !            12: 
        !            13: # process command line arguments
        !            14: while test $# -gt 0 ; do
        !            15:   case $1 in
        !            16:     -h | --help | --h*)         # -h for help
        !            17:       echo "$usage" 1>&2
        !            18:       exit 0
        !            19:       ;;
        !            20:     -m)                         # -m PERM arg
        !            21:       shift
        !            22:       test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
        !            23:       dirmode=$1
        !            24:       shift
        !            25:       ;;
        !            26:     --)                         # stop option processing
        !            27:       shift
        !            28:       break
        !            29:       ;;
        !            30:     -*)                         # unknown option
        !            31:       echo "$usage" 1>&2
        !            32:       exit 1
        !            33:       ;;
        !            34:     *)                          # first non-opt arg
        !            35:       break
        !            36:       ;;
        !            37:   esac
        !            38: done
        !            39: 
        !            40: for file
        !            41: do
        !            42:   if test -d "$file"; then
        !            43:     shift
        !            44:   else
        !            45:     break
        !            46:   fi
        !            47: done
        !            48: 
        !            49: case $# in
        !            50:   0) exit 0 ;;
        !            51: esac
        !            52: 
        !            53: case $dirmode in
        !            54:   '')
        !            55:     if mkdir -p -- . 2>/dev/null; then
        !            56:       echo "mkdir -p -- $*"
        !            57:       exec mkdir -p -- "$@"
        !            58:     fi
        !            59:     ;;
        !            60:   *)
        !            61:     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
        !            62:       echo "mkdir -m $dirmode -p -- $*"
        !            63:       exec mkdir -m "$dirmode" -p -- "$@"
        !            64:     fi
        !            65:     ;;
        !            66: esac
        !            67: 
        !            68: for file
        !            69: do
        !            70:   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
        !            71:   shift
        !            72: 
        !            73:   pathcomp=
        !            74:   for d
        !            75:   do
        !            76:     pathcomp="$pathcomp$d"
        !            77:     case $pathcomp in
        !            78:       -*) pathcomp=./$pathcomp ;;
        !            79:     esac
        !            80: 
        !            81:     if test ! -d "$pathcomp"; then
        !            82:       echo "mkdir $pathcomp"
        !            83: 
        !            84:       mkdir "$pathcomp" || lasterr=$?
        !            85: 
        !            86:       if test ! -d "$pathcomp"; then
        !            87:        errstatus=$lasterr
        !            88:       else
        !            89:        if test ! -z "$dirmode"; then
        !            90:          echo "chmod $dirmode $pathcomp"
        !            91:          lasterr=""
        !            92:          chmod "$dirmode" "$pathcomp" || lasterr=$?
        !            93: 
        !            94:          if test ! -z "$lasterr"; then
        !            95:            errstatus=$lasterr
        !            96:          fi
        !            97:        fi
        !            98:       fi
        !            99:     fi
        !           100: 
        !           101:     pathcomp="$pathcomp/"
        !           102:   done
        !           103: done
        !           104: 
        !           105: exit $errstatus
        !           106: 
        !           107: # Local Variables:
        !           108: # mode: shell-script
        !           109: # sh-indentation: 2
        !           110: # End:
        !           111: # mkinstalldirs ends here

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>