patch-mkinstalldirs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. --- Libnet-1.0.2a.orig/mkinstalldirs 1970-01-01 00:00:00.000000000 +0100
  2. +++ Libnet-1.0.2a/mkinstalldirs 2009-08-23 00:39:59.149675166 +0200
  3. @@ -0,0 +1,150 @@
  4. +#! /bin/sh
  5. +# mkinstalldirs --- make directory hierarchy
  6. +
  7. +scriptversion=2004-02-15.20
  8. +
  9. +# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
  10. +# Created: 1993-05-16
  11. +# Public domain.
  12. +#
  13. +# This file is maintained in Automake, please report
  14. +# bugs to <bug-automake@gnu.org> or send patches to
  15. +# <automake-patches@gnu.org>.
  16. +
  17. +errstatus=0
  18. +dirmode=""
  19. +
  20. +usage="\
  21. +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
  22. +
  23. +Create each directory DIR (with mode MODE, if specified), including all
  24. +leading file name components.
  25. +
  26. +Report bugs to <bug-automake@gnu.org>."
  27. +
  28. +# process command line arguments
  29. +while test $# -gt 0 ; do
  30. + case $1 in
  31. + -h | --help | --h*) # -h for help
  32. + echo "$usage"
  33. + exit 0
  34. + ;;
  35. + -m) # -m PERM arg
  36. + shift
  37. + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
  38. + dirmode=$1
  39. + shift
  40. + ;;
  41. + --version)
  42. + echo "$0 $scriptversion"
  43. + exit 0
  44. + ;;
  45. + --) # stop option processing
  46. + shift
  47. + break
  48. + ;;
  49. + -*) # unknown option
  50. + echo "$usage" 1>&2
  51. + exit 1
  52. + ;;
  53. + *) # first non-opt arg
  54. + break
  55. + ;;
  56. + esac
  57. +done
  58. +
  59. +for file
  60. +do
  61. + if test -d "$file"; then
  62. + shift
  63. + else
  64. + break
  65. + fi
  66. +done
  67. +
  68. +case $# in
  69. + 0) exit 0 ;;
  70. +esac
  71. +
  72. +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
  73. +# mkdir -p a/c at the same time, both will detect that a is missing,
  74. +# one will create a, then the other will try to create a and die with
  75. +# a "File exists" error. This is a problem when calling mkinstalldirs
  76. +# from a parallel make. We use --version in the probe to restrict
  77. +# ourselves to GNU mkdir, which is thread-safe.
  78. +case $dirmode in
  79. + '')
  80. + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
  81. + echo "mkdir -p -- $*"
  82. + exec mkdir -p -- "$@"
  83. + else
  84. + # On NextStep and OpenStep, the `mkdir' command does not
  85. + # recognize any option. It will interpret all options as
  86. + # directories to create, and then abort because `.' already
  87. + # exists.
  88. + test -d ./-p && rmdir ./-p
  89. + test -d ./--version && rmdir ./--version
  90. + fi
  91. + ;;
  92. + *)
  93. + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
  94. + test ! -d ./--version; then
  95. + echo "mkdir -m $dirmode -p -- $*"
  96. + exec mkdir -m "$dirmode" -p -- "$@"
  97. + else
  98. + # Clean up after NextStep and OpenStep mkdir.
  99. + for d in ./-m ./-p ./--version "./$dirmode";
  100. + do
  101. + test -d $d && rmdir $d
  102. + done
  103. + fi
  104. + ;;
  105. +esac
  106. +
  107. +for file
  108. +do
  109. + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
  110. + shift
  111. +
  112. + pathcomp=
  113. + for d
  114. + do
  115. + pathcomp="$pathcomp$d"
  116. + case $pathcomp in
  117. + -*) pathcomp=./$pathcomp ;;
  118. + esac
  119. +
  120. + if test ! -d "$pathcomp"; then
  121. + echo "mkdir $pathcomp"
  122. +
  123. + mkdir "$pathcomp" || lasterr=$?
  124. +
  125. + if test ! -d "$pathcomp"; then
  126. + errstatus=$lasterr
  127. + else
  128. + if test ! -z "$dirmode"; then
  129. + echo "chmod $dirmode $pathcomp"
  130. + lasterr=""
  131. + chmod "$dirmode" "$pathcomp" || lasterr=$?
  132. +
  133. + if test ! -z "$lasterr"; then
  134. + errstatus=$lasterr
  135. + fi
  136. + fi
  137. + fi
  138. + fi
  139. +
  140. + pathcomp="$pathcomp/"
  141. + done
  142. +done
  143. +
  144. +exit $errstatus
  145. +
  146. +# Local Variables:
  147. +# mode: shell-script
  148. +# sh-indentation: 2
  149. +# eval: (add-hook 'write-file-hooks 'time-stamp)
  150. +# time-stamp-start: "scriptversion="
  151. +# time-stamp-format: "%:y-%02m-%02d.%02H"
  152. +# time-stamp-end: "$"
  153. +# End: