Commit 8c8b49b7fcc8cd4e94e06b2a488722f4f9ae3f60

Authored by knodlseder
1 parent 079f9f97

add for install

Showing 1 changed file with 99 additions and 0 deletions
mkinstalldirs 0 → 100755
  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; exit 0 ;;
  18 + -m ) # -m PERM arg
  19 + shift
  20 + test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
  21 + dirmode="${1}"
  22 + shift ;;
  23 + -- ) shift; break ;; # stop option processing
  24 + -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
  25 + * ) break ;; # first non-opt arg
  26 + esac
  27 +done
  28 +
  29 +for file
  30 +do
  31 + if test -d "$file"; then
  32 + shift
  33 + else
  34 + break
  35 + fi
  36 +done
  37 +
  38 +case $# in
  39 +0) exit 0 ;;
  40 +esac
  41 +
  42 +case $dirmode in
  43 +'')
  44 + if mkdir -p -- . 2>/dev/null; then
  45 + echo "mkdir -p -- $*"
  46 + exec mkdir -p -- "$@"
  47 + fi ;;
  48 +*)
  49 + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
  50 + echo "mkdir -m $dirmode -p -- $*"
  51 + exec mkdir -m "$dirmode" -p -- "$@"
  52 + fi ;;
  53 +esac
  54 +
  55 +for file
  56 +do
  57 + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
  58 + shift
  59 +
  60 + pathcomp=
  61 + for d
  62 + do
  63 + pathcomp="$pathcomp$d"
  64 + case "$pathcomp" in
  65 + -* ) pathcomp=./$pathcomp ;;
  66 + esac
  67 +
  68 + if test ! -d "$pathcomp"; then
  69 + echo "mkdir $pathcomp"
  70 +
  71 + mkdir "$pathcomp" || lasterr=$?
  72 +
  73 + if test ! -d "$pathcomp"; then
  74 + errstatus=$lasterr
  75 + else
  76 + if test ! -z "$dirmode"; then
  77 + echo "chmod $dirmode $pathcomp"
  78 +
  79 + lasterr=""
  80 + chmod "$dirmode" "$pathcomp" || lasterr=$?
  81 +
  82 + if test ! -z "$lasterr"; then
  83 + errstatus=$lasterr
  84 + fi
  85 + fi
  86 + fi
  87 + fi
  88 +
  89 + pathcomp="$pathcomp/"
  90 + done
  91 +done
  92 +
  93 +exit $errstatus
  94 +
  95 +# Local Variables:
  96 +# mode: shell-script
  97 +# sh-indentation: 3
  98 +# End:
  99 +# mkinstalldirs ends here
... ...