~ubuntu-branches/ubuntu/lucid/autoconf/lucid

« back to all changes in this revision

Viewing changes to config/mkinstalldirs

  • Committer: Bazaar Package Importer
  • Author(s): Ben Pfaff
  • Date: 2002-03-27 21:52:33 UTC
  • Revision ID: james.westby@ubuntu.com-20020327215233-r3gmxall0x27s306
Tags: upstream-2.53
ImportĀ upstreamĀ versionĀ 2.53

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
# mkinstalldirs --- make directory hierarchy
 
3
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
 
4
# Created: 1993-05-16
 
5
# Public domain
 
6
 
 
7
# $Id: mkinstalldirs,v 1.3 2002/03/08 12:44:47 akim Exp $
 
8
 
 
9
errstatus=0
 
10
dirmode=""
 
11
 
 
12
usage="\
 
13
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
 
14
 
 
15
# process command line arguments
 
16
while test $# -gt 0 ; do
 
17
   case "${1}" in
 
18
     -h | --help | --h* )                       # -h for help
 
19
        echo "${usage}" 1>&2; exit 0 ;;
 
20
     -m )                                       # -m PERM arg
 
21
        shift
 
22
        test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
 
23
        dirmode="${1}"
 
24
        shift ;;
 
25
     -- ) shift; break ;;                       # stop option processing
 
26
     -* ) echo "${usage}" 1>&2; exit 1 ;;       # unknown option
 
27
     * )  break ;;                              # first non-opt arg
 
28
   esac
 
29
done
 
30
 
 
31
for file
 
32
do
 
33
  if test -d "$file"; then
 
34
    shift
 
35
  else
 
36
    break
 
37
  fi
 
38
done
 
39
 
 
40
case $# in
 
41
0) exit 0 ;;
 
42
esac
 
43
 
 
44
case $dirmode in
 
45
'')
 
46
  if mkdir -p -- . 2>/dev/null; then
 
47
    echo "mkdir -p -- $*"
 
48
    exec mkdir -p -- "$@"
 
49
  fi ;;
 
50
*)
 
51
  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
 
52
    echo "mkdir -m $dirmode -p -- $*"
 
53
    exec mkdir -m "$dirmode" -p -- "$@"
 
54
  fi ;;
 
55
esac
 
56
 
 
57
for file
 
58
do
 
59
   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
 
60
   shift
 
61
 
 
62
   pathcomp=
 
63
   for d
 
64
   do
 
65
     pathcomp="$pathcomp$d"
 
66
     case "$pathcomp" in
 
67
       -* ) pathcomp=./$pathcomp ;;
 
68
     esac
 
69
 
 
70
     if test ! -d "$pathcomp"; then
 
71
        echo "mkdir $pathcomp"
 
72
 
 
73
        mkdir "$pathcomp" || lasterr=$?
 
74
 
 
75
        if test ! -d "$pathcomp"; then
 
76
          errstatus=$lasterr
 
77
        else
 
78
          if test ! -z "$dirmode"; then
 
79
             echo "chmod $dirmode $pathcomp"
 
80
 
 
81
             lasterr=""
 
82
             chmod "$dirmode" "$pathcomp" || lasterr=$?
 
83
 
 
84
             if test ! -z "$lasterr"; then
 
85
               errstatus=$lasterr
 
86
             fi
 
87
          fi
 
88
        fi
 
89
     fi
 
90
 
 
91
     pathcomp="$pathcomp/"
 
92
   done
 
93
done
 
94
 
 
95
exit $errstatus
 
96
 
 
97
# Local Variables:
 
98
# mode: shell-script
 
99
# sh-indentation: 3
 
100
# End:
 
101
# mkinstalldirs ends here