mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
4d1a4e8e7c
converting it to natively use ejs objects, instead of its own internal format. (This used to be commit 119db8924a6e9c40a94c76c57198877875c53afc)
100 lines
1.8 KiB
Bash
Executable File
100 lines
1.8 KiB
Bash
Executable File
#! /bin/sh
|
|
# mkinstalldirs --- make directory hierarchy
|
|
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
|
# Created: 1993-05-16
|
|
# Public domain
|
|
|
|
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
|
|
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
|
shift
|
|
|
|
pathcomp=
|
|
for d
|
|
do
|
|
pathcomp="$pathcomp$d"
|
|
case "$pathcomp" in
|
|
-* ) pathcomp=./$pathcomp ;;
|
|
esac
|
|
|
|
if test ! -d "$pathcomp"; then
|
|
echo "mkdir $pathcomp"
|
|
|
|
mkdir "$pathcomp" || lasterr=$?
|
|
|
|
if test ! -d "$pathcomp"; then
|
|
errstatus=$lasterr
|
|
else
|
|
if test ! -z "$dirmode"; then
|
|
echo "chmod $dirmode $pathcomp"
|
|
|
|
lasterr=""
|
|
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
|
|
|
if test ! -z "$lasterr"; then
|
|
errstatus=$lasterr
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
pathcomp="$pathcomp/"
|
|
done
|
|
done
|
|
|
|
exit $errstatus
|
|
|
|
# Local Variables:
|
|
# mode: shell-script
|
|
# sh-indentation: 3
|
|
# End:
|
|
# mkinstalldirs ends here
|