1997-09-16 01:07:48 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# Make directory hierarchy.
|
|
|
|
# Written by Noah Friedman <friedman@prep.ai.mit.edu>
|
|
|
|
# Public domain.
|
2001-12-12 15:21:43 +00:00
|
|
|
# Modified by Adam Fedor, Nicola Pero
|
|
|
|
|
2001-12-12 16:33:20 +00:00
|
|
|
if test "$1" = "-c"; then
|
2001-12-12 15:21:43 +00:00
|
|
|
CHOWN_TO="$2"
|
|
|
|
shift 2
|
|
|
|
else
|
|
|
|
CHOWN_TO=""
|
|
|
|
fi
|
1997-09-16 01:07:48 +00:00
|
|
|
|
2002-10-04 23:56:24 +00:00
|
|
|
MKDIR="mkdir"
|
|
|
|
|
1997-09-16 01:07:48 +00:00
|
|
|
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
|
2002-10-04 23:56:24 +00:00
|
|
|
#echo "$MKDIR $pathcomp" 1>&2
|
2001-12-12 15:21:43 +00:00
|
|
|
if test ! -z "${CHOWN_TO}"; then
|
2002-10-04 23:56:24 +00:00
|
|
|
#echo "chown $CHOWN_TO $pathcomp" 1>&2
|
2001-12-12 16:47:53 +00:00
|
|
|
($MKDIR "${pathcomp}" && chown $CHOWN_TO "${pathcomp}") || errstatus=$?
|
2001-12-12 15:21:43 +00:00
|
|
|
else
|
|
|
|
$MKDIR "${pathcomp}" || errstatus=$?
|
|
|
|
fi;
|
1997-09-16 01:07:48 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
pathcomp="${pathcomp}/"
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
|
|
|
exit $errstatus
|
|
|
|
|
|
|
|
# eof
|