nutcracker 0.2.3 → 0.2.4.beta1

Sign up to get free protection for your applications and to get access to all the features.
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: