]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
1999-04-10 Ben Elliston <bje@cygnus.com>
authorBen Elliston <bje+keyword+gnu.7caf74@air.net.au>
Fri, 9 Apr 1999 21:44:01 +0000 (21:44 +0000)
committerBen Elliston <bje+keyword+gnu.7caf74@air.net.au>
Fri, 9 Apr 1999 21:44:01 +0000 (21:44 +0000)
* mkinstalldirs: Add `-m' flag to specify the mode of a newly
created directory. Add command line usage and `-h', `--help'
options. Contributed by Jeff Garzik <jgarzik@pobox.com>.

ChangeLog
mkinstalldirs

index 1ea72621d4a9832b886b55ec43266d30ad411784..c0be2d3090cb1e5a8feaecf9d6544af23b6df856 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-04-10  Ben Elliston  <bje@cygnus.com>
+
+       * mkinstalldirs: Add `-m' flag to specify the mode of a newly
+       created directory. Add command line usage and `-h', `--help'
+       options. Contributed by Jeff Garzik <jgarzik@pobox.com>.
+       
 1999-04-08  Ben Elliston  <bje@cygnus.com>
 
        * acspecific.m4 (AC_PROG_CC): Try using the `cl' C compiler under
index 6b3b5fc5d4d34f3065bdad528dfeb7604dd01a8d..70f6e5802d84280ac31c1e749ff84d94faf54e76 100755 (executable)
@@ -7,6 +7,26 @@
 # $Id$
 
 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
@@ -28,6 +48,17 @@ do
 
         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
 
@@ -37,4 +68,7 @@ done
 
 exit $errstatus
 
-# mkinstalldirs ends here
+# Local Variables:
+# mode:shell-script
+# sh-indentation:3
+# End: