diff options
author | Werner Koch <wk@gnupg.org> | 2002-05-15 12:51:46 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2002-05-15 12:51:46 +0000 |
commit | 2fbb4f3255e3e3d9318a231b607f746bfc5f9db1 (patch) | |
tree | 0b461ce40522093a8560d004d334300159d08f73 /scripts/mkinstalldirs | |
parent | e4b1aa2bedc346f92111082b9e09e92a444a2b61 (diff) | |
download | libgcrypt-2fbb4f3255e3e3d9318a231b607f746bfc5f9db1.tar.gz |
Updated to automake 1.6
Diffstat (limited to 'scripts/mkinstalldirs')
-rwxr-xr-x | scripts/mkinstalldirs | 71 |
1 files changed, 66 insertions, 5 deletions
diff --git a/scripts/mkinstalldirs b/scripts/mkinstalldirs index 6b3b5fc5..994d71ce 100755 --- a/scripts/mkinstalldirs +++ b/scripts/mkinstalldirs @@ -7,6 +7,52 @@ # $Id$ errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) # -h for help + echo "${usage}" 1>&2; exit 0 ;; + -m ) # -m PERM arg + shift + test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } + dirmode="${1}" + shift ;; + -- ) shift; break ;; # stop option processing + -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option + * ) break ;; # first non-opt arg + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in +0) exit 0 ;; +esac + +case $dirmode in +'') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi ;; +*) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi ;; +esac for file do @@ -22,13 +68,24 @@ do esac if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" - mkdir "$pathcomp" || lasterr=$? + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi fi pathcomp="$pathcomp/" @@ -37,4 +94,8 @@ done exit $errstatus +# Local Variables: +# mode: shell-script +# sh-indentation: 3 +# End: # mkinstalldirs ends here |