FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
gnuplot/mkinstalldirs at master · gnuplot/gnuplot · GitHub
gnuplot
gnuplot
Repository navigation
Code
Pull requests
2
(2)
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
gnuplot
/
mkinstalldirs
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
162 lines (141 loc) · 3.43 KB
Breadcrumbs
gnuplot
/
mkinstalldirs
Copy path
File metadata and controls
executable file
·
162 lines (141 loc) · 3.43 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#!
/bin/sh
#
mkinstalldirs --- make directory hierarchy
scriptversion=2020-07-26.22
;
#
UTC
#
Original author: Noah Friedman <friedman@prep.ai.mit.edu>
#
Created: 1993-05-16
#
Public domain.
#
#
This file is maintained in Automake, please report
#
bugs to <bug-automake@gnu.org> or send patches to
#
<automake-patches@gnu.org>.
nl=
'
'
IFS=
"
"
"
$nl
"
errstatus=0
dirmode=
usage=
"
\
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
Report bugs to <bug-automake@gnu.org>.
"
#
process command line arguments
while
test
$#
-gt 0
;
do
case
$1
in
-h | --help | --h
*
)
#
-h for help
echo
"
$usage
"
exit
$?
;;
-m)
#
-m PERM arg
shift
test
$#
-eq 0
&&
{
echo
"
$usage
"
1>&2
;
exit
1
;
}
dirmode=
$1
shift
;;
--version)
echo
"
$0
$scriptversion
"
exit
$?
;;
--)
#
stop option processing
shift
break
;;
-
*
)
#
unknown option
echo
"
$usage
"
1>&2
exit
1
;;
*
)
#
first non-opt arg
break
;;
esac
done
for
file
do
if
test
-d
"
$file
"
;
then
shift
else
break
fi
done
case
$#
in
0)
exit
0 ;;
esac
#
Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
#
mkdir -p a/c at the same time, both will detect that a is missing,
#
one will create a, then the other will try to create a and die with
#
a "File exists" error. This is a problem when calling mkinstalldirs
#
from a parallel make. We use --version in the probe to restrict
#
ourselves to GNU mkdir, which is thread-safe.
case
$dirmode
in
'
'
)
if
mkdir -p --version
.
>
/dev/null
2>&1
&&
test
!
-d ./--version
;
then
echo
"
mkdir -p --
$*
"
exec
mkdir -p --
"
$@
"
else
#
On NextStep and OpenStep, the 'mkdir' command does not
#
recognize any option. It will interpret all options as
#
directories to create, and then abort because '.' already
#
exists.
test
-d ./-p
&&
rmdir ./-p
test
-d ./--version
&&
rmdir ./--version
fi
;;
*
)
if
mkdir -m
"
$dirmode
"
-p --version
.
>
/dev/null
2>&1
&&
test
!
-d ./--version
;
then
echo
"
umask 22
"
umask
22
echo
"
mkdir -m
$dirmode
-p --
$*
"
exec
mkdir -m
"
$dirmode
"
-p --
"
$@
"
else
#
Clean up after NextStep and OpenStep mkdir.
for
d
in
./-m ./-p ./--version
"
./
$dirmode
"
;
do
test
-d
$d
&&
rmdir
$d
done
fi
;;
esac
echo
"
umask 22
"
umask
22
for
file
do
case
$file
in
/
*
) pathcomp=/ ;;
*
) pathcomp= ;;
esac
oIFS=
$IFS
IFS=/
set
fnord
$file
shift
IFS=
$oIFS
for
d
do
test
"
x
$d
"
= x
&&
continue
pathcomp=
$pathcomp$d
case
$pathcomp
in
-
*
) pathcomp=./
$pathcomp
;;
esac
if
test
!
-d
"
$pathcomp
"
;
then
echo
"
mkdir
$pathcomp
"
mkdir
"
$pathcomp
"
||
lasterr=
$?
if
test
!
-d
"
$pathcomp
"
;
then
errstatus=
$lasterr
fi
fi
pathcomp=
$pathcomp
/
done
if
test
!
-z
"
$dirmode
"
;
then
echo
"
chmod
$dirmode
$file
"
chmod
"
$dirmode
"
"
$file
"
||
errstatus=
$?
fi
done
exit
$errstatus
#
Local Variables:
#
mode: shell-script
#
sh-indentation: 2
#
eval: (add-hook 'before-save-hook 'time-stamp)
#
time-stamp-start: "scriptversion="
#
time-stamp-format: "%:y-%02m-%02d.%02H"
#
time-stamp-time-zone: "UTC0"
#
time-stamp-end: "; # UTC"
#
End:
Back
|
FazBrowse Home
|
New Git URL