annotate kdiff3/admin/mkinstalldirs @ 34:a34c05324302

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