annotate src/flac-1.2.1/mkinstalldirs @ 83:ae30d91d2ffe

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