~ubuntu-branches/ubuntu/edgy/gnupod-tools/edgy

« back to all changes in this revision

Viewing changes to mkinstalldirs

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese
  • Date: 2005-09-17 14:41:08 UTC
  • mfrom: (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050917144108-fxrlryh8zv6bhv50
Tags: 0.98-3ubuntu1
src/ext/FooBar.pm, change call from gnupod_otgsync to gnupod_otgsync.pl

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