"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "scribus-1.3.3.12/admin/mkinstalldirs" of archive scribus-1.3.3.12.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    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