/[cvs]/eggdrop1.9/mkinstalldirs
ViewVC logotype

Annotation of /eggdrop1.9/mkinstalldirs

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Wed Jun 18 22:59:42 2003 UTC (16 years, 4 months ago) by stdarg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +66 -7 lines
* Added mkinstalldirs to top buildir for snapshot downloaders who don't run/read bootstrap

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

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23