Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3bfb93a

Browse files
committed
New version of mkinstalldirs fixes problems on Tru64 UNIX.
1 parent6889537 commit3bfb93a

File tree

1 file changed

+54
-15
lines changed

1 file changed

+54
-15
lines changed

‎config/mkinstalldirs

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,32 @@
11
#! /bin/sh
22
# mkinstalldirs --- make directory hierarchy
3-
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
3+
4+
scriptversion=2004-02-15.20
5+
6+
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
47
# Created: 1993-05-16
5-
# Public domain
8+
# Public domain.
9+
#
10+
# This file is maintained in Automake, please report
11+
# bugs to <bug-automake@gnu.org> or send patches to
12+
# <automake-patches@gnu.org>.
613

714
errstatus=0
815
dirmode=""
916

1017
usage="\
11-
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
18+
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
19+
20+
Create each directory DIR (with mode MODE, if specified), including all
21+
leading file name components.
22+
23+
Report bugs to <bug-automake@gnu.org>."
1224

1325
# process command line arguments
1426
whiletest$# -gt 0;do
1527
case$1in
1628
-h | --help | --h*)# -h for help
17-
echo"$usage"1>&2
29+
echo"$usage"
1830
exit 0
1931
;;
2032
-m)# -m PERM arg
@@ -23,6 +35,10 @@ while test $# -gt 0 ; do
2335
dirmode=$1
2436
shift
2537
;;
38+
--version)
39+
echo"$0$scriptversion"
40+
exit 0
41+
;;
2642
--)# stop option processing
2743
shift
2844
break
@@ -50,17 +66,37 @@ case $# in
5066
0)exit 0 ;;
5167
esac
5268

69+
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
70+
# mkdir -p a/c at the same time, both will detect that a is missing,
71+
# one will create a, then the other will try to create a and die with
72+
# a "File exists" error. This is a problem when calling mkinstalldirs
73+
# from a parallel make. We use --version in the probe to restrict
74+
# ourselves to GNU mkdir, which is thread-safe.
5375
case$dirmodein
5476
'')
55-
if mkdir -p --.2>/dev/null;then
77+
if mkdir -p --version.>/dev/null2>&1&&test! -d ./--version;then
5678
echo"mkdir -p --$*"
5779
exec mkdir -p --"$@"
80+
else
81+
# On NextStep and OpenStep, the `mkdir' command does not
82+
# recognize any option. It will interpret all options as
83+
# directories to create, and then abort because `.' already
84+
# exists.
85+
test -d ./-p&& rmdir ./-p
86+
test -d ./--version&& rmdir ./--version
5887
fi
5988
;;
6089
*)
61-
if mkdir -m"$dirmode" -p --.2>/dev/null;then
90+
if mkdir -m"$dirmode" -p --version.>/dev/null2>&1&&
91+
test! -d ./--version;then
6292
echo"mkdir -m$dirmode -p --$*"
6393
exec mkdir -m"$dirmode" -p --"$@"
94+
else
95+
# Clean up after NextStep and OpenStep mkdir.
96+
fordin ./-m ./-p ./--version"./$dirmode";
97+
do
98+
test -d$d&& rmdir$d
99+
done
64100
fi
65101
;;
66102
esac
@@ -84,17 +120,17 @@ do
84120
mkdir"$pathcomp"|| lasterr=$?
85121

86122
iftest! -d"$pathcomp";then
87-
errstatus=$lasterr
123+
errstatus=$lasterr
88124
else
89-
iftest! -z"$dirmode";then
125+
iftest! -z"$dirmode";then
90126
echo"chmod$dirmode$pathcomp"
91-
lasterr=""
92-
chmod"$dirmode""$pathcomp"|| lasterr=$?
127+
lasterr=""
128+
chmod"$dirmode""$pathcomp"|| lasterr=$?
93129

94-
iftest! -z"$lasterr";then
95-
errstatus=$lasterr
96-
fi
97-
fi
130+
iftest! -z"$lasterr";then
131+
errstatus=$lasterr
132+
fi
133+
fi
98134
fi
99135
fi
100136

@@ -107,5 +143,8 @@ exit $errstatus
107143
# Local Variables:
108144
# mode: shell-script
109145
# sh-indentation: 2
146+
# eval: (add-hook 'write-file-hooks 'time-stamp)
147+
# time-stamp-start: "scriptversion="
148+
# time-stamp-format: "%:y-%02m-%02d.%02H"
149+
# time-stamp-end: "$"
110150
# End:
111-
# mkinstalldirs ends here

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp