nutcracker 0.2.3 → 0.2.4.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. data/README.md +53 -5
  2. data/Rakefile +14 -19
  3. data/bin/nutcracker +6 -1
  4. data/ext/nutcracker/ChangeLog +9 -0
  5. data/ext/nutcracker/LICENSE +0 -0
  6. data/ext/nutcracker/Makefile +643 -0
  7. data/ext/nutcracker/Makefile.am +0 -0
  8. data/ext/nutcracker/Makefile.in +66 -149
  9. data/ext/nutcracker/NOTICE +0 -0
  10. data/ext/nutcracker/README.md +13 -11
  11. data/ext/nutcracker/aclocal.m4 +112 -201
  12. data/ext/nutcracker/autom4te.cache/output.0 +18664 -0
  13. data/ext/nutcracker/autom4te.cache/output.1 +18664 -0
  14. data/ext/nutcracker/autom4te.cache/output.2 +18664 -0
  15. data/ext/nutcracker/autom4te.cache/requests +494 -0
  16. data/ext/nutcracker/autom4te.cache/traces.0 +2415 -0
  17. data/ext/nutcracker/autom4te.cache/traces.1 +945 -0
  18. data/ext/nutcracker/autom4te.cache/traces.2 +2415 -0
  19. data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
  20. data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
  21. data/ext/nutcracker/conf/nutcracker.yml +0 -0
  22. data/ext/nutcracker/config.h +332 -0
  23. data/ext/nutcracker/config.h.in +15 -0
  24. data/ext/nutcracker/config.log +2684 -0
  25. data/ext/nutcracker/config.status +2317 -0
  26. data/ext/nutcracker/config/config.guess +23 -84
  27. data/ext/nutcracker/config/config.sub +23 -93
  28. data/ext/nutcracker/config/depcomp +35 -81
  29. data/ext/nutcracker/config/install-sh +109 -122
  30. data/ext/nutcracker/config/ltmain.sh +1053 -721
  31. data/ext/nutcracker/config/missing +20 -29
  32. data/ext/nutcracker/configure +2122 -2320
  33. data/ext/nutcracker/configure.ac +35 -3
  34. data/ext/nutcracker/contrib/Makefile +494 -0
  35. data/ext/nutcracker/contrib/Makefile.am +0 -0
  36. data/ext/nutcracker/contrib/Makefile.in +41 -107
  37. data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
  38. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +736 -0
  39. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13102 -0
  40. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +13085 -0
  41. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +13085 -0
  42. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +476 -0
  43. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +2339 -0
  44. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +545 -0
  45. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2339 -0
  46. data/ext/nutcracker/contrib/yaml-0.1.4/config.h +81 -0
  47. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
  48. data/ext/nutcracker/contrib/yaml-0.1.4/config.log +688 -0
  49. data/ext/nutcracker/contrib/yaml-0.1.4/config.status +2032 -0
  50. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +51 -0
  51. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
  52. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +41 -0
  53. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
  54. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +656 -0
  55. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
  56. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +40 -0
  57. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +91 -0
  58. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +84 -0
  59. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +87 -0
  60. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +83 -0
  61. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +110 -0
  62. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +79 -0
  63. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +80 -0
  64. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +92 -0
  65. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +71 -0
  66. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +88 -0
  67. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +96 -0
  68. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +71 -0
  69. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +80 -0
  70. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +100 -0
  71. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +71 -0
  72. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +87 -0
  73. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +163 -0
  74. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +115 -0
  75. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +71 -0
  76. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +80 -0
  77. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +77 -0
  78. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +91 -0
  79. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +84 -0
  80. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +87 -0
  81. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +83 -0
  82. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +110 -0
  83. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +79 -0
  84. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +80 -0
  85. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +92 -0
  86. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +71 -0
  87. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +88 -0
  88. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +96 -0
  89. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +71 -0
  90. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +80 -0
  91. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +100 -0
  92. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +71 -0
  93. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +87 -0
  94. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +163 -0
  95. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +115 -0
  96. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +71 -0
  97. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +80 -0
  98. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +77 -0
  99. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +667 -0
  100. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +81 -0
  101. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +78 -0
  102. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +373 -0
  103. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +196 -0
  104. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +126 -0
  105. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +320 -0
  106. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +819 -0
  107. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +664 -0
  108. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +60 -0
  109. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +795 -0
  110. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +606 -0
  111. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +222 -0
  112. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +246 -0
  113. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +106 -0
  114. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +31 -0
  115. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +42 -0
  116. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
  117. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
  118. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
  119. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +108 -0
  120. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +235 -0
  121. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +1300 -0
  122. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +496 -0
  123. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +108 -0
  124. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +91 -0
  125. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +420 -0
  126. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +1229 -0
  127. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +97 -0
  128. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +91 -0
  129. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +413 -0
  130. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +91 -0
  131. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
  132. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
  133. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
  134. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
  135. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +59 -0
  136. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +525 -0
  137. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +17 -0
  138. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +470 -0
  139. data/ext/nutcracker/contrib/yaml-0.1.4/libtool +8890 -0
  140. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +484 -0
  141. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +12 -0
  142. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
  143. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +12 -0
  144. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
  145. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +12 -0
  146. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
  147. data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +41 -0
  148. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +12 -0
  149. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
  150. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +12 -0
  151. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
  152. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +12 -0
  153. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
  154. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +12 -0
  155. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
  156. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +12 -0
  157. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
  158. data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +1 -0
  159. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +675 -0
  160. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
  161. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
  162. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
  163. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
  164. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
  165. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
  166. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
  167. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
  168. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
  169. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
  170. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
  171. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
  172. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
  173. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
  174. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
  175. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
  176. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
  177. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
  178. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +10 -0
  179. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +10 -0
  180. data/ext/nutcracker/extconf.rb +0 -5
  181. data/ext/nutcracker/libtool +9403 -0
  182. data/ext/nutcracker/m4/libtool.m4 +553 -492
  183. data/ext/nutcracker/m4/ltoptions.m4 +7 -6
  184. data/ext/nutcracker/m4/ltversion.m4 +5 -5
  185. data/ext/nutcracker/m4/lt~obsolete.m4 +9 -3
  186. data/ext/nutcracker/notes/c-styleguide.txt +0 -0
  187. data/ext/nutcracker/notes/debug.txt +0 -0
  188. data/ext/nutcracker/notes/memcache.txt +0 -0
  189. data/ext/nutcracker/notes/recommendation.md +21 -2
  190. data/ext/nutcracker/notes/redis.md +9 -9
  191. data/ext/nutcracker/notes/socket.txt +0 -0
  192. data/ext/nutcracker/scripts/nutcracker.init +0 -0
  193. data/ext/nutcracker/scripts/nutcracker.spec +0 -0
  194. data/ext/nutcracker/scripts/redis-check.py +0 -0
  195. data/ext/nutcracker/scripts/redis-check.sh +9 -0
  196. data/ext/nutcracker/src/Makefile +647 -0
  197. data/ext/nutcracker/src/Makefile.am +1 -1
  198. data/ext/nutcracker/src/Makefile.in +74 -153
  199. data/ext/nutcracker/src/hashkit/Makefile +476 -0
  200. data/ext/nutcracker/src/hashkit/Makefile.am +1 -0
  201. data/ext/nutcracker/src/hashkit/Makefile.in +39 -64
  202. data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
  203. data/ext/nutcracker/src/hashkit/nc_crc16.c +66 -0
  204. data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
  205. data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
  206. data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
  207. data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
  208. data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
  209. data/ext/nutcracker/src/hashkit/nc_hashkit.h +2 -0
  210. data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
  211. data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
  212. data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
  213. data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
  214. data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
  215. data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
  216. data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
  217. data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
  218. data/ext/nutcracker/src/hashkit/nc_modula.c +18 -6
  219. data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
  220. data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
  221. data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
  222. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
  223. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
  224. data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
  225. data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
  226. data/ext/nutcracker/src/nc.c +0 -0
  227. data/ext/nutcracker/src/nc.o +0 -0
  228. data/ext/nutcracker/src/nc_array.c +0 -0
  229. data/ext/nutcracker/src/nc_array.h +0 -0
  230. data/ext/nutcracker/src/nc_array.o +0 -0
  231. data/ext/nutcracker/src/nc_client.c +0 -0
  232. data/ext/nutcracker/src/nc_client.h +0 -0
  233. data/ext/nutcracker/src/nc_client.o +0 -0
  234. data/ext/nutcracker/src/nc_conf.c +14 -35
  235. data/ext/nutcracker/src/nc_conf.h +1 -1
  236. data/ext/nutcracker/src/nc_conf.o +0 -0
  237. data/ext/nutcracker/src/nc_connection.c +0 -0
  238. data/ext/nutcracker/src/nc_connection.h +0 -0
  239. data/ext/nutcracker/src/nc_connection.o +0 -0
  240. data/ext/nutcracker/src/nc_core.c +29 -26
  241. data/ext/nutcracker/src/nc_core.h +13 -5
  242. data/ext/nutcracker/src/nc_core.o +0 -0
  243. data/ext/nutcracker/src/{nc_event.c → nc_epoll.c} +94 -30
  244. data/ext/nutcracker/src/nc_epoll.o +0 -0
  245. data/ext/nutcracker/src/nc_event.h +33 -13
  246. data/ext/nutcracker/src/nc_kqueue.c +296 -0
  247. data/ext/nutcracker/src/nc_kqueue.o +0 -0
  248. data/ext/nutcracker/src/nc_log.c +0 -0
  249. data/ext/nutcracker/src/nc_log.h +0 -0
  250. data/ext/nutcracker/src/nc_log.o +0 -0
  251. data/ext/nutcracker/src/nc_mbuf.c +0 -0
  252. data/ext/nutcracker/src/nc_mbuf.h +0 -0
  253. data/ext/nutcracker/src/nc_mbuf.o +0 -0
  254. data/ext/nutcracker/src/nc_message.c +0 -0
  255. data/ext/nutcracker/src/nc_message.h +2 -0
  256. data/ext/nutcracker/src/nc_message.o +0 -0
  257. data/ext/nutcracker/src/nc_proxy.c +8 -8
  258. data/ext/nutcracker/src/nc_proxy.h +0 -0
  259. data/ext/nutcracker/src/nc_proxy.o +0 -0
  260. data/ext/nutcracker/src/nc_queue.h +0 -0
  261. data/ext/nutcracker/src/nc_rbtree.c +0 -0
  262. data/ext/nutcracker/src/nc_rbtree.h +0 -0
  263. data/ext/nutcracker/src/nc_rbtree.o +0 -0
  264. data/ext/nutcracker/src/nc_request.c +3 -3
  265. data/ext/nutcracker/src/nc_request.o +0 -0
  266. data/ext/nutcracker/src/nc_response.c +4 -6
  267. data/ext/nutcracker/src/nc_response.o +0 -0
  268. data/ext/nutcracker/src/nc_server.c +14 -12
  269. data/ext/nutcracker/src/nc_server.h +0 -0
  270. data/ext/nutcracker/src/nc_server.o +0 -0
  271. data/ext/nutcracker/src/nc_signal.c +0 -0
  272. data/ext/nutcracker/src/nc_signal.h +0 -0
  273. data/ext/nutcracker/src/nc_signal.o +0 -0
  274. data/ext/nutcracker/src/nc_stats.c +16 -21
  275. data/ext/nutcracker/src/nc_stats.h +3 -4
  276. data/ext/nutcracker/src/nc_stats.o +0 -0
  277. data/ext/nutcracker/src/nc_string.c +0 -0
  278. data/ext/nutcracker/src/nc_string.h +0 -0
  279. data/ext/nutcracker/src/nc_string.o +0 -0
  280. data/ext/nutcracker/src/nc_util.c +16 -0
  281. data/ext/nutcracker/src/nc_util.h +1 -0
  282. data/ext/nutcracker/src/nc_util.o +0 -0
  283. data/ext/nutcracker/src/nutcracker +0 -0
  284. data/ext/nutcracker/src/proto/Makefile +454 -0
  285. data/ext/nutcracker/src/proto/Makefile.am +0 -0
  286. data/ext/nutcracker/src/proto/Makefile.in +32 -60
  287. data/ext/nutcracker/src/proto/libproto.a +0 -0
  288. data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
  289. data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
  290. data/ext/nutcracker/src/proto/nc_proto.h +0 -0
  291. data/ext/nutcracker/src/proto/nc_redis.c +17 -4
  292. data/ext/nutcracker/src/proto/nc_redis.o +0 -0
  293. data/ext/nutcracker/stamp-h1 +1 -0
  294. data/lib/nutcracker.rb +64 -2
  295. data/lib/nutcracker/version.rb +1 -1
  296. metadata +237 -9
@@ -1,10 +1,10 @@
1
1
  #! /bin/sh
2
2
  # depcomp - compile a program generating dependencies as side-effects
3
3
 
4
- scriptversion=2009-04-28.21; # UTC
4
+ scriptversion=2006-10-15.18
5
5
 
6
- # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7
- # Software Foundation, Inc.
6
+ # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
7
+ # Foundation, Inc.
8
8
 
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of the GNU General Public License as published by
@@ -17,7 +17,9 @@ scriptversion=2009-04-28.21; # UTC
17
17
  # GNU General Public License for more details.
18
18
 
19
19
  # You should have received a copy of the GNU General Public License
20
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ # along with this program; if not, write to the Free Software
21
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22
+ # 02110-1301, USA.
21
23
 
22
24
  # As a special exception to the GNU General Public License, if you
23
25
  # distribute this file as part of a program that contains a
@@ -85,15 +87,6 @@ if test "$depmode" = dashXmstdout; then
85
87
  depmode=dashmstdout
86
88
  fi
87
89
 
88
- cygpath_u="cygpath -u -f -"
89
- if test "$depmode" = msvcmsys; then
90
- # This is just like msvisualcpp but w/o cygpath translation.
91
- # Just convert the backslash-escaped backslashes to single forward
92
- # slashes to satisfy depend.m4
93
- cygpath_u="sed s,\\\\\\\\,/,g"
94
- depmode=msvisualcpp
95
- fi
96
-
97
90
  case "$depmode" in
98
91
  gcc3)
99
92
  ## gcc 3 implements dependency tracking that does exactly what
@@ -199,14 +192,14 @@ sgi)
199
192
  ' < "$tmpdepfile" \
200
193
  | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
201
194
  tr '
202
- ' ' ' >> "$depfile"
203
- echo >> "$depfile"
195
+ ' ' ' >> $depfile
196
+ echo >> $depfile
204
197
 
205
198
  # The second pass generates a dummy entry for each header file.
206
199
  tr ' ' '
207
200
  ' < "$tmpdepfile" \
208
201
  | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
209
- >> "$depfile"
202
+ >> $depfile
210
203
  else
211
204
  # The sourcefile does not contain any dependencies, so just
212
205
  # store a dummy comment line, to avoid errors with the Makefile
@@ -222,39 +215,34 @@ aix)
222
215
  # current directory. Also, the AIX compiler puts `$object:' at the
223
216
  # start of each line; $object doesn't have directory information.
224
217
  # Version 6 uses the directory in both cases.
225
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
226
- test "x$dir" = "x$object" && dir=
227
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
218
+ stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
219
+ tmpdepfile="$stripped.u"
228
220
  if test "$libtool" = yes; then
229
- tmpdepfile1=$dir$base.u
230
- tmpdepfile2=$base.u
231
- tmpdepfile3=$dir.libs/$base.u
232
221
  "$@" -Wc,-M
233
222
  else
234
- tmpdepfile1=$dir$base.u
235
- tmpdepfile2=$dir$base.u
236
- tmpdepfile3=$dir$base.u
237
223
  "$@" -M
238
224
  fi
239
225
  stat=$?
240
226
 
227
+ if test -f "$tmpdepfile"; then :
228
+ else
229
+ stripped=`echo "$stripped" | sed 's,^.*/,,'`
230
+ tmpdepfile="$stripped.u"
231
+ fi
232
+
241
233
  if test $stat -eq 0; then :
242
234
  else
243
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
235
+ rm -f "$tmpdepfile"
244
236
  exit $stat
245
237
  fi
246
238
 
247
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248
- do
249
- test -f "$tmpdepfile" && break
250
- done
251
239
  if test -f "$tmpdepfile"; then
240
+ outname="$stripped.o"
252
241
  # Each line is of the form `foo.o: dependent.h'.
253
242
  # Do two passes, one to just change these to
254
243
  # `$object: dependent.h' and one to simply `dependent.h:'.
255
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
256
- # That's a tab and a space in the [].
257
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
244
+ sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
245
+ sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
258
246
  else
259
247
  # The sourcefile does not contain any dependencies, so just
260
248
  # store a dummy comment line, to avoid errors with the Makefile
@@ -335,12 +323,7 @@ hp2)
335
323
  if test -f "$tmpdepfile"; then
336
324
  sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
337
325
  # Add `dependent.h:' lines.
338
- sed -ne '2,${
339
- s/^ *//
340
- s/ \\*$//
341
- s/$/:/
342
- p
343
- }' "$tmpdepfile" >> "$depfile"
326
+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
344
327
  else
345
328
  echo "#dummy" > "$depfile"
346
329
  fi
@@ -416,7 +399,7 @@ dashmstdout)
416
399
 
417
400
  # Remove the call to Libtool.
418
401
  if test "$libtool" = yes; then
419
- while test "X$1" != 'X--mode=compile'; do
402
+ while test $1 != '--mode=compile'; do
420
403
  shift
421
404
  done
422
405
  shift
@@ -467,39 +450,32 @@ makedepend)
467
450
  "$@" || exit $?
468
451
  # Remove any Libtool call
469
452
  if test "$libtool" = yes; then
470
- while test "X$1" != 'X--mode=compile'; do
453
+ while test $1 != '--mode=compile'; do
471
454
  shift
472
455
  done
473
456
  shift
474
457
  fi
475
458
  # X makedepend
476
459
  shift
477
- cleared=no eat=no
478
- for arg
479
- do
460
+ cleared=no
461
+ for arg in "$@"; do
480
462
  case $cleared in
481
463
  no)
482
464
  set ""; shift
483
465
  cleared=yes ;;
484
466
  esac
485
- if test $eat = yes; then
486
- eat=no
487
- continue
488
- fi
489
467
  case "$arg" in
490
468
  -D*|-I*)
491
469
  set fnord "$@" "$arg"; shift ;;
492
470
  # Strip any option that makedepend may not understand. Remove
493
471
  # the object too, otherwise makedepend will parse it as a source file.
494
- -arch)
495
- eat=yes ;;
496
472
  -*|$object)
497
473
  ;;
498
474
  *)
499
475
  set fnord "$@" "$arg"; shift ;;
500
476
  esac
501
477
  done
502
- obj_suffix=`echo "$object" | sed 's/^.*\././'`
478
+ obj_suffix="`echo $object | sed 's/^.*\././'`"
503
479
  touch "$tmpdepfile"
504
480
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
505
481
  rm -f "$depfile"
@@ -519,7 +495,7 @@ cpp)
519
495
 
520
496
  # Remove the call to Libtool.
521
497
  if test "$libtool" = yes; then
522
- while test "X$1" != 'X--mode=compile'; do
498
+ while test $1 != '--mode=compile'; do
523
499
  shift
524
500
  done
525
501
  shift
@@ -557,27 +533,13 @@ cpp)
557
533
 
558
534
  msvisualcpp)
559
535
  # Important note: in order to support this mode, a compiler *must*
560
- # always write the preprocessed file to stdout.
536
+ # always write the preprocessed file to stdout, regardless of -o,
537
+ # because we must use -o when running libtool.
561
538
  "$@" || exit $?
562
-
563
- # Remove the call to Libtool.
564
- if test "$libtool" = yes; then
565
- while test "X$1" != 'X--mode=compile'; do
566
- shift
567
- done
568
- shift
569
- fi
570
-
571
539
  IFS=" "
572
540
  for arg
573
541
  do
574
542
  case "$arg" in
575
- -o)
576
- shift
577
- ;;
578
- $object)
579
- shift
580
- ;;
581
543
  "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
582
544
  set fnord "$@"
583
545
  shift
@@ -590,23 +552,16 @@ msvisualcpp)
590
552
  ;;
591
553
  esac
592
554
  done
593
- "$@" -E 2>/dev/null |
594
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
555
+ "$@" -E |
556
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
595
557
  rm -f "$depfile"
596
558
  echo "$object : \\" > "$depfile"
597
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
559
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
598
560
  echo " " >> "$depfile"
599
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
561
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
600
562
  rm -f "$tmpdepfile"
601
563
  ;;
602
564
 
603
- msvcmsys)
604
- # This case exists only to let depend.m4 do its work. It works by
605
- # looking at the text of this script. This case will never be run,
606
- # since it is checked for above.
607
- exit 1
608
- ;;
609
-
610
565
  none)
611
566
  exec "$@"
612
567
  ;;
@@ -625,6 +580,5 @@ exit 0
625
580
  # eval: (add-hook 'write-file-hooks 'time-stamp)
626
581
  # time-stamp-start: "scriptversion="
627
582
  # time-stamp-format: "%:y-%02m-%02d.%02H"
628
- # time-stamp-time-zone: "UTC"
629
- # time-stamp-end: "; # UTC"
583
+ # time-stamp-end: "$"
630
584
  # End:
@@ -1,7 +1,7 @@
1
1
  #!/bin/sh
2
2
  # install - install a program, script, or datafile
3
3
 
4
- scriptversion=2009-04-28.21; # UTC
4
+ scriptversion=2006-10-14.15
5
5
 
6
6
  # This originates from X11R5 (mit/util/scripts/install.sh), which was
7
7
  # later released in X11R6 (xc/config/util/install.sh) with the
@@ -48,7 +48,7 @@ IFS=" "" $nl"
48
48
  # set DOITPROG to echo to test this script
49
49
 
50
50
  # Don't use :- since 4.3BSD and earlier shells don't like it.
51
- doit=${DOITPROG-}
51
+ doit="${DOITPROG-}"
52
52
  if test -z "$doit"; then
53
53
  doit_exec=exec
54
54
  else
@@ -58,49 +58,34 @@ fi
58
58
  # Put in absolute file names if you don't have them in your path;
59
59
  # or use environment vars.
60
60
 
61
- chgrpprog=${CHGRPPROG-chgrp}
62
- chmodprog=${CHMODPROG-chmod}
63
- chownprog=${CHOWNPROG-chown}
64
- cmpprog=${CMPPROG-cmp}
65
- cpprog=${CPPROG-cp}
66
- mkdirprog=${MKDIRPROG-mkdir}
67
- mvprog=${MVPROG-mv}
68
- rmprog=${RMPROG-rm}
69
- stripprog=${STRIPPROG-strip}
70
-
71
- posix_glob='?'
72
- initialize_posix_glob='
73
- test "$posix_glob" != "?" || {
74
- if (set -f) 2>/dev/null; then
75
- posix_glob=
76
- else
77
- posix_glob=:
78
- fi
79
- }
80
- '
61
+ mvprog="${MVPROG-mv}"
62
+ cpprog="${CPPROG-cp}"
63
+ chmodprog="${CHMODPROG-chmod}"
64
+ chownprog="${CHOWNPROG-chown}"
65
+ chgrpprog="${CHGRPPROG-chgrp}"
66
+ stripprog="${STRIPPROG-strip}"
67
+ rmprog="${RMPROG-rm}"
68
+ mkdirprog="${MKDIRPROG-mkdir}"
81
69
 
70
+ posix_glob=
82
71
  posix_mkdir=
83
72
 
84
73
  # Desired mode of installed file.
85
74
  mode=0755
86
75
 
87
- chgrpcmd=
88
76
  chmodcmd=$chmodprog
89
77
  chowncmd=
90
- mvcmd=$mvprog
91
- rmcmd="$rmprog -f"
78
+ chgrpcmd=
92
79
  stripcmd=
93
-
80
+ rmcmd="$rmprog -f"
81
+ mvcmd="$mvprog"
94
82
  src=
95
83
  dst=
96
84
  dir_arg=
97
- dst_arg=
98
-
99
- copy_on_change=false
85
+ dstarg=
100
86
  no_target_directory=
101
87
 
102
- usage="\
103
- Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
88
+ usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
104
89
  or: $0 [OPTION]... SRCFILES... DIRECTORY
105
90
  or: $0 [OPTION]... -t DIRECTORY SRCFILES...
106
91
  or: $0 [OPTION]... -d DIRECTORIES...
@@ -110,55 +95,65 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
110
95
  In the 4th, create DIRECTORIES.
111
96
 
112
97
  Options:
113
- --help display this help and exit.
114
- --version display version info and exit.
115
-
116
- -c (ignored)
117
- -C install only if different (preserve the last data modification time)
118
- -d create directories instead of installing files.
119
- -g GROUP $chgrpprog installed files to GROUP.
120
- -m MODE $chmodprog installed files to MODE.
121
- -o USER $chownprog installed files to USER.
122
- -s $stripprog installed files.
123
- -t DIRECTORY install into DIRECTORY.
124
- -T report an error if DSTFILE is a directory.
98
+ -c (ignored)
99
+ -d create directories instead of installing files.
100
+ -g GROUP $chgrpprog installed files to GROUP.
101
+ -m MODE $chmodprog installed files to MODE.
102
+ -o USER $chownprog installed files to USER.
103
+ -s $stripprog installed files.
104
+ -t DIRECTORY install into DIRECTORY.
105
+ -T report an error if DSTFILE is a directory.
106
+ --help display this help and exit.
107
+ --version display version info and exit.
125
108
 
126
109
  Environment variables override the default commands:
127
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
128
- RMPROG STRIPPROG
110
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
129
111
  "
130
112
 
131
113
  while test $# -ne 0; do
132
114
  case $1 in
133
- -c) ;;
134
-
135
- -C) copy_on_change=true;;
115
+ -c) shift
116
+ continue;;
136
117
 
137
- -d) dir_arg=true;;
118
+ -d) dir_arg=true
119
+ shift
120
+ continue;;
138
121
 
139
122
  -g) chgrpcmd="$chgrpprog $2"
140
- shift;;
123
+ shift
124
+ shift
125
+ continue;;
141
126
 
142
127
  --help) echo "$usage"; exit $?;;
143
128
 
144
129
  -m) mode=$2
130
+ shift
131
+ shift
145
132
  case $mode in
146
133
  *' '* | *' '* | *'
147
134
  '* | *'*'* | *'?'* | *'['*)
148
135
  echo "$0: invalid mode: $mode" >&2
149
136
  exit 1;;
150
137
  esac
151
- shift;;
138
+ continue;;
152
139
 
153
140
  -o) chowncmd="$chownprog $2"
154
- shift;;
141
+ shift
142
+ shift
143
+ continue;;
155
144
 
156
- -s) stripcmd=$stripprog;;
145
+ -s) stripcmd=$stripprog
146
+ shift
147
+ continue;;
157
148
 
158
- -t) dst_arg=$2
159
- shift;;
149
+ -t) dstarg=$2
150
+ shift
151
+ shift
152
+ continue;;
160
153
 
161
- -T) no_target_directory=true;;
154
+ -T) no_target_directory=true
155
+ shift
156
+ continue;;
162
157
 
163
158
  --version) echo "$0 $scriptversion"; exit $?;;
164
159
 
@@ -170,22 +165,21 @@ while test $# -ne 0; do
170
165
 
171
166
  *) break;;
172
167
  esac
173
- shift
174
168
  done
175
169
 
176
- if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
170
+ if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
177
171
  # When -d is used, all remaining arguments are directories to create.
178
172
  # When -t is used, the destination is already specified.
179
173
  # Otherwise, the last argument is the destination. Remove it from $@.
180
174
  for arg
181
175
  do
182
- if test -n "$dst_arg"; then
176
+ if test -n "$dstarg"; then
183
177
  # $@ is not empty: it contains at least $arg.
184
- set fnord "$@" "$dst_arg"
178
+ set fnord "$@" "$dstarg"
185
179
  shift # fnord
186
180
  fi
187
181
  shift # arg
188
- dst_arg=$arg
182
+ dstarg=$arg
189
183
  done
190
184
  fi
191
185
 
@@ -230,7 +224,7 @@ for src
230
224
  do
231
225
  # Protect names starting with `-'.
232
226
  case $src in
233
- -*) src=./$src;;
227
+ -*) src=./$src ;;
234
228
  esac
235
229
 
236
230
  if test -n "$dir_arg"; then
@@ -248,22 +242,22 @@ do
248
242
  exit 1
249
243
  fi
250
244
 
251
- if test -z "$dst_arg"; then
245
+ if test -z "$dstarg"; then
252
246
  echo "$0: no destination specified." >&2
253
247
  exit 1
254
248
  fi
255
249
 
256
- dst=$dst_arg
250
+ dst=$dstarg
257
251
  # Protect names starting with `-'.
258
252
  case $dst in
259
- -*) dst=./$dst;;
253
+ -*) dst=./$dst ;;
260
254
  esac
261
255
 
262
256
  # If destination is a directory, append the input filename; won't work
263
257
  # if double slashes aren't ignored.
264
258
  if test -d "$dst"; then
265
259
  if test -n "$no_target_directory"; then
266
- echo "$0: $dst_arg: Is a directory" >&2
260
+ echo "$0: $dstarg: Is a directory" >&2
267
261
  exit 1
268
262
  fi
269
263
  dstdir=$dst
@@ -384,19 +378,26 @@ do
384
378
  # directory the slow way, step by step, checking for races as we go.
385
379
 
386
380
  case $dstdir in
387
- /*) prefix='/';;
388
- -*) prefix='./';;
389
- *) prefix='';;
381
+ /*) prefix=/ ;;
382
+ -*) prefix=./ ;;
383
+ *) prefix= ;;
390
384
  esac
391
385
 
392
- eval "$initialize_posix_glob"
386
+ case $posix_glob in
387
+ '')
388
+ if (set -f) 2>/dev/null; then
389
+ posix_glob=true
390
+ else
391
+ posix_glob=false
392
+ fi ;;
393
+ esac
393
394
 
394
395
  oIFS=$IFS
395
396
  IFS=/
396
- $posix_glob set -f
397
+ $posix_glob && set -f
397
398
  set fnord $dstdir
398
399
  shift
399
- $posix_glob set +f
400
+ $posix_glob && set +f
400
401
  IFS=$oIFS
401
402
 
402
403
  prefixes=
@@ -458,54 +459,41 @@ do
458
459
  # ignore errors from any of these, just make sure not to ignore
459
460
  # errors from the above "$doit $cpprog $src $dsttmp" command.
460
461
  #
461
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
462
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
463
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
464
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
465
-
466
- # If -C, don't bother to copy if it wouldn't change the file.
467
- if $copy_on_change &&
468
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
469
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
470
-
471
- eval "$initialize_posix_glob" &&
472
- $posix_glob set -f &&
473
- set X $old && old=:$2:$4:$5:$6 &&
474
- set X $new && new=:$2:$4:$5:$6 &&
475
- $posix_glob set +f &&
476
-
477
- test "$old" = "$new" &&
478
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
479
- then
480
- rm -f "$dsttmp"
481
- else
482
- # Rename the file to the real destination.
483
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
484
-
485
- # The rename failed, perhaps because mv can't rename something else
486
- # to itself, or perhaps because mv is so ancient that it does not
487
- # support -f.
488
- {
489
- # Now remove or move aside any old file at destination location.
490
- # We try this two ways since rm can't unlink itself on some
491
- # systems and the destination file might be busy for other
492
- # reasons. In this case, the final cleanup might fail but the new
493
- # file should still install successfully.
494
- {
495
- test ! -f "$dst" ||
496
- $doit $rmcmd -f "$dst" 2>/dev/null ||
497
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
498
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
499
- } ||
500
- { echo "$0: cannot unlink or rename $dst" >&2
501
- (exit 1); exit 1
502
- }
503
- } &&
504
-
505
- # Now rename the file to the real destination.
506
- $doit $mvcmd "$dsttmp" "$dst"
507
- }
508
- fi || exit 1
462
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
463
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
464
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
465
+ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
466
+
467
+ # Now rename the file to the real destination.
468
+ { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
469
+ || {
470
+ # The rename failed, perhaps because mv can't rename something else
471
+ # to itself, or perhaps because mv is so ancient that it does not
472
+ # support -f.
473
+
474
+ # Now remove or move aside any old file at destination location.
475
+ # We try this two ways since rm can't unlink itself on some
476
+ # systems and the destination file might be busy for other
477
+ # reasons. In this case, the final cleanup might fail but the new
478
+ # file should still install successfully.
479
+ {
480
+ if test -f "$dst"; then
481
+ $doit $rmcmd -f "$dst" 2>/dev/null \
482
+ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
483
+ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
484
+ || {
485
+ echo "$0: cannot unlink or rename $dst" >&2
486
+ (exit 1); exit 1
487
+ }
488
+ else
489
+ :
490
+ fi
491
+ } &&
492
+
493
+ # Now rename the file to the real destination.
494
+ $doit $mvcmd "$dsttmp" "$dst"
495
+ }
496
+ } || exit 1
509
497
 
510
498
  trap '' 0
511
499
  fi
@@ -515,6 +503,5 @@ done
515
503
  # eval: (add-hook 'write-file-hooks 'time-stamp)
516
504
  # time-stamp-start: "scriptversion="
517
505
  # time-stamp-format: "%:y-%02m-%02d.%02H"
518
- # time-stamp-time-zone: "UTC"
519
- # time-stamp-end: "; # UTC"
506
+ # time-stamp-end: "$"
520
507
  # End: