[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
common mkinstalldirs?
From: |
Karl Berry |
Subject: |
common mkinstalldirs? |
Date: |
Fri, 27 Sep 2002 12:34:48 -0400 |
As with install-sh, I noticed that the mkinstalldirs distributed with
automake is different than the one from glibc/gettext.
This case is a little simpler though, since as far as I can tell the
automake version is a straightforward enhancement of the glibc one, to
handle --help, --version, and -m.
So, perhaps you'd like to consider using the mkinstalldirs from
automake, so we'd have a single version out there. Diffs below if you
want them ...
Thanks,
karl
*** libc/scripts/mkinstalldirs Fri May 8 13:55:06 1998
--- automake/lib/mkinstalldirs Thu Sep 12 13:30:46 2002
***************
*** 5,11 ****
# Public domain
- # $Id: mkinstalldirs,v 1.1 1998/05/08 20:55:06 drepper Exp $
-
errstatus=0
for file
--- 5,55 ----
# 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
***************
*** 23,33 ****
if test ! -d "$pathcomp"; then
! echo "mkdir $pathcomp" 1>&2
! mkdir "$pathcomp" || lasterr=$?
! if test ! -d "$pathcomp"; then
! errstatus=$lasterr
! fi
fi
--- 67,88 ----
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
***************
*** 38,40 ****
--- 93,99 ----
exit $errstatus
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 3
+ # End:
# mkinstalldirs ends here
- common mkinstalldirs?,
Karl Berry <=