Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

executable file 53 lines (42 sloc) 1.163 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
#!/bin/sh
# Make directory hierarchy.
# Written by Noah Friedman <friedman@prep.ai.mit.edu>
# Added chgrp command by Benjamin Lorenz <lorenz@ps.uni-sb.de>
# Public domain.

# INSTALL_DIR_CHMOD=775 to also give write permission to group members
# INSTALL_DIR_CHMOD= to only get default (from umask)

: ${INSTALL_DIR_CHMOD=775}
if test -z "$INSTALL_DIR_CHMOD"; then
dochmod(){ true; }
else
dochmod() {
  if test -z "$INSTALL_DIR_GROUP"; then true; else
    echo "chgrp $INSTALL_DIR_GROUP $1" 1>&2;
    chgrp $INSTALL_DIR_GROUP $1 || errstatus=$?;
  fi
  echo "chmod $INSTALL_DIR_CHMOD $1" 1>&2;
  chmod $INSTALL_DIR_CHMOD $1 || errstatus=$?; }
fi

defaultIFS='
'
IFS="${IFS-${defaultIFS}}"

errstatus=0

for file in ${1+"$@"} ; do
   oIFS="${IFS}"
   # Some sh's can't handle IFS=/ for some reason.
   IFS='%'
   set - `echo ${file} | sed -e 's@/@%@g' -e 's@^%@/@'`
   IFS="${oIFS}"

   pathcomp=''

   for d in ${1+"$@"} ; do
     pathcomp="${pathcomp}${d}"

     if test ! -d "${pathcomp}"; then
echo "mkdir $pathcomp" 1>&2
mkdir "${pathcomp}" || errstatus=$?
dochmod "${pathcomp}"
     fi

     pathcomp="${pathcomp}/"
   done
done

exit $errstatus

# eof
Something went wrong with that request. Please try again.