setup 4.0.0

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 (205) hide show
  1. data/COPYING +515 -0
  2. data/HISTORY +7 -0
  3. data/MANIFEST +231 -0
  4. data/METADATA +25 -0
  5. data/NEWS +21 -0
  6. data/README +110 -0
  7. data/bin/setup.rb +7 -0
  8. data/doc/manual/doc.en/devel.html +208 -0
  9. data/doc/manual/doc.en/hookapi.html +91 -0
  10. data/doc/manual/doc.en/index.html +28 -0
  11. data/doc/manual/doc.en/metaconfapi.html +79 -0
  12. data/doc/manual/doc.en/news.html +189 -0
  13. data/doc/manual/doc.en/usage.html +297 -0
  14. data/doc/manual/doc.ja/devel.html +301 -0
  15. data/doc/manual/doc.ja/hookapi.html +84 -0
  16. data/doc/manual/doc.ja/index.html +28 -0
  17. data/doc/manual/doc.ja/metaconfapi.html +80 -0
  18. data/doc/manual/doc.ja/news.html +186 -0
  19. data/doc/manual/doc.ja/usage.html +319 -0
  20. data/doc/rdoc/classes/Errno.html +89 -0
  21. data/doc/rdoc/classes/Errno/ENOTEMPTY.html +92 -0
  22. data/doc/rdoc/classes/File.html +134 -0
  23. data/doc/rdoc/classes/Setup.html +107 -0
  24. data/doc/rdoc/classes/Setup/Command.html +276 -0
  25. data/doc/rdoc/classes/Setup/ConfigTable.html +622 -0
  26. data/doc/rdoc/classes/Setup/Installer.html +2454 -0
  27. data/doc/rdoc/classes/Setup/Installer/Shebang.html +187 -0
  28. data/doc/rdoc/classes/SetupError.html +92 -0
  29. data/doc/rdoc/created.rid +1 -0
  30. data/doc/rdoc/files/COPYING.html +759 -0
  31. data/doc/rdoc/files/HISTORY.html +104 -0
  32. data/doc/rdoc/files/METADATA.html +92 -0
  33. data/doc/rdoc/files/NEWS.html +113 -0
  34. data/doc/rdoc/files/README.html +214 -0
  35. data/doc/rdoc/files/bin/setup_rb.html +96 -0
  36. data/doc/rdoc/files/lib/setup/build_rb.html +96 -0
  37. data/doc/rdoc/files/lib/setup/command_rb.html +98 -0
  38. data/doc/rdoc/files/lib/setup/config_rb.html +98 -0
  39. data/doc/rdoc/files/lib/setup/error_rb.html +92 -0
  40. data/doc/rdoc/files/lib/setup/install_rb.html +116 -0
  41. data/doc/rdoc/files/lib/setup/rake_rb.html +97 -0
  42. data/doc/rdoc/files/lib/setup/rubyver_rb.html +96 -0
  43. data/doc/rdoc/files/lib/setup_rb.html +92 -0
  44. data/doc/rdoc/fr_class_index.html +55 -0
  45. data/doc/rdoc/fr_file_index.html +60 -0
  46. data/doc/rdoc/fr_method_index.html +182 -0
  47. data/doc/rdoc/index.html +26 -0
  48. data/doc/rdoc/rdoc-style.css +177 -0
  49. data/doc/ri/Errno/ENOTEMPTY/cdesc-ENOTEMPTY.yaml +15 -0
  50. data/doc/ri/Errno/cdesc-Errno.yaml +15 -0
  51. data/doc/ri/File/cdesc-File.yaml +18 -0
  52. data/doc/ri/File/dir%3f-c.yaml +12 -0
  53. data/doc/ri/File/read-c.yaml +10 -0
  54. data/doc/ri/Setup/Command/cdesc-Command.yaml +28 -0
  55. data/doc/ri/Setup/Command/help-i.yaml +12 -0
  56. data/doc/ri/Setup/Command/run-c.yaml +11 -0
  57. data/doc/ri/Setup/Command/run-i.yaml +11 -0
  58. data/doc/ri/Setup/ConfigTable/%5b%5d%3d-i.yaml +12 -0
  59. data/doc/ri/Setup/ConfigTable/%5b%5d-i.yaml +12 -0
  60. data/doc/ri/Setup/ConfigTable/attr_accessor-c.yaml +12 -0
  61. data/doc/ri/Setup/ConfigTable/attr_boolean-c.yaml +12 -0
  62. data/doc/ri/Setup/ConfigTable/attr_pathlist-c.yaml +12 -0
  63. data/doc/ri/Setup/ConfigTable/attr_pathname-c.yaml +12 -0
  64. data/doc/ri/Setup/ConfigTable/cdesc-ConfigTable.yaml +66 -0
  65. data/doc/ri/Setup/ConfigTable/compiles%3f-i.yaml +10 -0
  66. data/doc/ri/Setup/ConfigTable/env_config-i.yaml +12 -0
  67. data/doc/ri/Setup/ConfigTable/extconfs-i.yaml +11 -0
  68. data/doc/ri/Setup/ConfigTable/extensions-i.yaml +10 -0
  69. data/doc/ri/Setup/ConfigTable/initialize_defaults-i.yaml +14 -0
  70. data/doc/ri/Setup/ConfigTable/installdirs%3d-i.yaml +12 -0
  71. data/doc/ri/Setup/ConfigTable/load_config-i.yaml +12 -0
  72. data/doc/ri/Setup/ConfigTable/new-c.yaml +12 -0
  73. data/doc/ri/Setup/ConfigTable/save_config-i.yaml +12 -0
  74. data/doc/ri/Setup/ConfigTable/shebang%3d-i.yaml +12 -0
  75. data/doc/ri/Setup/ConfigTable/show-i.yaml +10 -0
  76. data/doc/ri/Setup/Installer/Shebang/cdesc-Shebang.yaml +28 -0
  77. data/doc/ri/Setup/Installer/Shebang/load-c.yaml +10 -0
  78. data/doc/ri/Setup/Installer/Shebang/new-c.yaml +10 -0
  79. data/doc/ri/Setup/Installer/Shebang/parse-c.yaml +10 -0
  80. data/doc/ri/Setup/Installer/Shebang/to_s-i.yaml +10 -0
  81. data/doc/ri/Setup/Installer/binread-i.yaml +14 -0
  82. data/doc/ri/Setup/Installer/cdesc-Installer.yaml +281 -0
  83. data/doc/ri/Setup/Installer/clean_dir_bin-i.yaml +12 -0
  84. data/doc/ri/Setup/Installer/clean_dir_data-i.yaml +12 -0
  85. data/doc/ri/Setup/Installer/clean_dir_doc-i.yaml +12 -0
  86. data/doc/ri/Setup/Installer/clean_dir_etc-i.yaml +12 -0
  87. data/doc/ri/Setup/Installer/clean_dir_ext-i.yaml +10 -0
  88. data/doc/ri/Setup/Installer/clean_dir_lib-i.yaml +12 -0
  89. data/doc/ri/Setup/Installer/clean_dir_man-i.yaml +12 -0
  90. data/doc/ri/Setup/Installer/command-i.yaml +10 -0
  91. data/doc/ri/Setup/Installer/compiles%3f-i.yaml +10 -0
  92. data/doc/ri/Setup/Installer/config_dir_bin-i.yaml +12 -0
  93. data/doc/ri/Setup/Installer/config_dir_data-i.yaml +12 -0
  94. data/doc/ri/Setup/Installer/config_dir_doc-i.yaml +12 -0
  95. data/doc/ri/Setup/Installer/config_dir_etc-i.yaml +12 -0
  96. data/doc/ri/Setup/Installer/config_dir_ext-i.yaml +10 -0
  97. data/doc/ri/Setup/Installer/config_dir_lib-i.yaml +12 -0
  98. data/doc/ri/Setup/Installer/config_dir_man-i.yaml +12 -0
  99. data/doc/ri/Setup/Installer/curr_objdir-i.yaml +10 -0
  100. data/doc/ri/Setup/Installer/curr_srcdir-i.yaml +12 -0
  101. data/doc/ri/Setup/Installer/diff%3f-i.yaml +10 -0
  102. data/doc/ri/Setup/Installer/directories_of-i.yaml +10 -0
  103. data/doc/ri/Setup/Installer/distclean_dir_bin-i.yaml +12 -0
  104. data/doc/ri/Setup/Installer/distclean_dir_data-i.yaml +12 -0
  105. data/doc/ri/Setup/Installer/distclean_dir_doc-i.yaml +10 -0
  106. data/doc/ri/Setup/Installer/distclean_dir_etc-i.yaml +12 -0
  107. data/doc/ri/Setup/Installer/distclean_dir_ext-i.yaml +10 -0
  108. data/doc/ri/Setup/Installer/distclean_dir_lib-i.yaml +12 -0
  109. data/doc/ri/Setup/Installer/distclean_dir_man-i.yaml +12 -0
  110. data/doc/ri/Setup/Installer/dive_into-i.yaml +10 -0
  111. data/doc/ri/Setup/Installer/dllext-i.yaml +10 -0
  112. data/doc/ri/Setup/Installer/exec_all-i.yaml +12 -0
  113. data/doc/ri/Setup/Installer/exec_clean-i.yaml +12 -0
  114. data/doc/ri/Setup/Installer/exec_config-i.yaml +12 -0
  115. data/doc/ri/Setup/Installer/exec_distclean-i.yaml +12 -0
  116. data/doc/ri/Setup/Installer/exec_doc-i.yaml +11 -0
  117. data/doc/ri/Setup/Installer/exec_install-i.yaml +12 -0
  118. data/doc/ri/Setup/Installer/exec_rdoc-i.yaml +14 -0
  119. data/doc/ri/Setup/Installer/exec_ri-i.yaml +12 -0
  120. data/doc/ri/Setup/Installer/exec_setup-i.yaml +14 -0
  121. data/doc/ri/Setup/Installer/exec_show-i.yaml +12 -0
  122. data/doc/ri/Setup/Installer/exec_task_traverse-i.yaml +12 -0
  123. data/doc/ri/Setup/Installer/exec_test-i.yaml +14 -0
  124. data/doc/ri/Setup/Installer/exec_uninstall-i.yaml +12 -0
  125. data/doc/ri/Setup/Installer/existfiles-i.yaml +10 -0
  126. data/doc/ri/Setup/Installer/extconf-i.yaml +10 -0
  127. data/doc/ri/Setup/Installer/extdir%3f-i.yaml +10 -0
  128. data/doc/ri/Setup/Installer/extensions-i.yaml +12 -0
  129. data/doc/ri/Setup/Installer/files_of-i.yaml +10 -0
  130. data/doc/ri/Setup/Installer/force_remove_file-i.yaml +10 -0
  131. data/doc/ri/Setup/Installer/get_config-i.yaml +11 -0
  132. data/doc/ri/Setup/Installer/glob_reject-i.yaml +10 -0
  133. data/doc/ri/Setup/Installer/glob_select-i.yaml +10 -0
  134. data/doc/ri/Setup/Installer/globs2re-i.yaml +10 -0
  135. data/doc/ri/Setup/Installer/hookfiles-i.yaml +10 -0
  136. data/doc/ri/Setup/Installer/inspect-i.yaml +10 -0
  137. data/doc/ri/Setup/Installer/install-i.yaml +10 -0
  138. data/doc/ri/Setup/Installer/install_dir_bin-i.yaml +10 -0
  139. data/doc/ri/Setup/Installer/install_dir_data-i.yaml +10 -0
  140. data/doc/ri/Setup/Installer/install_dir_doc-i.yaml +12 -0
  141. data/doc/ri/Setup/Installer/install_dir_etc-i.yaml +10 -0
  142. data/doc/ri/Setup/Installer/install_dir_ext-i.yaml +10 -0
  143. data/doc/ri/Setup/Installer/install_dir_lib-i.yaml +10 -0
  144. data/doc/ri/Setup/Installer/install_dir_man-i.yaml +10 -0
  145. data/doc/ri/Setup/Installer/install_files-i.yaml +10 -0
  146. data/doc/ri/Setup/Installer/installation%21-i.yaml +10 -0
  147. data/doc/ri/Setup/Installer/installation%3f-i.yaml +12 -0
  148. data/doc/ri/Setup/Installer/libfiles-i.yaml +10 -0
  149. data/doc/ri/Setup/Installer/make-i.yaml +10 -0
  150. data/doc/ri/Setup/Installer/mapdir-i.yaml +10 -0
  151. data/doc/ri/Setup/Installer/mkdir_p-i.yaml +10 -0
  152. data/doc/ri/Setup/Installer/move_file-i.yaml +10 -0
  153. data/doc/ri/Setup/Installer/new-c.yaml +12 -0
  154. data/doc/ri/Setup/Installer/new_shebang-i.yaml +10 -0
  155. data/doc/ri/Setup/Installer/no_harm%3f-i.yaml +10 -0
  156. data/doc/ri/Setup/Installer/noop-i.yaml +54 -0
  157. data/doc/ri/Setup/Installer/objdir_root-i.yaml +10 -0
  158. data/doc/ri/Setup/Installer/open_atomic_writer-i.yaml +10 -0
  159. data/doc/ri/Setup/Installer/quiet%3f-i.yaml +10 -0
  160. data/doc/ri/Setup/Installer/record_installation-i.yaml +10 -0
  161. data/doc/ri/Setup/Installer/relpath-i.yaml +10 -0
  162. data/doc/ri/Setup/Installer/remove_file-i.yaml +10 -0
  163. data/doc/ri/Setup/Installer/remove_tree-i.yaml +10 -0
  164. data/doc/ri/Setup/Installer/remove_tree0-i.yaml +10 -0
  165. data/doc/ri/Setup/Installer/report_header-i.yaml +11 -0
  166. data/doc/ri/Setup/Installer/rm_f-i.yaml +10 -0
  167. data/doc/ri/Setup/Installer/rm_rf-i.yaml +10 -0
  168. data/doc/ri/Setup/Installer/rmdir-i.yaml +10 -0
  169. data/doc/ri/Setup/Installer/ruby-i.yaml +10 -0
  170. data/doc/ri/Setup/Installer/rubyextentions-i.yaml +10 -0
  171. data/doc/ri/Setup/Installer/run_hook-i.yaml +10 -0
  172. data/doc/ri/Setup/Installer/set_config-i.yaml +12 -0
  173. data/doc/ri/Setup/Installer/setup_dir_bin-i.yaml +10 -0
  174. data/doc/ri/Setup/Installer/setup_dir_data-i.yaml +12 -0
  175. data/doc/ri/Setup/Installer/setup_dir_doc-i.yaml +12 -0
  176. data/doc/ri/Setup/Installer/setup_dir_etc-i.yaml +12 -0
  177. data/doc/ri/Setup/Installer/setup_dir_ext-i.yaml +10 -0
  178. data/doc/ri/Setup/Installer/setup_dir_lib-i.yaml +12 -0
  179. data/doc/ri/Setup/Installer/setup_dir_man-i.yaml +12 -0
  180. data/doc/ri/Setup/Installer/srcdir_root-i.yaml +12 -0
  181. data/doc/ri/Setup/Installer/srcdirectories-i.yaml +10 -0
  182. data/doc/ri/Setup/Installer/srcdirectory%3f-i.yaml +10 -0
  183. data/doc/ri/Setup/Installer/srcentries-i.yaml +10 -0
  184. data/doc/ri/Setup/Installer/srcexist%3f-i.yaml +10 -0
  185. data/doc/ri/Setup/Installer/srcfile%3f-i.yaml +10 -0
  186. data/doc/ri/Setup/Installer/srcfile-i.yaml +10 -0
  187. data/doc/ri/Setup/Installer/srcfiles-i.yaml +10 -0
  188. data/doc/ri/Setup/Installer/targetfiles-i.yaml +10 -0
  189. data/doc/ri/Setup/Installer/traverse-i.yaml +10 -0
  190. data/doc/ri/Setup/Installer/update_shebang_line-i.yaml +10 -0
  191. data/doc/ri/Setup/Installer/verbose%3f-i.yaml +10 -0
  192. data/doc/ri/Setup/Installer/verbose_off-i.yaml +10 -0
  193. data/doc/ri/Setup/cdesc-Setup.yaml +15 -0
  194. data/doc/ri/SetupError/cdesc-SetupError.yaml +15 -0
  195. data/doc/ri/created.rid +1 -0
  196. data/lib/setup.rb +5 -0
  197. data/lib/setup/build.rb +2 -0
  198. data/lib/setup/command.rb +169 -0
  199. data/lib/setup/config.rb +339 -0
  200. data/lib/setup/error.rb +1 -0
  201. data/lib/setup/install.rb +915 -0
  202. data/lib/setup/rake.rb +62 -0
  203. data/lib/setup/rubyver.rb +25 -0
  204. data/script/install +6 -0
  205. metadata +293 -0
@@ -0,0 +1,2454 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Setup::Installer</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Setup::Installer</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/setup/install_rb.html">lib/setup/install.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><p>
79
+ <a href="Installer.html">Installer</a> class handles the actual <a
80
+ href="Installer.html#M000113">install</a> procedure, as well as the other
81
+ tasks, such as testing.
82
+ </p>
83
+ </div>
84
+
85
+
86
+
87
+ <div class="sectiontitle">Methods</div>
88
+ <span style="padding-right: 5px;"><a href="#M000103">binread</a></span>
89
+ <span style="padding-right: 5px;"><a href="#M000084">clean_dir_bin</a></span>
90
+ <span style="padding-right: 5px;"><a href="#M000086">clean_dir_data</a></span>
91
+ <span style="padding-right: 5px;"><a href="#M000089">clean_dir_doc</a></span>
92
+ <span style="padding-right: 5px;"><a href="#M000087">clean_dir_etc</a></span>
93
+ <span style="padding-right: 5px;"><a href="#M000090">clean_dir_ext</a></span>
94
+ <span style="padding-right: 5px;"><a href="#M000085">clean_dir_lib</a></span>
95
+ <span style="padding-right: 5px;"><a href="#M000088">clean_dir_man</a></span>
96
+ <span style="padding-right: 5px;"><a href="#M000116">command</a></span>
97
+ <span style="padding-right: 5px;"><a href="#M000031">compiles?</a></span>
98
+ <span style="padding-right: 5px;"><a href="#M000038">config_dir_bin</a></span>
99
+ <span style="padding-right: 5px;"><a href="#M000041">config_dir_data</a></span>
100
+ <span style="padding-right: 5px;"><a href="#M000044">config_dir_doc</a></span>
101
+ <span style="padding-right: 5px;"><a href="#M000042">config_dir_etc</a></span>
102
+ <span style="padding-right: 5px;"><a href="#M000040">config_dir_ext</a></span>
103
+ <span style="padding-right: 5px;"><a href="#M000039">config_dir_lib</a></span>
104
+ <span style="padding-right: 5px;"><a href="#M000043">config_dir_man</a></span>
105
+ <span style="padding-right: 5px;"><a href="#M000125">curr_objdir</a></span>
106
+ <span style="padding-right: 5px;"><a href="#M000124">curr_srcdir</a></span>
107
+ <span style="padding-right: 5px;"><a href="#M000115">diff?</a></span>
108
+ <span style="padding-right: 5px;"><a href="#M000121">directories_of</a></span>
109
+ <span style="padding-right: 5px;"><a href="#M000092">distclean_dir_bin</a></span>
110
+ <span style="padding-right: 5px;"><a href="#M000095">distclean_dir_data</a></span>
111
+ <span style="padding-right: 5px;"><a href="#M000098">distclean_dir_doc</a></span>
112
+ <span style="padding-right: 5px;"><a href="#M000096">distclean_dir_etc</a></span>
113
+ <span style="padding-right: 5px;"><a href="#M000094">distclean_dir_ext</a></span>
114
+ <span style="padding-right: 5px;"><a href="#M000093">distclean_dir_lib</a></span>
115
+ <span style="padding-right: 5px;"><a href="#M000097">distclean_dir_man</a></span>
116
+ <span style="padding-right: 5px;"><a href="#M000101">dive_into</a></span>
117
+ <span style="padding-right: 5px;"><a href="#M000074">dllext</a></span>
118
+ <span style="padding-right: 5px;"><a href="#M000036">exec_all</a></span>
119
+ <span style="padding-right: 5px;"><a href="#M000083">exec_clean</a></span>
120
+ <span style="padding-right: 5px;"><a href="#M000037">exec_config</a></span>
121
+ <span style="padding-right: 5px;"><a href="#M000091">exec_distclean</a></span>
122
+ <span style="padding-right: 5px;"><a href="#M000059">exec_doc</a></span>
123
+ <span style="padding-right: 5px;"><a href="#M000062">exec_install</a></span>
124
+ <span style="padding-right: 5px;"><a href="#M000060">exec_rdoc</a></span>
125
+ <span style="padding-right: 5px;"><a href="#M000061">exec_ri</a></span>
126
+ <span style="padding-right: 5px;"><a href="#M000047">exec_setup</a></span>
127
+ <span style="padding-right: 5px;"><a href="#M000046">exec_show</a></span>
128
+ <span style="padding-right: 5px;"><a href="#M000099">exec_task_traverse</a></span>
129
+ <span style="padding-right: 5px;"><a href="#M000058">exec_test</a></span>
130
+ <span style="padding-right: 5px;"><a href="#M000082">exec_uninstall</a></span>
131
+ <span style="padding-right: 5px;"><a href="#M000077">existfiles</a></span>
132
+ <span style="padding-right: 5px;"><a href="#M000045">extconf</a></span>
133
+ <span style="padding-right: 5px;"><a href="#M000119">extdir?</a></span>
134
+ <span style="padding-right: 5px;"><a href="#M000030">extensions</a></span>
135
+ <span style="padding-right: 5px;"><a href="#M000120">files_of</a></span>
136
+ <span style="padding-right: 5px;"><a href="#M000111">force_remove_file</a></span>
137
+ <span style="padding-right: 5px;"><a href="#M000122">get_config</a></span>
138
+ <span style="padding-right: 5px;"><a href="#M000080">glob_reject</a></span>
139
+ <span style="padding-right: 5px;"><a href="#M000079">glob_select</a></span>
140
+ <span style="padding-right: 5px;"><a href="#M000081">globs2re</a></span>
141
+ <span style="padding-right: 5px;"><a href="#M000078">hookfiles</a></span>
142
+ <span style="padding-right: 5px;"><a href="#M000022">inspect</a></span>
143
+ <span style="padding-right: 5px;"><a href="#M000113">install</a></span>
144
+ <span style="padding-right: 5px;"><a href="#M000063">install_dir_bin</a></span>
145
+ <span style="padding-right: 5px;"><a href="#M000066">install_dir_data</a></span>
146
+ <span style="padding-right: 5px;"><a href="#M000069">install_dir_doc</a></span>
147
+ <span style="padding-right: 5px;"><a href="#M000070">install_dir_doc</a></span>
148
+ <span style="padding-right: 5px;"><a href="#M000067">install_dir_etc</a></span>
149
+ <span style="padding-right: 5px;"><a href="#M000065">install_dir_ext</a></span>
150
+ <span style="padding-right: 5px;"><a href="#M000064">install_dir_lib</a></span>
151
+ <span style="padding-right: 5px;"><a href="#M000068">install_dir_man</a></span>
152
+ <span style="padding-right: 5px;"><a href="#M000071">install_files</a></span>
153
+ <span style="padding-right: 5px;"><a href="#M000024">installation!</a></span>
154
+ <span style="padding-right: 5px;"><a href="#M000023">installation?</a></span>
155
+ <span style="padding-right: 5px;"><a href="#M000072">libfiles</a></span>
156
+ <span style="padding-right: 5px;"><a href="#M000118">make</a></span>
157
+ <span style="padding-right: 5px;"><a href="#M000076">mapdir</a></span>
158
+ <span style="padding-right: 5px;"><a href="#M000104">mkdir_p</a></span>
159
+ <span style="padding-right: 5px;"><a href="#M000110">move_file</a></span>
160
+ <span style="padding-right: 5px;"><a href="#M000021">new</a></span>
161
+ <span style="padding-right: 5px;"><a href="#M000056">new_shebang</a></span>
162
+ <span style="padding-right: 5px;"><a href="#M000025">no_harm?</a></span>
163
+ <span style="padding-right: 5px;"><a href="#M000032">noop</a></span>
164
+ <span style="padding-right: 5px;"><a href="#M000034">objdir_root</a></span>
165
+ <span style="padding-right: 5px;"><a href="#M000057">open_atomic_writer</a></span>
166
+ <span style="padding-right: 5px;"><a href="#M000027">quiet?</a></span>
167
+ <span style="padding-right: 5px;"><a href="#M000114">record_installation</a></span>
168
+ <span style="padding-right: 5px;"><a href="#M000035">relpath</a></span>
169
+ <span style="padding-right: 5px;"><a href="#M000112">remove_file</a></span>
170
+ <span style="padding-right: 5px;"><a href="#M000108">remove_tree</a></span>
171
+ <span style="padding-right: 5px;"><a href="#M000109">remove_tree0</a></span>
172
+ <span style="padding-right: 5px;"><a href="#M000029">report_header</a></span>
173
+ <span style="padding-right: 5px;"><a href="#M000105">rm_f</a></span>
174
+ <span style="padding-right: 5px;"><a href="#M000106">rm_rf</a></span>
175
+ <span style="padding-right: 5px;"><a href="#M000107">rmdir</a></span>
176
+ <span style="padding-right: 5px;"><a href="#M000117">ruby</a></span>
177
+ <span style="padding-right: 5px;"><a href="#M000073">rubyextentions</a></span>
178
+ <span style="padding-right: 5px;"><a href="#M000102">run_hook</a></span>
179
+ <span style="padding-right: 5px;"><a href="#M000123">set_config</a></span>
180
+ <span style="padding-right: 5px;"><a href="#M000048">setup_dir_bin</a></span>
181
+ <span style="padding-right: 5px;"><a href="#M000051">setup_dir_data</a></span>
182
+ <span style="padding-right: 5px;"><a href="#M000054">setup_dir_doc</a></span>
183
+ <span style="padding-right: 5px;"><a href="#M000052">setup_dir_etc</a></span>
184
+ <span style="padding-right: 5px;"><a href="#M000050">setup_dir_ext</a></span>
185
+ <span style="padding-right: 5px;"><a href="#M000049">setup_dir_lib</a></span>
186
+ <span style="padding-right: 5px;"><a href="#M000053">setup_dir_man</a></span>
187
+ <span style="padding-right: 5px;"><a href="#M000033">srcdir_root</a></span>
188
+ <span style="padding-right: 5px;"><a href="#M000132">srcdirectories</a></span>
189
+ <span style="padding-right: 5px;"><a href="#M000128">srcdirectory?</a></span>
190
+ <span style="padding-right: 5px;"><a href="#M000130">srcentries</a></span>
191
+ <span style="padding-right: 5px;"><a href="#M000127">srcexist?</a></span>
192
+ <span style="padding-right: 5px;"><a href="#M000126">srcfile</a></span>
193
+ <span style="padding-right: 5px;"><a href="#M000129">srcfile?</a></span>
194
+ <span style="padding-right: 5px;"><a href="#M000131">srcfiles</a></span>
195
+ <span style="padding-right: 5px;"><a href="#M000075">targetfiles</a></span>
196
+ <span style="padding-right: 5px;"><a href="#M000100">traverse</a></span>
197
+ <span style="padding-right: 5px;"><a href="#M000055">update_shebang_line</a></span>
198
+ <span style="padding-right: 5px;"><a href="#M000026">verbose?</a></span>
199
+ <span style="padding-right: 5px;"><a href="#M000028">verbose_off</a></span>
200
+
201
+
202
+
203
+ <div class="sectiontitle">Classes and Modules</div>
204
+ Class <a href="Installer/Shebang.html" class="link">Setup::Installer::Shebang</a><br />
205
+
206
+
207
+ <div class="sectiontitle">Constants</div>
208
+ <table border='0' cellpadding='5'>
209
+ <tr valign='top'>
210
+ <td class="attr-name">MANIFEST</td>
211
+ <td>=</td>
212
+ <td class="attr-value">'.installedfiles'</td>
213
+ </tr>
214
+ <tr valign='top'>
215
+ <td class="attr-name">FILETYPES</td>
216
+ <td>=</td>
217
+ <td class="attr-value">%w( bin lib ext data etc man doc )</td>
218
+ </tr>
219
+ <tr valign='top'>
220
+ <td class="attr-name">JUNK_FILES</td>
221
+ <td>=</td>
222
+ <td class="attr-value">%w( core RCSLOG tags TAGS .make.state .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb *~ *.old *.bak *.BAK *.orig *.rej _$* *$ *.org *.in .* )</td>
223
+ </tr>
224
+ <tr valign='top'>
225
+ <td>&nbsp;</td>
226
+ <td colspan="2" class="attr-desc">
227
+ picked up many entries from cvs-1.11.1/src/ignore.c
228
+
229
+ </td>
230
+ </tr>
231
+ <tr valign='top'>
232
+ <td class="attr-name">GLOB2REGEX</td>
233
+ <td>=</td>
234
+ <td class="attr-value">{ '.' =&gt; '\.', '$' =&gt; '\$', '#' =&gt; '\#', '*' =&gt; '.*'</td>
235
+ </tr>
236
+ <tr valign='top'>
237
+ <td class="attr-name">DIR_REJECT</td>
238
+ <td>=</td>
239
+ <td class="attr-value">%w( . .. CVS SCCS RCS CVS.adm .svn )</td>
240
+ </tr>
241
+ </table>
242
+
243
+ <div class="sectiontitle">Attributes</div>
244
+ <table border='0' cellpadding='5'>
245
+ <tr valign='top'>
246
+ <td class='attr-rw'>
247
+ [R]
248
+ </td>
249
+ <td class='attr-name'>config</td>
250
+ <td class='attr-desc'>
251
+ Configuration
252
+
253
+ </td>
254
+ </tr>
255
+ <tr valign='top'>
256
+ <td class='attr-rw'>
257
+ [RW]
258
+ </td>
259
+ <td class='attr-name'>install_prefix</td>
260
+ <td class='attr-desc'></td>
261
+ </tr>
262
+ <tr valign='top'>
263
+ <td class='attr-rw'>
264
+ [W]
265
+ </td>
266
+ <td class='attr-name'>no_harm</td>
267
+ <td class='attr-desc'></td>
268
+ </tr>
269
+ <tr valign='top'>
270
+ <td class='attr-rw'>
271
+ [W]
272
+ </td>
273
+ <td class='attr-name'>quiet</td>
274
+ <td class='attr-desc'></td>
275
+ </tr>
276
+ <tr valign='top'>
277
+ <td class='attr-rw'>
278
+ [W]
279
+ </td>
280
+ <td class='attr-name'>verbose</td>
281
+ <td class='attr-desc'></td>
282
+ </tr>
283
+ </table>
284
+
285
+ <div class="sectiontitle">Public Class methods</div>
286
+ <div class="method">
287
+ <div class="title">
288
+ <a name="M000021"></a><b>new</b>( {|| ...}
289
+ </div>
290
+ <div class="description">
291
+ <p>
292
+ New <a href="Installer.html">Installer</a>.
293
+ </p>
294
+ </div>
295
+ <div class="sourcecode">
296
+ <p class="source-link">[ <a href="javascript:toggleSource('M000021_source')" id="l_M000021_source">+</a> ]</p>
297
+ <div id="M000021_source" class="dyn-source">
298
+ <pre>
299
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 38</span>
300
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-comment cmt">#:yield:</span>
301
+ <span class="ruby-identifier">srcroot</span> = <span class="ruby-value str">'.'</span>
302
+ <span class="ruby-identifier">objroot</span> = <span class="ruby-value str">'.'</span>
303
+
304
+ <span class="ruby-ivar">@config</span> = <span class="ruby-constant">ConfigTable</span>.<span class="ruby-identifier">new</span>
305
+
306
+ <span class="ruby-ivar">@srcdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">srcroot</span>)
307
+ <span class="ruby-ivar">@objdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">objroot</span>)
308
+ <span class="ruby-ivar">@currdir</span> = <span class="ruby-value str">'.'</span>
309
+
310
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">quiet</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'quiet'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'quiet'</span>]
311
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'verbose'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'verbose'</span>]
312
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">no_harm</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'nowrite'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'nowrite'</span>]
313
+
314
+ <span class="ruby-keyword kw">yield</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
315
+ <span class="ruby-keyword kw">end</span>
316
+ </pre>
317
+ </div>
318
+ </div>
319
+ </div>
320
+ <div class="sectiontitle">Public Instance methods</div>
321
+ <div class="method">
322
+ <div class="title">
323
+ <a name="M000103"></a><b>binread</b>(fname)
324
+ </div>
325
+ <div class="description">
326
+ <p>
327
+ <a href="../File.html">File</a> Operations
328
+ </p>
329
+ <p>
330
+ This module requires: verbose?, no_harm?
331
+ </p>
332
+ </div>
333
+ <div class="sourcecode">
334
+ <p class="source-link">[ <a href="javascript:toggleSource('M000103_source')" id="l_M000103_source">+</a> ]</p>
335
+ <div id="M000103_source" class="dyn-source">
336
+ <pre>
337
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 683</span>
338
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">binread</span>(<span class="ruby-identifier">fname</span>)
339
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fname</span>, <span class="ruby-value str">'rb'</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
340
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
341
+ }
342
+ <span class="ruby-keyword kw">end</span>
343
+ </pre>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ <div class="method">
348
+ <div class="title">
349
+ <a name="M000084"></a><b>clean_dir_bin</b>(rel)
350
+ </div>
351
+ <div class="description">
352
+ <p>
353
+ Alias for <a href="Installer.html#M000032">noop</a>
354
+ </p>
355
+ </div>
356
+ </div>
357
+ <div class="method">
358
+ <div class="title">
359
+ <a name="M000086"></a><b>clean_dir_data</b>(rel)
360
+ </div>
361
+ <div class="description">
362
+ <p>
363
+ Alias for <a href="Installer.html#M000032">noop</a>
364
+ </p>
365
+ </div>
366
+ </div>
367
+ <div class="method">
368
+ <div class="title">
369
+ <a name="M000089"></a><b>clean_dir_doc</b>(rel)
370
+ </div>
371
+ <div class="description">
372
+ <p>
373
+ Alias for <a href="Installer.html#M000032">noop</a>
374
+ </p>
375
+ </div>
376
+ </div>
377
+ <div class="method">
378
+ <div class="title">
379
+ <a name="M000087"></a><b>clean_dir_etc</b>(rel)
380
+ </div>
381
+ <div class="description">
382
+ <p>
383
+ Alias for <a href="Installer.html#M000032">noop</a>
384
+ </p>
385
+ </div>
386
+ </div>
387
+ <div class="method">
388
+ <div class="title">
389
+ <a name="M000090"></a><b>clean_dir_ext</b>(rel)
390
+ </div>
391
+ <div class="sourcecode">
392
+ <p class="source-link">[ <a href="javascript:toggleSource('M000090_source')" id="l_M000090_source">+</a> ]</p>
393
+ <div id="M000090_source" class="dyn-source">
394
+ <pre>
395
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 594</span>
396
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean_dir_ext</span>(<span class="ruby-identifier">rel</span>)
397
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">curr_srcdir</span>())
398
+ <span class="ruby-identifier">make</span> <span class="ruby-value str">'clean'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-value str">'Makefile'</span>)
399
+ <span class="ruby-keyword kw">end</span>
400
+ </pre>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <div class="method">
405
+ <div class="title">
406
+ <a name="M000085"></a><b>clean_dir_lib</b>(rel)
407
+ </div>
408
+ <div class="description">
409
+ <p>
410
+ Alias for <a href="Installer.html#M000032">noop</a>
411
+ </p>
412
+ </div>
413
+ </div>
414
+ <div class="method">
415
+ <div class="title">
416
+ <a name="M000088"></a><b>clean_dir_man</b>(rel)
417
+ </div>
418
+ <div class="description">
419
+ <p>
420
+ Alias for <a href="Installer.html#M000032">noop</a>
421
+ </p>
422
+ </div>
423
+ </div>
424
+ <div class="method">
425
+ <div class="title">
426
+ <a name="M000116"></a><b>command</b>(*args)
427
+ </div>
428
+ <div class="sourcecode">
429
+ <p class="source-link">[ <a href="javascript:toggleSource('M000116_source')" id="l_M000116_source">+</a> ]</p>
430
+ <div id="M000116_source" class="dyn-source">
431
+ <pre>
432
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 817</span>
433
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">command</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
434
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
435
+ <span class="ruby-identifier">system</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>,
436
+ <span class="ruby-node">&quot;system(#{args.map{|a| a.inspect }.join(' ')}) failed&quot;</span>
437
+ <span class="ruby-keyword kw">end</span>
438
+ </pre>
439
+ </div>
440
+ </div>
441
+ </div>
442
+ <div class="method">
443
+ <div class="title">
444
+ <a name="M000031"></a><b>compiles?</b>()
445
+ </div>
446
+ <div class="sourcecode">
447
+ <p class="source-link">[ <a href="javascript:toggleSource('M000031_source')" id="l_M000031_source">+</a> ]</p>
448
+ <div id="M000031_source" class="dyn-source">
449
+ <pre>
450
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 94</span>
451
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compiles?</span>
452
+ <span class="ruby-operator">!</span><span class="ruby-identifier">extensions</span>.<span class="ruby-identifier">empty?</span>
453
+ <span class="ruby-keyword kw">end</span>
454
+ </pre>
455
+ </div>
456
+ </div>
457
+ </div>
458
+ <div class="method">
459
+ <div class="title">
460
+ <a name="M000038"></a><b>config_dir_bin</b>(rel)
461
+ </div>
462
+ <div class="description">
463
+ <p>
464
+ Alias for <a href="Installer.html#M000032">noop</a>
465
+ </p>
466
+ </div>
467
+ </div>
468
+ <div class="method">
469
+ <div class="title">
470
+ <a name="M000041"></a><b>config_dir_data</b>(rel)
471
+ </div>
472
+ <div class="description">
473
+ <p>
474
+ Alias for <a href="Installer.html#M000032">noop</a>
475
+ </p>
476
+ </div>
477
+ </div>
478
+ <div class="method">
479
+ <div class="title">
480
+ <a name="M000044"></a><b>config_dir_doc</b>(rel)
481
+ </div>
482
+ <div class="description">
483
+ <p>
484
+ Alias for <a href="Installer.html#M000032">noop</a>
485
+ </p>
486
+ </div>
487
+ </div>
488
+ <div class="method">
489
+ <div class="title">
490
+ <a name="M000042"></a><b>config_dir_etc</b>(rel)
491
+ </div>
492
+ <div class="description">
493
+ <p>
494
+ Alias for <a href="Installer.html#M000032">noop</a>
495
+ </p>
496
+ </div>
497
+ </div>
498
+ <div class="method">
499
+ <div class="title">
500
+ <a name="M000040"></a><b>config_dir_ext</b>(rel)
501
+ </div>
502
+ <div class="sourcecode">
503
+ <p class="source-link">[ <a href="javascript:toggleSource('M000040_source')" id="l_M000040_source">+</a> ]</p>
504
+ <div id="M000040_source" class="dyn-source">
505
+ <pre>
506
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 145</span>
507
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_dir_ext</span>(<span class="ruby-identifier">rel</span>)
508
+ <span class="ruby-identifier">extconf</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">curr_srcdir</span>())
509
+ <span class="ruby-keyword kw">end</span>
510
+ </pre>
511
+ </div>
512
+ </div>
513
+ </div>
514
+ <div class="method">
515
+ <div class="title">
516
+ <a name="M000039"></a><b>config_dir_lib</b>(rel)
517
+ </div>
518
+ <div class="description">
519
+ <p>
520
+ Alias for <a href="Installer.html#M000032">noop</a>
521
+ </p>
522
+ </div>
523
+ </div>
524
+ <div class="method">
525
+ <div class="title">
526
+ <a name="M000043"></a><b>config_dir_man</b>(rel)
527
+ </div>
528
+ <div class="description">
529
+ <p>
530
+ Alias for <a href="Installer.html#M000032">noop</a>
531
+ </p>
532
+ </div>
533
+ </div>
534
+ <div class="method">
535
+ <div class="title">
536
+ <a name="M000125"></a><b>curr_objdir</b>()
537
+ </div>
538
+ <div class="sourcecode">
539
+ <p class="source-link">[ <a href="javascript:toggleSource('M000125_source')" id="l_M000125_source">+</a> ]</p>
540
+ <div id="M000125_source" class="dyn-source">
541
+ <pre>
542
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 874</span>
543
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">curr_objdir</span>
544
+ <span class="ruby-node">&quot;#{objdir_root()}/#{relpath()}&quot;</span>
545
+ <span class="ruby-keyword kw">end</span>
546
+ </pre>
547
+ </div>
548
+ </div>
549
+ </div>
550
+ <div class="method">
551
+ <div class="title">
552
+ <a name="M000124"></a><b>curr_srcdir</b>()
553
+ </div>
554
+ <div class="description">
555
+ <p>
556
+ srcdir/objdir (works only in the package directory)
557
+ </p>
558
+ </div>
559
+ <div class="sourcecode">
560
+ <p class="source-link">[ <a href="javascript:toggleSource('M000124_source')" id="l_M000124_source">+</a> ]</p>
561
+ <div id="M000124_source" class="dyn-source">
562
+ <pre>
563
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 870</span>
564
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">curr_srcdir</span>
565
+ <span class="ruby-node">&quot;#{srcdir_root()}/#{relpath()}&quot;</span>
566
+ <span class="ruby-keyword kw">end</span>
567
+ </pre>
568
+ </div>
569
+ </div>
570
+ </div>
571
+ <div class="method">
572
+ <div class="title">
573
+ <a name="M000115"></a><b>diff?</b>(new_content, path)
574
+ </div>
575
+ <div class="sourcecode">
576
+ <p class="source-link">[ <a href="javascript:toggleSource('M000115_source')" id="l_M000115_source">+</a> ]</p>
577
+ <div id="M000115_source" class="dyn-source">
578
+ <pre>
579
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 812</span>
580
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff?</span>(<span class="ruby-identifier">new_content</span>, <span class="ruby-identifier">path</span>)
581
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>)
582
+ <span class="ruby-identifier">new_content</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">binread</span>(<span class="ruby-identifier">path</span>)
583
+ <span class="ruby-keyword kw">end</span>
584
+ </pre>
585
+ </div>
586
+ </div>
587
+ </div>
588
+ <div class="method">
589
+ <div class="title">
590
+ <a name="M000121"></a><b>directories_of</b>(dir)
591
+ </div>
592
+ <div class="sourcecode">
593
+ <p class="source-link">[ <a href="javascript:toggleSource('M000121_source')" id="l_M000121_source">+</a> ]</p>
594
+ <div id="M000121_source" class="dyn-source">
595
+ <pre>
596
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 843</span>
597
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">directories_of</span>(<span class="ruby-identifier">dir</span>)
598
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">dir</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
599
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-node">&quot;#{dir}/#{ent}&quot;</span>) } <span class="ruby-operator">-</span> <span class="ruby-constant">DIR_REJECT</span>
600
+ }
601
+ <span class="ruby-keyword kw">end</span>
602
+ </pre>
603
+ </div>
604
+ </div>
605
+ </div>
606
+ <div class="method">
607
+ <div class="title">
608
+ <a name="M000092"></a><b>distclean_dir_bin</b>(rel)
609
+ </div>
610
+ <div class="description">
611
+ <p>
612
+ Alias for <a href="Installer.html#M000032">noop</a>
613
+ </p>
614
+ </div>
615
+ </div>
616
+ <div class="method">
617
+ <div class="title">
618
+ <a name="M000095"></a><b>distclean_dir_data</b>(rel)
619
+ </div>
620
+ <div class="description">
621
+ <p>
622
+ Alias for <a href="Installer.html#M000032">noop</a>
623
+ </p>
624
+ </div>
625
+ </div>
626
+ <div class="method">
627
+ <div class="title">
628
+ <a name="M000098"></a><b>distclean_dir_doc</b>(rel)
629
+ </div>
630
+ <div class="sourcecode">
631
+ <p class="source-link">[ <a href="javascript:toggleSource('M000098_source')" id="l_M000098_source">+</a> ]</p>
632
+ <div id="M000098_source" class="dyn-source">
633
+ <pre>
634
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 621</span>
635
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">distclean_dir_doc</span>(<span class="ruby-identifier">rel</span>)
636
+ <span class="ruby-comment cmt">#rm_rf('rdoc') if File.directory?('rdoc') # RDOC HERE</span>
637
+ <span class="ruby-keyword kw">end</span>
638
+ </pre>
639
+ </div>
640
+ </div>
641
+ </div>
642
+ <div class="method">
643
+ <div class="title">
644
+ <a name="M000096"></a><b>distclean_dir_etc</b>(rel)
645
+ </div>
646
+ <div class="description">
647
+ <p>
648
+ Alias for <a href="Installer.html#M000032">noop</a>
649
+ </p>
650
+ </div>
651
+ </div>
652
+ <div class="method">
653
+ <div class="title">
654
+ <a name="M000094"></a><b>distclean_dir_ext</b>(rel)
655
+ </div>
656
+ <div class="sourcecode">
657
+ <p class="source-link">[ <a href="javascript:toggleSource('M000094_source')" id="l_M000094_source">+</a> ]</p>
658
+ <div id="M000094_source" class="dyn-source">
659
+ <pre>
660
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 612</span>
661
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">distclean_dir_ext</span>(<span class="ruby-identifier">rel</span>)
662
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">curr_srcdir</span>())
663
+ <span class="ruby-identifier">make</span> <span class="ruby-value str">'distclean'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-value str">'Makefile'</span>)
664
+ <span class="ruby-keyword kw">end</span>
665
+ </pre>
666
+ </div>
667
+ </div>
668
+ </div>
669
+ <div class="method">
670
+ <div class="title">
671
+ <a name="M000093"></a><b>distclean_dir_lib</b>(rel)
672
+ </div>
673
+ <div class="description">
674
+ <p>
675
+ Alias for <a href="Installer.html#M000032">noop</a>
676
+ </p>
677
+ </div>
678
+ </div>
679
+ <div class="method">
680
+ <div class="title">
681
+ <a name="M000097"></a><b>distclean_dir_man</b>(rel)
682
+ </div>
683
+ <div class="description">
684
+ <p>
685
+ Alias for <a href="Installer.html#M000032">noop</a>
686
+ </p>
687
+ </div>
688
+ </div>
689
+ <div class="method">
690
+ <div class="title">
691
+ <a name="M000101"></a><b>dive_into</b>(rel) {|| ...}
692
+ </div>
693
+ <div class="sourcecode">
694
+ <p class="source-link">[ <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">+</a> ]</p>
695
+ <div id="M000101_source" class="dyn-source">
696
+ <pre>
697
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 652</span>
698
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dive_into</span>(<span class="ruby-identifier">rel</span>)
699
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-node">&quot;#{@srcdir}/#{rel}&quot;</span>)
700
+
701
+ <span class="ruby-identifier">dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">rel</span>)
702
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-identifier">dir</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">dir</span>)
703
+ <span class="ruby-identifier">prevdir</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
704
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span> <span class="ruby-identifier">dir</span>
705
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">'---&gt; '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rel</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
706
+ <span class="ruby-ivar">@currdir</span> = <span class="ruby-identifier">rel</span>
707
+ <span class="ruby-keyword kw">yield</span>
708
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span> <span class="ruby-identifier">prevdir</span>
709
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">'&lt;--- '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rel</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
710
+ <span class="ruby-ivar">@currdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">rel</span>)
711
+ <span class="ruby-keyword kw">end</span>
712
+ </pre>
713
+ </div>
714
+ </div>
715
+ </div>
716
+ <div class="method">
717
+ <div class="title">
718
+ <a name="M000074"></a><b>dllext</b>()
719
+ </div>
720
+ <div class="sourcecode">
721
+ <p class="source-link">[ <a href="javascript:toggleSource('M000074_source')" id="l_M000074_source">+</a> ]</p>
722
+ <div id="M000074_source" class="dyn-source">
723
+ <pre>
724
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 488</span>
725
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dllext</span>
726
+ <span class="ruby-constant">ConfigTable</span><span class="ruby-operator">::</span><span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'DLEXT'</span>]
727
+ <span class="ruby-keyword kw">end</span>
728
+ </pre>
729
+ </div>
730
+ </div>
731
+ </div>
732
+ <div class="method">
733
+ <div class="title">
734
+ <a name="M000036"></a><b>exec_all</b>()
735
+ </div>
736
+ <div class="description">
737
+ <p>
738
+ Task all
739
+ </p>
740
+ </div>
741
+ <div class="sourcecode">
742
+ <p class="source-link">[ <a href="javascript:toggleSource('M000036_source')" id="l_M000036_source">+</a> ]</p>
743
+ <div id="M000036_source" class="dyn-source">
744
+ <pre>
745
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 121</span>
746
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_all</span>
747
+ <span class="ruby-identifier">exec_config</span>
748
+ <span class="ruby-identifier">exec_setup</span>
749
+ <span class="ruby-identifier">exec_test</span> <span class="ruby-comment cmt"># TODO: stop here if fail (?)</span>
750
+ <span class="ruby-identifier">exec_doc</span>
751
+ <span class="ruby-identifier">exec_install</span>
752
+ <span class="ruby-keyword kw">end</span>
753
+ </pre>
754
+ </div>
755
+ </div>
756
+ </div>
757
+ <div class="method">
758
+ <div class="title">
759
+ <a name="M000083"></a><b>exec_clean</b>()
760
+ </div>
761
+ <div class="description">
762
+ <p>
763
+ TASK clean
764
+ </p>
765
+ </div>
766
+ <div class="sourcecode">
767
+ <p class="source-link">[ <a href="javascript:toggleSource('M000083_source')" id="l_M000083_source">+</a> ]</p>
768
+ <div id="M000083_source" class="dyn-source">
769
+ <pre>
770
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 581</span>
771
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_clean</span>
772
+ <span class="ruby-identifier">exec_task_traverse</span> <span class="ruby-value str">'clean'</span>
773
+ <span class="ruby-identifier">rm_f</span> <span class="ruby-constant">ConfigTable</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIGFILE</span>
774
+ <span class="ruby-comment cmt">#rm_f MANIFEST # only on clobber!</span>
775
+ <span class="ruby-keyword kw">end</span>
776
+ </pre>
777
+ </div>
778
+ </div>
779
+ </div>
780
+ <div class="method">
781
+ <div class="title">
782
+ <a name="M000037"></a><b>exec_config</b>()
783
+ </div>
784
+ <div class="description">
785
+ <p>
786
+ TASK config
787
+ </p>
788
+ </div>
789
+ <div class="sourcecode">
790
+ <p class="source-link">[ <a href="javascript:toggleSource('M000037_source')" id="l_M000037_source">+</a> ]</p>
791
+ <div id="M000037_source" class="dyn-source">
792
+ <pre>
793
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 133</span>
794
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_config</span>
795
+ <span class="ruby-identifier">report_header</span>(<span class="ruby-value str">'config'</span>)
796
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">env_config</span>
797
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">save_config</span>
798
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">show</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
799
+ <span class="ruby-identifier">puts</span>(<span class="ruby-value str">&quot;Configuration saved.&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">quiet?</span>
800
+ <span class="ruby-identifier">exec_task_traverse</span> <span class="ruby-value str">'config'</span>
801
+ <span class="ruby-keyword kw">end</span>
802
+ </pre>
803
+ </div>
804
+ </div>
805
+ </div>
806
+ <div class="method">
807
+ <div class="title">
808
+ <a name="M000091"></a><b>exec_distclean</b>()
809
+ </div>
810
+ <div class="description">
811
+ <p>
812
+ TASK distclean
813
+ </p>
814
+ </div>
815
+ <div class="sourcecode">
816
+ <p class="source-link">[ <a href="javascript:toggleSource('M000091_source')" id="l_M000091_source">+</a> ]</p>
817
+ <div id="M000091_source" class="dyn-source">
818
+ <pre>
819
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 603</span>
820
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_distclean</span>
821
+ <span class="ruby-identifier">exec_task_traverse</span> <span class="ruby-value str">'distclean'</span>
822
+ <span class="ruby-identifier">rm_f</span> <span class="ruby-constant">ConfigTable</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIGFILE</span>
823
+ <span class="ruby-identifier">rm_f</span> <span class="ruby-constant">MANIFEST</span>
824
+ <span class="ruby-keyword kw">end</span>
825
+ </pre>
826
+ </div>
827
+ </div>
828
+ </div>
829
+ <div class="method">
830
+ <div class="title">
831
+ <a name="M000059"></a><b>exec_doc</b>()
832
+ </div>
833
+ <div class="sourcecode">
834
+ <p class="source-link">[ <a href="javascript:toggleSource('M000059_source')" id="l_M000059_source">+</a> ]</p>
835
+ <div id="M000059_source" class="dyn-source">
836
+ <pre>
837
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 326</span>
838
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_doc</span>
839
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">without_doc?</span>
840
+ <span class="ruby-identifier">report_header</span>(<span class="ruby-value str">'doc'</span>)
841
+ <span class="ruby-comment cmt">#exec_rdoc unless config.without_doc? # RDOC HERE</span>
842
+ <span class="ruby-identifier">exec_ri</span>
843
+ <span class="ruby-keyword kw">end</span>
844
+ </pre>
845
+ </div>
846
+ </div>
847
+ </div>
848
+ <div class="method">
849
+ <div class="title">
850
+ <a name="M000062"></a><b>exec_install</b>()
851
+ </div>
852
+ <div class="description">
853
+ <p>
854
+ TASK <a href="Installer.html#M000113">install</a>
855
+ </p>
856
+ </div>
857
+ <div class="sourcecode">
858
+ <p class="source-link">[ <a href="javascript:toggleSource('M000062_source')" id="l_M000062_source">+</a> ]</p>
859
+ <div id="M000062_source" class="dyn-source">
860
+ <pre>
861
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 422</span>
862
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_install</span>
863
+ <span class="ruby-identifier">report_header</span>(<span class="ruby-value str">'install'</span>)
864
+ <span class="ruby-identifier">installation!</span> <span class="ruby-comment cmt"># we are installing</span>
865
+ <span class="ruby-comment cmt">#rm_f MANIFEST # we'll append rather then delete!</span>
866
+ <span class="ruby-identifier">exec_task_traverse</span> <span class="ruby-value str">'install'</span>
867
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Done.\n\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">quiet?</span>
868
+ <span class="ruby-keyword kw">end</span>
869
+ </pre>
870
+ </div>
871
+ </div>
872
+ </div>
873
+ <div class="method">
874
+ <div class="title">
875
+ <a name="M000060"></a><b>exec_rdoc</b>()
876
+ </div>
877
+ <div class="description">
878
+ <p>
879
+ TASK rdoc
880
+ </p>
881
+ <p>
882
+ NOTE USED YET.
883
+ </p>
884
+ </div>
885
+ <div class="sourcecode">
886
+ <p class="source-link">[ <a href="javascript:toggleSource('M000060_source')" id="l_M000060_source">+</a> ]</p>
887
+ <div id="M000060_source" class="dyn-source">
888
+ <pre>
889
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 337</span>
890
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_rdoc</span>
891
+ <span class="ruby-identifier">output</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'doc'</span>, <span class="ruby-value str">'rdoc'</span>)
892
+ <span class="ruby-identifier">title</span> = (<span class="ruby-constant">PACKAGE_NAME</span>.<span class="ruby-identifier">capitalize</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; API&quot;</span>).<span class="ruby-identifier">strip</span>
893
+ <span class="ruby-identifier">main</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-value str">&quot;README{,.txt}&quot;</span>, <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">FNM_CASEFOLD</span>).<span class="ruby-identifier">first</span>
894
+ <span class="ruby-identifier">template</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">doctemplate</span> <span class="ruby-operator">||</span> <span class="ruby-value str">'html'</span>
895
+
896
+ <span class="ruby-identifier">opt</span> = []
897
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;-U&quot;</span>
898
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;-S&quot;</span>
899
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--op=#{output}&quot;</span>
900
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--template=#{template}&quot;</span>
901
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--title=#{title}&quot;</span>
902
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--main=#{main}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">main</span>
903
+
904
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">'.document'</span>)
905
+ <span class="ruby-identifier">files</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value str">'.document'</span>).<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
906
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">reject!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*[#]/</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/\S/</span> }
907
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">collect!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">strip</span> }
908
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">files</span>
909
+ <span class="ruby-keyword kw">else</span>
910
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">main</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">main</span>
911
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-value str">&quot;lib&quot;</span>, <span class="ruby-value str">&quot;ext&quot;</span>]
912
+ <span class="ruby-keyword kw">end</span>
913
+
914
+ <span class="ruby-identifier">opt</span> = <span class="ruby-identifier">opt</span>.<span class="ruby-identifier">flatten</span>
915
+
916
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
917
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;rdoc &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">opt</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">strip</span>
918
+ <span class="ruby-keyword kw">else</span>
919
+ <span class="ruby-comment cmt">#sh &quot;rdoc {opt.join(' ').strip}&quot;</span>
920
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'rdoc/rdoc'</span>
921
+ <span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span><span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">document</span>(<span class="ruby-identifier">opt</span>)
922
+ <span class="ruby-keyword kw">end</span>
923
+ <span class="ruby-keyword kw">end</span>
924
+ </pre>
925
+ </div>
926
+ </div>
927
+ </div>
928
+ <div class="method">
929
+ <div class="title">
930
+ <a name="M000061"></a><b>exec_ri</b>()
931
+ </div>
932
+ <div class="description">
933
+ <p>
934
+ TASK ri
935
+ </p>
936
+ </div>
937
+ <div class="sourcecode">
938
+ <p class="source-link">[ <a href="javascript:toggleSource('M000061_source')" id="l_M000061_source">+</a> ]</p>
939
+ <div id="M000061_source" class="dyn-source">
940
+ <pre>
941
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 374</span>
942
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_ri</span>
943
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">installdirs</span>
944
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'std'</span>
945
+ <span class="ruby-identifier">output</span> = <span class="ruby-value str">&quot;--ri-system&quot;</span>
946
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'site'</span>
947
+ <span class="ruby-identifier">output</span> = <span class="ruby-value str">&quot;--ri-site&quot;</span>
948
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'home'</span>
949
+ <span class="ruby-identifier">output</span> = <span class="ruby-value str">&quot;--ri&quot;</span>
950
+ <span class="ruby-keyword kw">else</span>
951
+ <span class="ruby-identifier">abort</span> <span class="ruby-node">&quot;bad config: sould not be possible -- installdirs = #{config.installdirs}&quot;</span>
952
+ <span class="ruby-keyword kw">end</span>
953
+
954
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">'.document'</span>)
955
+ <span class="ruby-identifier">files</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value str">'.document'</span>).<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
956
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">reject!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*[#]/</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/\S/</span> }
957
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">collect!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">strip</span> }
958
+ <span class="ruby-keyword kw">else</span>
959
+ <span class="ruby-identifier">files</span> = [<span class="ruby-value str">&quot;lib&quot;</span>, <span class="ruby-value str">&quot;ext&quot;</span>]
960
+ <span class="ruby-keyword kw">end</span>
961
+
962
+ <span class="ruby-identifier">opt</span> = []
963
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;-U&quot;</span>
964
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">output</span>
965
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">files</span>
966
+ <span class="ruby-identifier">opt</span> = <span class="ruby-identifier">opt</span>.<span class="ruby-identifier">flatten</span>
967
+
968
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
969
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;rdoc #{opt.join(' ').strip}&quot;</span>
970
+ <span class="ruby-keyword kw">else</span>
971
+ <span class="ruby-comment cmt"># Generate in system location specified</span>
972
+ <span class="ruby-comment cmt">#sh &quot;rdoc #{opt.join(' ').strip}&quot;</span>
973
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'rdoc/rdoc'</span>
974
+ <span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span><span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">document</span>(<span class="ruby-identifier">opt</span>)
975
+
976
+ <span class="ruby-comment cmt"># Now in local directory</span>
977
+ <span class="ruby-identifier">opt</span> = []
978
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;-U&quot;</span>
979
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;--ri --op 'doc/ri'&quot;</span>
980
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">files</span>
981
+ <span class="ruby-identifier">opt</span> = <span class="ruby-identifier">opt</span>.<span class="ruby-identifier">flatten</span>
982
+ <span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span><span class="ruby-operator">::</span><span class="ruby-constant">RDoc</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">document</span>(<span class="ruby-identifier">opt</span>)
983
+ <span class="ruby-keyword kw">end</span>
984
+ <span class="ruby-keyword kw">end</span>
985
+ </pre>
986
+ </div>
987
+ </div>
988
+ </div>
989
+ <div class="method">
990
+ <div class="title">
991
+ <a name="M000047"></a><b>exec_setup</b>()
992
+ </div>
993
+ <div class="description">
994
+ <p>
995
+ TASK setup
996
+ </p>
997
+ <p>
998
+ FIXME: Update shebang at time of <a
999
+ href="Installer.html#M000113">install</a> not before. for now I&#8216;ve
1000
+ commented out the shebang.
1001
+ </p>
1002
+ </div>
1003
+ <div class="sourcecode">
1004
+ <p class="source-link">[ <a href="javascript:toggleSource('M000047_source')" id="l_M000047_source">+</a> ]</p>
1005
+ <div id="M000047_source" class="dyn-source">
1006
+ <pre>
1007
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 173</span>
1008
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_setup</span>
1009
+ <span class="ruby-identifier">report_header</span>(<span class="ruby-value str">'setup'</span>)
1010
+ <span class="ruby-identifier">exec_task_traverse</span> <span class="ruby-value str">'setup'</span>
1011
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Ok.&quot;</span>
1012
+ <span class="ruby-keyword kw">end</span>
1013
+ </pre>
1014
+ </div>
1015
+ </div>
1016
+ </div>
1017
+ <div class="method">
1018
+ <div class="title">
1019
+ <a name="M000046"></a><b>exec_show</b>()
1020
+ </div>
1021
+ <div class="description">
1022
+ <p>
1023
+ TASK show
1024
+ </p>
1025
+ </div>
1026
+ <div class="sourcecode">
1027
+ <p class="source-link">[ <a href="javascript:toggleSource('M000046_source')" id="l_M000046_source">+</a> ]</p>
1028
+ <div id="M000046_source" class="dyn-source">
1029
+ <pre>
1030
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 162</span>
1031
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_show</span>
1032
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">show</span>
1033
+ <span class="ruby-keyword kw">end</span>
1034
+ </pre>
1035
+ </div>
1036
+ </div>
1037
+ </div>
1038
+ <div class="method">
1039
+ <div class="title">
1040
+ <a name="M000099"></a><b>exec_task_traverse</b>(task)
1041
+ </div>
1042
+ <div class="description">
1043
+ <p>
1044
+ Traversing
1045
+ </p>
1046
+ </div>
1047
+ <div class="sourcecode">
1048
+ <p class="source-link">[ <a href="javascript:toggleSource('M000099_source')" id="l_M000099_source">+</a> ]</p>
1049
+ <div id="M000099_source" class="dyn-source">
1050
+ <pre>
1051
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 629</span>
1052
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_task_traverse</span>(<span class="ruby-identifier">task</span>)
1053
+ <span class="ruby-identifier">run_hook</span> <span class="ruby-node">&quot;pre-#{task}&quot;</span>
1054
+ <span class="ruby-constant">FILETYPES</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
1055
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ext'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">without_ext</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'yes'</span>
1056
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">'skipping ext/* by user option'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1057
+ <span class="ruby-keyword kw">next</span>
1058
+ <span class="ruby-keyword kw">end</span>
1059
+ <span class="ruby-identifier">traverse</span> <span class="ruby-identifier">task</span>, <span class="ruby-identifier">type</span>, <span class="ruby-node">&quot;#{task}_dir_#{type}&quot;</span>
1060
+ <span class="ruby-keyword kw">end</span>
1061
+ <span class="ruby-identifier">run_hook</span> <span class="ruby-node">&quot;post-#{task}&quot;</span>
1062
+ <span class="ruby-keyword kw">end</span>
1063
+ </pre>
1064
+ </div>
1065
+ </div>
1066
+ </div>
1067
+ <div class="method">
1068
+ <div class="title">
1069
+ <a name="M000058"></a><b>exec_test</b>()
1070
+ </div>
1071
+ <div class="description">
1072
+ <p>
1073
+ TASK test
1074
+ </p>
1075
+ <p>
1076
+ TODO: Add spec support.
1077
+ </p>
1078
+ </div>
1079
+ <div class="sourcecode">
1080
+ <p class="source-link">[ <a href="javascript:toggleSource('M000058_source')" id="l_M000058_source">+</a> ]</p>
1081
+ <div id="M000058_source" class="dyn-source">
1082
+ <pre>
1083
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 276</span>
1084
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_test</span>
1085
+ <span class="ruby-identifier">report_header</span>(<span class="ruby-value str">'test'</span>)
1086
+ <span class="ruby-identifier">runner</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">testrunner</span>
1087
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">runner</span>
1088
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'testrb'</span> <span class="ruby-comment cmt"># TODO: needs work</span>
1089
+ <span class="ruby-identifier">opt</span> = []
1090
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; -v&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1091
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; --runner #{runner}&quot;</span>
1092
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-value str">'test/suite.rb'</span>)
1093
+ <span class="ruby-identifier">notests</span> = <span class="ruby-keyword kw">false</span>
1094
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;test/suite.rb&quot;</span>
1095
+ <span class="ruby-keyword kw">else</span>
1096
+ <span class="ruby-identifier">notests</span> = <span class="ruby-constant">Dir</span>[<span class="ruby-value str">&quot;test/**/*.rb&quot;</span>].<span class="ruby-identifier">empty?</span>
1097
+ <span class="ruby-identifier">lib</span> = [<span class="ruby-value str">&quot;lib&quot;</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">extensions</span>.<span class="ruby-identifier">collect</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">d</span>) }
1098
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;-I&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">lib</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">':'</span>)
1099
+ <span class="ruby-identifier">opt</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Dir</span>[<span class="ruby-value str">&quot;test/**/{test,tc}*.rb&quot;</span>]
1100
+ <span class="ruby-keyword kw">end</span>
1101
+ <span class="ruby-identifier">opt</span> = <span class="ruby-identifier">opt</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">strip</span>
1102
+ <span class="ruby-comment cmt"># run tests</span>
1103
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">notests</span>
1104
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">'no test in this package'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1105
+ <span class="ruby-keyword kw">else</span>
1106
+ <span class="ruby-identifier">cmd</span> = <span class="ruby-node">&quot;testrb #{opt}&quot;</span>
1107
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">cmd</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1108
+ <span class="ruby-identifier">system</span> <span class="ruby-identifier">cmd</span> <span class="ruby-comment cmt">#config.ruby &quot;-S tesrb&quot;, opt</span>
1109
+ <span class="ruby-keyword kw">end</span>
1110
+ <span class="ruby-keyword kw">else</span> <span class="ruby-comment cmt"># autorunner</span>
1111
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-value str">'test'</span>)
1112
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">'no test in this package'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1113
+ <span class="ruby-keyword kw">return</span>
1114
+ <span class="ruby-keyword kw">end</span>
1115
+ <span class="ruby-keyword kw">begin</span>
1116
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'test/unit'</span>
1117
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span>
1118
+ <span class="ruby-identifier">setup_rb_error</span> <span class="ruby-value str">'test/unit cannot loaded. You need Ruby 1.8 or later to invoke this task.'</span>
1119
+ <span class="ruby-keyword kw">end</span>
1120
+ <span class="ruby-identifier">autorunner</span> = <span class="ruby-constant">Test</span><span class="ruby-operator">::</span><span class="ruby-constant">Unit</span><span class="ruby-operator">::</span><span class="ruby-constant">AutoRunner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
1121
+ <span class="ruby-identifier">autorunner</span>.<span class="ruby-identifier">to_run</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'test'</span>
1122
+ <span class="ruby-identifier">autorunner</span>.<span class="ruby-identifier">run</span>
1123
+ <span class="ruby-keyword kw">end</span>
1124
+ <span class="ruby-keyword kw">end</span>
1125
+ </pre>
1126
+ </div>
1127
+ </div>
1128
+ </div>
1129
+ <div class="method">
1130
+ <div class="title">
1131
+ <a name="M000082"></a><b>exec_uninstall</b>()
1132
+ </div>
1133
+ <div class="description">
1134
+ <p>
1135
+ TASK uninstall
1136
+ </p>
1137
+ </div>
1138
+ <div class="sourcecode">
1139
+ <p class="source-link">[ <a href="javascript:toggleSource('M000082_source')" id="l_M000082_source">+</a> ]</p>
1140
+ <div id="M000082_source" class="dyn-source">
1141
+ <pre>
1142
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 551</span>
1143
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec_uninstall</span>
1144
+ <span class="ruby-identifier">paths</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">MANIFEST</span>).<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
1145
+ <span class="ruby-identifier">dirs</span>, <span class="ruby-identifier">files</span> = <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">partition</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">f</span>) }
1146
+
1147
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
1148
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/^\#/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">file</span> <span class="ruby-comment cmt"># skip comments</span>
1149
+ <span class="ruby-identifier">rm_f</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">file</span>)
1150
+ <span class="ruby-keyword kw">end</span>
1151
+
1152
+ <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
1153
+ <span class="ruby-comment cmt"># okay this is over kill, but playing it safe...</span>
1154
+ <span class="ruby-identifier">empty</span> = <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">dir</span>,<span class="ruby-value str">'*'</span>)].<span class="ruby-identifier">empty?</span>
1155
+ <span class="ruby-keyword kw">begin</span>
1156
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
1157
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;rmdir #{dir}&quot;</span>
1158
+ <span class="ruby-keyword kw">else</span>
1159
+ <span class="ruby-identifier">rmdir</span>(<span class="ruby-identifier">dir</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">empty</span>
1160
+ <span class="ruby-keyword kw">end</span>
1161
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOTEMPTY</span>
1162
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;may not be empty -- #{dir}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1163
+ <span class="ruby-keyword kw">end</span>
1164
+ <span class="ruby-keyword kw">end</span>
1165
+
1166
+ <span class="ruby-identifier">rm_f</span>(<span class="ruby-constant">MANIFEST</span>)
1167
+ <span class="ruby-keyword kw">end</span>
1168
+ </pre>
1169
+ </div>
1170
+ </div>
1171
+ </div>
1172
+ <div class="method">
1173
+ <div class="title">
1174
+ <a name="M000077"></a><b>existfiles</b>()
1175
+ </div>
1176
+ <div class="sourcecode">
1177
+ <p class="source-link">[ <a href="javascript:toggleSource('M000077_source')" id="l_M000077_source">+</a> ]</p>
1178
+ <div id="M000077_source" class="dyn-source">
1179
+ <pre>
1180
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 514</span>
1181
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">existfiles</span>
1182
+ <span class="ruby-identifier">glob_reject</span>(<span class="ruby-constant">JUNK_FILES</span>, (<span class="ruby-identifier">files_of</span>(<span class="ruby-identifier">curr_srcdir</span>()) <span class="ruby-operator">|</span> <span class="ruby-identifier">files_of</span>(<span class="ruby-value str">'.'</span>)))
1183
+ <span class="ruby-keyword kw">end</span>
1184
+ </pre>
1185
+ </div>
1186
+ </div>
1187
+ </div>
1188
+ <div class="method">
1189
+ <div class="title">
1190
+ <a name="M000045"></a><b>extconf</b>()
1191
+ </div>
1192
+ <div class="sourcecode">
1193
+ <p class="source-link">[ <a href="javascript:toggleSource('M000045_source')" id="l_M000045_source">+</a> ]</p>
1194
+ <div id="M000045_source" class="dyn-source">
1195
+ <pre>
1196
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 154</span>
1197
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extconf</span>
1198
+ <span class="ruby-identifier">ruby</span> <span class="ruby-node">&quot;#{curr_srcdir()}/extconf.rb&quot;</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">extconfopt</span>
1199
+ <span class="ruby-keyword kw">end</span>
1200
+ </pre>
1201
+ </div>
1202
+ </div>
1203
+ </div>
1204
+ <div class="method">
1205
+ <div class="title">
1206
+ <a name="M000119"></a><b>extdir?</b>(dir)
1207
+ </div>
1208
+ <div class="sourcecode">
1209
+ <p class="source-link">[ <a href="javascript:toggleSource('M000119_source')" id="l_M000119_source">+</a> ]</p>
1210
+ <div id="M000119_source" class="dyn-source">
1211
+ <pre>
1212
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 831</span>
1213
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">dir</span>)
1214
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{dir}/MANIFEST&quot;</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{dir}/extconf.rb&quot;</span>)
1215
+ <span class="ruby-keyword kw">end</span>
1216
+ </pre>
1217
+ </div>
1218
+ </div>
1219
+ </div>
1220
+ <div class="method">
1221
+ <div class="title">
1222
+ <a name="M000030"></a><b>extensions</b>()
1223
+ </div>
1224
+ <div class="description">
1225
+ <p>
1226
+ Added these for future use in simplificaiton of design.
1227
+ </p>
1228
+ </div>
1229
+ <div class="sourcecode">
1230
+ <p class="source-link">[ <a href="javascript:toggleSource('M000030_source')" id="l_M000030_source">+</a> ]</p>
1231
+ <div id="M000030_source" class="dyn-source">
1232
+ <pre>
1233
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 90</span>
1234
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extensions</span>
1235
+ <span class="ruby-ivar">@extensions</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Dir</span>[<span class="ruby-value str">'ext/**/extconf.rb'</span>]
1236
+ <span class="ruby-keyword kw">end</span>
1237
+ </pre>
1238
+ </div>
1239
+ </div>
1240
+ </div>
1241
+ <div class="method">
1242
+ <div class="title">
1243
+ <a name="M000120"></a><b>files_of</b>(dir)
1244
+ </div>
1245
+ <div class="sourcecode">
1246
+ <p class="source-link">[ <a href="javascript:toggleSource('M000120_source')" id="l_M000120_source">+</a> ]</p>
1247
+ <div id="M000120_source" class="dyn-source">
1248
+ <pre>
1249
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 835</span>
1250
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">files_of</span>(<span class="ruby-identifier">dir</span>)
1251
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">dir</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
1252
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-node">&quot;#{dir}/#{ent}&quot;</span>) }
1253
+ }
1254
+ <span class="ruby-keyword kw">end</span>
1255
+ </pre>
1256
+ </div>
1257
+ </div>
1258
+ </div>
1259
+ <div class="method">
1260
+ <div class="title">
1261
+ <a name="M000111"></a><b>force_remove_file</b>(path)
1262
+ </div>
1263
+ <div class="sourcecode">
1264
+ <p class="source-link">[ <a href="javascript:toggleSource('M000111_source')" id="l_M000111_source">+</a> ]</p>
1265
+ <div id="M000111_source" class="dyn-source">
1266
+ <pre>
1267
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 768</span>
1268
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">force_remove_file</span>(<span class="ruby-identifier">path</span>)
1269
+ <span class="ruby-keyword kw">begin</span>
1270
+ <span class="ruby-identifier">remove_file</span> <span class="ruby-identifier">path</span>
1271
+ <span class="ruby-keyword kw">rescue</span>
1272
+ <span class="ruby-keyword kw">end</span>
1273
+ <span class="ruby-keyword kw">end</span>
1274
+ </pre>
1275
+ </div>
1276
+ </div>
1277
+ </div>
1278
+ <div class="method">
1279
+ <div class="title">
1280
+ <a name="M000122"></a><b>get_config</b>(key)
1281
+ </div>
1282
+ <div class="sourcecode">
1283
+ <p class="source-link">[ <a href="javascript:toggleSource('M000122_source')" id="l_M000122_source">+</a> ]</p>
1284
+ <div id="M000122_source" class="dyn-source">
1285
+ <pre>
1286
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 856</span>
1287
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_config</span>(<span class="ruby-identifier">key</span>)
1288
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-identifier">key</span>)
1289
+ <span class="ruby-keyword kw">end</span>
1290
+ </pre>
1291
+ </div>
1292
+ </div>
1293
+ </div>
1294
+ <div class="method">
1295
+ <div class="title">
1296
+ <a name="M000080"></a><b>glob_reject</b>(pats, ents)
1297
+ </div>
1298
+ <div class="sourcecode">
1299
+ <p class="source-link">[ <a href="javascript:toggleSource('M000080_source')" id="l_M000080_source">+</a> ]</p>
1300
+ <div id="M000080_source" class="dyn-source">
1301
+ <pre>
1302
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 529</span>
1303
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">glob_reject</span>(<span class="ruby-identifier">pats</span>, <span class="ruby-identifier">ents</span>)
1304
+ <span class="ruby-identifier">re</span> = <span class="ruby-identifier">globs2re</span>(<span class="ruby-identifier">pats</span>)
1305
+ <span class="ruby-identifier">ents</span>.<span class="ruby-identifier">reject</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span> <span class="ruby-identifier">re</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">ent</span> }
1306
+ <span class="ruby-keyword kw">end</span>
1307
+ </pre>
1308
+ </div>
1309
+ </div>
1310
+ </div>
1311
+ <div class="method">
1312
+ <div class="title">
1313
+ <a name="M000079"></a><b>glob_select</b>(pat, ents)
1314
+ </div>
1315
+ <div class="sourcecode">
1316
+ <p class="source-link">[ <a href="javascript:toggleSource('M000079_source')" id="l_M000079_source">+</a> ]</p>
1317
+ <div id="M000079_source" class="dyn-source">
1318
+ <pre>
1319
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 524</span>
1320
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">glob_select</span>(<span class="ruby-identifier">pat</span>, <span class="ruby-identifier">ents</span>)
1321
+ <span class="ruby-identifier">re</span> = <span class="ruby-identifier">globs2re</span>([<span class="ruby-identifier">pat</span>])
1322
+ <span class="ruby-identifier">ents</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span> <span class="ruby-identifier">re</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">ent</span> }
1323
+ <span class="ruby-keyword kw">end</span>
1324
+ </pre>
1325
+ </div>
1326
+ </div>
1327
+ </div>
1328
+ <div class="method">
1329
+ <div class="title">
1330
+ <a name="M000081"></a><b>globs2re</b>(pats)
1331
+ </div>
1332
+ <div class="sourcecode">
1333
+ <p class="source-link">[ <a href="javascript:toggleSource('M000081_source')" id="l_M000081_source">+</a> ]</p>
1334
+ <div id="M000081_source" class="dyn-source">
1335
+ <pre>
1336
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 541</span>
1337
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">globs2re</span>(<span class="ruby-identifier">pats</span>)
1338
+ <span class="ruby-node">/\A(?:#{
1339
+ pats.map {|pat| pat.gsub(/[\.\$\#\*]/) {|ch| GLOB2REGEX[ch] } }.join('|')
1340
+ })\z/</span>
1341
+ <span class="ruby-keyword kw">end</span>
1342
+ </pre>
1343
+ </div>
1344
+ </div>
1345
+ </div>
1346
+ <div class="method">
1347
+ <div class="title">
1348
+ <a name="M000078"></a><b>hookfiles</b>()
1349
+ </div>
1350
+ <div class="sourcecode">
1351
+ <p class="source-link">[ <a href="javascript:toggleSource('M000078_source')" id="l_M000078_source">+</a> ]</p>
1352
+ <div id="M000078_source" class="dyn-source">
1353
+ <pre>
1354
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 518</span>
1355
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hookfiles</span>
1356
+ <span class="ruby-node">%w( pre-%s post-%s pre-%s.rb post-%s.rb )</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">fmt</span><span class="ruby-operator">|</span>
1357
+ <span class="ruby-node">%w( etc setup install clean )</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-identifier">fmt</span>, <span class="ruby-identifier">t</span>) }
1358
+ }.<span class="ruby-identifier">flatten</span>
1359
+ <span class="ruby-keyword kw">end</span>
1360
+ </pre>
1361
+ </div>
1362
+ </div>
1363
+ </div>
1364
+ <div class="method">
1365
+ <div class="title">
1366
+ <a name="M000022"></a><b>inspect</b>()
1367
+ </div>
1368
+ <div class="sourcecode">
1369
+ <p class="source-link">[ <a href="javascript:toggleSource('M000022_source')" id="l_M000022_source">+</a> ]</p>
1370
+ <div id="M000022_source" class="dyn-source">
1371
+ <pre>
1372
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 55</span>
1373
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
1374
+ <span class="ruby-node">&quot;#&lt;#{self.class} #{File.basename(@srcdir)}&gt;&quot;</span>
1375
+ <span class="ruby-keyword kw">end</span>
1376
+ </pre>
1377
+ </div>
1378
+ </div>
1379
+ </div>
1380
+ <div class="method">
1381
+ <div class="title">
1382
+ <a name="M000113"></a><b>install</b>(from, dest, mode, prefix = nil)
1383
+ </div>
1384
+ <div class="sourcecode">
1385
+ <p class="source-link">[ <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">+</a> ]</p>
1386
+ <div id="M000113_source" class="dyn-source">
1387
+ <pre>
1388
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 780</span>
1389
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">from</span>, <span class="ruby-identifier">dest</span>, <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">prefix</span> = <span class="ruby-keyword kw">nil</span>)
1390
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;install #{from} #{dest}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1391
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
1392
+
1393
+ <span class="ruby-identifier">realdest</span> = <span class="ruby-identifier">prefix</span> <span class="ruby-value">? </span><span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">dest</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">dest</span>
1394
+ <span class="ruby-identifier">realdest</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">realdest</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">from</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">realdest</span>)
1395
+ <span class="ruby-identifier">str</span> = <span class="ruby-identifier">binread</span>(<span class="ruby-identifier">from</span>)
1396
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">diff?</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">realdest</span>)
1397
+ <span class="ruby-identifier">verbose_off</span> {
1398
+ <span class="ruby-identifier">rm_f</span> <span class="ruby-identifier">realdest</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">realdest</span>)
1399
+ }
1400
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">realdest</span>, <span class="ruby-value str">'wb'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1401
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">str</span>
1402
+ }
1403
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">chmod</span> <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">realdest</span>
1404
+
1405
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prefix</span>
1406
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">realdest</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-identifier">prefix</span>, <span class="ruby-value str">''</span>)
1407
+ <span class="ruby-keyword kw">else</span>
1408
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">realdest</span>
1409
+ <span class="ruby-keyword kw">end</span>
1410
+
1411
+ <span class="ruby-identifier">record_installation</span>(<span class="ruby-identifier">path</span>)
1412
+ <span class="ruby-keyword kw">end</span>
1413
+ <span class="ruby-keyword kw">end</span>
1414
+ </pre>
1415
+ </div>
1416
+ </div>
1417
+ </div>
1418
+ <div class="method">
1419
+ <div class="title">
1420
+ <a name="M000063"></a><b>install_dir_bin</b>(rel)
1421
+ </div>
1422
+ <div class="sourcecode">
1423
+ <p class="source-link">[ <a href="javascript:toggleSource('M000063_source')" id="l_M000063_source">+</a> ]</p>
1424
+ <div id="M000063_source" class="dyn-source">
1425
+ <pre>
1426
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 430</span>
1427
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_bin</span>(<span class="ruby-identifier">rel</span>)
1428
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">targetfiles</span>(), <span class="ruby-node">&quot;#{config.bindir}/#{rel}&quot;</span>, <span class="ruby-value">0755</span>
1429
+ <span class="ruby-keyword kw">end</span>
1430
+ </pre>
1431
+ </div>
1432
+ </div>
1433
+ </div>
1434
+ <div class="method">
1435
+ <div class="title">
1436
+ <a name="M000066"></a><b>install_dir_data</b>(rel)
1437
+ </div>
1438
+ <div class="sourcecode">
1439
+ <p class="source-link">[ <a href="javascript:toggleSource('M000066_source')" id="l_M000066_source">+</a> ]</p>
1440
+ <div id="M000066_source" class="dyn-source">
1441
+ <pre>
1442
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 444</span>
1443
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_data</span>(<span class="ruby-identifier">rel</span>)
1444
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">targetfiles</span>(), <span class="ruby-node">&quot;#{config.datadir}/#{rel}&quot;</span>, <span class="ruby-value">0644</span>
1445
+ <span class="ruby-keyword kw">end</span>
1446
+ </pre>
1447
+ </div>
1448
+ </div>
1449
+ </div>
1450
+ <div class="method">
1451
+ <div class="title">
1452
+ <a name="M000069"></a><b>install_dir_doc</b>(rel)
1453
+ </div>
1454
+ <div class="description">
1455
+ <p>
1456
+ doc installs to directory named: &quot;<a
1457
+ href="Installer.html#M000117">ruby</a>-#{package}&quot;
1458
+ </p>
1459
+ </div>
1460
+ <div class="sourcecode">
1461
+ <p class="source-link">[ <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">+</a> ]</p>
1462
+ <div id="M000069_source" class="dyn-source">
1463
+ <pre>
1464
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 459</span>
1465
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_doc</span>(<span class="ruby-identifier">rel</span>)
1466
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">without_doc?</span>
1467
+ <span class="ruby-identifier">dir</span> = <span class="ruby-node">&quot;#{config.docdir}/ruby-#{PACKAGE_NAME}/#{rel}&quot;</span> <span class="ruby-comment cmt"># &quot;#{config.docdir}/#{rel}&quot;</span>
1468
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">targetfiles</span>(), <span class="ruby-identifier">dir</span>, <span class="ruby-value">0644</span>
1469
+ <span class="ruby-keyword kw">end</span>
1470
+ </pre>
1471
+ </div>
1472
+ </div>
1473
+ </div>
1474
+ <div class="method">
1475
+ <div class="title">
1476
+ <a name="M000070"></a><b>install_dir_doc</b>(rel)
1477
+ </div>
1478
+ <div class="description">
1479
+ <p>
1480
+ doc installs to directory named: &quot;<a
1481
+ href="Installer.html#M000117">ruby</a>-#{package}&quot;
1482
+ </p>
1483
+ </div>
1484
+ <div class="sourcecode">
1485
+ <p class="source-link">[ <a href="javascript:toggleSource('M000070_source')" id="l_M000070_source">+</a> ]</p>
1486
+ <div id="M000070_source" class="dyn-source">
1487
+ <pre>
1488
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 466</span>
1489
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_doc</span>(<span class="ruby-identifier">rel</span>)
1490
+ <span class="ruby-keyword kw">end</span>
1491
+ </pre>
1492
+ </div>
1493
+ </div>
1494
+ </div>
1495
+ <div class="method">
1496
+ <div class="title">
1497
+ <a name="M000067"></a><b>install_dir_etc</b>(rel)
1498
+ </div>
1499
+ <div class="sourcecode">
1500
+ <p class="source-link">[ <a href="javascript:toggleSource('M000067_source')" id="l_M000067_source">+</a> ]</p>
1501
+ <div id="M000067_source" class="dyn-source">
1502
+ <pre>
1503
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 448</span>
1504
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_etc</span>(<span class="ruby-identifier">rel</span>)
1505
+ <span class="ruby-comment cmt"># FIXME: should not remove current config files</span>
1506
+ <span class="ruby-comment cmt"># (rename previous file to .old/.org)</span>
1507
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">targetfiles</span>(), <span class="ruby-node">&quot;#{config.sysconfdir}/#{rel}&quot;</span>, <span class="ruby-value">0644</span>
1508
+ <span class="ruby-keyword kw">end</span>
1509
+ </pre>
1510
+ </div>
1511
+ </div>
1512
+ </div>
1513
+ <div class="method">
1514
+ <div class="title">
1515
+ <a name="M000065"></a><b>install_dir_ext</b>(rel)
1516
+ </div>
1517
+ <div class="sourcecode">
1518
+ <p class="source-link">[ <a href="javascript:toggleSource('M000065_source')" id="l_M000065_source">+</a> ]</p>
1519
+ <div id="M000065_source" class="dyn-source">
1520
+ <pre>
1521
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 438</span>
1522
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_ext</span>(<span class="ruby-identifier">rel</span>)
1523
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">curr_srcdir</span>())
1524
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">rubyextentions</span>(<span class="ruby-value str">'.'</span>),
1525
+ <span class="ruby-node">&quot;#{config.sodir}/#{File.dirname(rel)}&quot;</span>, <span class="ruby-value">0555</span>
1526
+ <span class="ruby-keyword kw">end</span>
1527
+ </pre>
1528
+ </div>
1529
+ </div>
1530
+ </div>
1531
+ <div class="method">
1532
+ <div class="title">
1533
+ <a name="M000064"></a><b>install_dir_lib</b>(rel)
1534
+ </div>
1535
+ <div class="sourcecode">
1536
+ <p class="source-link">[ <a href="javascript:toggleSource('M000064_source')" id="l_M000064_source">+</a> ]</p>
1537
+ <div id="M000064_source" class="dyn-source">
1538
+ <pre>
1539
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 434</span>
1540
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_lib</span>(<span class="ruby-identifier">rel</span>)
1541
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">libfiles</span>(), <span class="ruby-node">&quot;#{config.rbdir}/#{rel}&quot;</span>, <span class="ruby-value">0644</span>
1542
+ <span class="ruby-keyword kw">end</span>
1543
+ </pre>
1544
+ </div>
1545
+ </div>
1546
+ </div>
1547
+ <div class="method">
1548
+ <div class="title">
1549
+ <a name="M000068"></a><b>install_dir_man</b>(rel)
1550
+ </div>
1551
+ <div class="sourcecode">
1552
+ <p class="source-link">[ <a href="javascript:toggleSource('M000068_source')" id="l_M000068_source">+</a> ]</p>
1553
+ <div id="M000068_source" class="dyn-source">
1554
+ <pre>
1555
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 454</span>
1556
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_dir_man</span>(<span class="ruby-identifier">rel</span>)
1557
+ <span class="ruby-identifier">install_files</span> <span class="ruby-identifier">targetfiles</span>(), <span class="ruby-node">&quot;#{config.mandir}/#{rel}&quot;</span>, <span class="ruby-value">0644</span>
1558
+ <span class="ruby-keyword kw">end</span>
1559
+ </pre>
1560
+ </div>
1561
+ </div>
1562
+ </div>
1563
+ <div class="method">
1564
+ <div class="title">
1565
+ <a name="M000071"></a><b>install_files</b>(list, dest, mode)
1566
+ </div>
1567
+ <div class="sourcecode">
1568
+ <p class="source-link">[ <a href="javascript:toggleSource('M000071_source')" id="l_M000071_source">+</a> ]</p>
1569
+ <div id="M000071_source" class="dyn-source">
1570
+ <pre>
1571
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 469</span>
1572
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_files</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">dest</span>, <span class="ruby-identifier">mode</span>)
1573
+ <span class="ruby-identifier">mkdir_p</span> <span class="ruby-identifier">dest</span>, <span class="ruby-identifier">install_prefix</span>
1574
+ <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">fname</span><span class="ruby-operator">|</span>
1575
+ <span class="ruby-identifier">install</span> <span class="ruby-identifier">fname</span>, <span class="ruby-identifier">dest</span>, <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">install_prefix</span>
1576
+ <span class="ruby-keyword kw">end</span>
1577
+ <span class="ruby-keyword kw">end</span>
1578
+ </pre>
1579
+ </div>
1580
+ </div>
1581
+ </div>
1582
+ <div class="method">
1583
+ <div class="title">
1584
+ <a name="M000024"></a><b>installation!</b>()
1585
+ </div>
1586
+ <div class="sourcecode">
1587
+ <p class="source-link">[ <a href="javascript:toggleSource('M000024_source')" id="l_M000024_source">+</a> ]</p>
1588
+ <div id="M000024_source" class="dyn-source">
1589
+ <pre>
1590
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 61</span>
1591
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">installation!</span>; <span class="ruby-ivar">@installation</span> = <span class="ruby-keyword kw">true</span>; <span class="ruby-keyword kw">end</span>
1592
+ </pre>
1593
+ </div>
1594
+ </div>
1595
+ </div>
1596
+ <div class="method">
1597
+ <div class="title">
1598
+ <a name="M000023"></a><b>installation?</b>()
1599
+ </div>
1600
+ <div class="description">
1601
+ <p>
1602
+ Are we running an <a href="Installer.html#M000023">installation?</a>
1603
+ </p>
1604
+ </div>
1605
+ <div class="sourcecode">
1606
+ <p class="source-link">[ <a href="javascript:toggleSource('M000023_source')" id="l_M000023_source">+</a> ]</p>
1607
+ <div id="M000023_source" class="dyn-source">
1608
+ <pre>
1609
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 60</span>
1610
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">installation?</span>; <span class="ruby-ivar">@installation</span>; <span class="ruby-keyword kw">end</span>
1611
+ </pre>
1612
+ </div>
1613
+ </div>
1614
+ </div>
1615
+ <div class="method">
1616
+ <div class="title">
1617
+ <a name="M000072"></a><b>libfiles</b>()
1618
+ </div>
1619
+ <div class="sourcecode">
1620
+ <p class="source-link">[ <a href="javascript:toggleSource('M000072_source')" id="l_M000072_source">+</a> ]</p>
1621
+ <div id="M000072_source" class="dyn-source">
1622
+ <pre>
1623
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 476</span>
1624
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">libfiles</span>
1625
+ <span class="ruby-identifier">glob_reject</span>(<span class="ruby-node">%w(*.y *.output)</span>, <span class="ruby-identifier">targetfiles</span>())
1626
+ <span class="ruby-keyword kw">end</span>
1627
+ </pre>
1628
+ </div>
1629
+ </div>
1630
+ </div>
1631
+ <div class="method">
1632
+ <div class="title">
1633
+ <a name="M000118"></a><b>make</b>(task = nil)
1634
+ </div>
1635
+ <div class="sourcecode">
1636
+ <p class="source-link">[ <a href="javascript:toggleSource('M000118_source')" id="l_M000118_source">+</a> ]</p>
1637
+ <div id="M000118_source" class="dyn-source">
1638
+ <pre>
1639
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 827</span>
1640
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make</span>(<span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
1641
+ <span class="ruby-identifier">command</span>(<span class="ruby-operator">*</span>[<span class="ruby-identifier">config</span>.<span class="ruby-identifier">makeprog</span>, <span class="ruby-identifier">task</span>].<span class="ruby-identifier">compact</span>)
1642
+ <span class="ruby-keyword kw">end</span>
1643
+ </pre>
1644
+ </div>
1645
+ </div>
1646
+ </div>
1647
+ <div class="method">
1648
+ <div class="title">
1649
+ <a name="M000076"></a><b>mapdir</b>(ents)
1650
+ </div>
1651
+ <div class="sourcecode">
1652
+ <p class="source-link">[ <a href="javascript:toggleSource('M000076_source')" id="l_M000076_source">+</a> ]</p>
1653
+ <div id="M000076_source" class="dyn-source">
1654
+ <pre>
1655
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 496</span>
1656
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mapdir</span>(<span class="ruby-identifier">ents</span>)
1657
+ <span class="ruby-identifier">ents</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span>
1658
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">ent</span>)
1659
+ <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">ent</span> <span class="ruby-comment cmt"># objdir</span>
1660
+ <span class="ruby-keyword kw">else</span> <span class="ruby-node">&quot;#{curr_srcdir()}/#{ent}&quot;</span> <span class="ruby-comment cmt"># srcdir</span>
1661
+ <span class="ruby-keyword kw">end</span>
1662
+ }
1663
+ <span class="ruby-keyword kw">end</span>
1664
+ </pre>
1665
+ </div>
1666
+ </div>
1667
+ </div>
1668
+ <div class="method">
1669
+ <div class="title">
1670
+ <a name="M000104"></a><b>mkdir_p</b>(dirname, prefix = nil)
1671
+ </div>
1672
+ <div class="sourcecode">
1673
+ <p class="source-link">[ <a href="javascript:toggleSource('M000104_source')" id="l_M000104_source">+</a> ]</p>
1674
+ <div id="M000104_source" class="dyn-source">
1675
+ <pre>
1676
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 689</span>
1677
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">dirname</span>, <span class="ruby-identifier">prefix</span> = <span class="ruby-keyword kw">nil</span>)
1678
+ <span class="ruby-identifier">dirname</span> = <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">dirname</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prefix</span>
1679
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;mkdir -p #{dirname}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1680
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
1681
+
1682
+ <span class="ruby-comment cmt"># Does not check '/', it's too abnormal.</span>
1683
+ <span class="ruby-identifier">dirs</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">dirname</span>).<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">%r&lt;(?=/)&gt;</span>)
1684
+ <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/\A[a-z]:\z/i</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">dirs</span>[<span class="ruby-value">0</span>]
1685
+ <span class="ruby-identifier">disk</span> = <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">shift</span>
1686
+ <span class="ruby-identifier">dirs</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">disk</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">dirs</span>[<span class="ruby-value">0</span>]
1687
+ <span class="ruby-keyword kw">end</span>
1688
+ <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1689
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">dirs</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">idx</span>].<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>)
1690
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-identifier">path</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">path</span>)
1691
+ <span class="ruby-identifier">record_installation</span>(<span class="ruby-identifier">path</span>) <span class="ruby-comment cmt"># also record directories made</span>
1692
+ <span class="ruby-keyword kw">end</span>
1693
+ <span class="ruby-keyword kw">end</span>
1694
+ </pre>
1695
+ </div>
1696
+ </div>
1697
+ </div>
1698
+ <div class="method">
1699
+ <div class="title">
1700
+ <a name="M000110"></a><b>move_file</b>(src, dest)
1701
+ </div>
1702
+ <div class="sourcecode">
1703
+ <p class="source-link">[ <a href="javascript:toggleSource('M000110_source')" id="l_M000110_source">+</a> ]</p>
1704
+ <div id="M000110_source" class="dyn-source">
1705
+ <pre>
1706
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 755</span>
1707
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_file</span>(<span class="ruby-identifier">src</span>, <span class="ruby-identifier">dest</span>)
1708
+ <span class="ruby-identifier">force_remove_file</span> <span class="ruby-identifier">dest</span>
1709
+ <span class="ruby-keyword kw">begin</span>
1710
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">rename</span> <span class="ruby-identifier">src</span>, <span class="ruby-identifier">dest</span>
1711
+ <span class="ruby-keyword kw">rescue</span>
1712
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">dest</span>, <span class="ruby-value str">'wb'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1713
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">binread</span>(<span class="ruby-identifier">src</span>)
1714
+ }
1715
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">chmod</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-identifier">src</span>).<span class="ruby-identifier">mode</span>, <span class="ruby-identifier">dest</span>
1716
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span> <span class="ruby-identifier">src</span>
1717
+ <span class="ruby-keyword kw">end</span>
1718
+ <span class="ruby-keyword kw">end</span>
1719
+ </pre>
1720
+ </div>
1721
+ </div>
1722
+ </div>
1723
+ <div class="method">
1724
+ <div class="title">
1725
+ <a name="M000056"></a><b>new_shebang</b>(old)
1726
+ </div>
1727
+ <div class="sourcecode">
1728
+ <p class="source-link">[ <a href="javascript:toggleSource('M000056_source')" id="l_M000056_source">+</a> ]</p>
1729
+ <div id="M000056_source" class="dyn-source">
1730
+ <pre>
1731
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 222</span>
1732
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_shebang</span>(<span class="ruby-identifier">old</span>)
1733
+ <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/\Aruby/</span> <span class="ruby-operator">=~</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">old</span>.<span class="ruby-identifier">cmd</span>)
1734
+ <span class="ruby-constant">Shebang</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">rubypath</span>, <span class="ruby-identifier">old</span>.<span class="ruby-identifier">args</span>)
1735
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">old</span>.<span class="ruby-identifier">cmd</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">'env'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">old</span>.<span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ruby'</span>
1736
+ <span class="ruby-constant">Shebang</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">rubypath</span>, <span class="ruby-identifier">old</span>.<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>])
1737
+ <span class="ruby-keyword kw">else</span>
1738
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">old</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">shebang</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'all'</span>
1739
+ <span class="ruby-constant">Shebang</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">rubypath</span>)
1740
+ <span class="ruby-keyword kw">end</span>
1741
+ <span class="ruby-keyword kw">end</span>
1742
+ </pre>
1743
+ </div>
1744
+ </div>
1745
+ </div>
1746
+ <div class="method">
1747
+ <div class="title">
1748
+ <a name="M000025"></a><b>no_harm?</b>()
1749
+ </div>
1750
+ <div class="sourcecode">
1751
+ <p class="source-link">[ <a href="javascript:toggleSource('M000025_source')" id="l_M000025_source">+</a> ]</p>
1752
+ <div id="M000025_source" class="dyn-source">
1753
+ <pre>
1754
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 63</span>
1755
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">no_harm?</span>; <span class="ruby-ivar">@no_harm</span>; <span class="ruby-keyword kw">end</span>
1756
+ </pre>
1757
+ </div>
1758
+ </div>
1759
+ </div>
1760
+ <div class="method">
1761
+ <div class="title">
1762
+ <a name="M000032"></a><b>noop</b>(rel)
1763
+ </div>
1764
+ <div class="aka">
1765
+ This method is also aliased as
1766
+ <a href="Installer.html#M000038">config_dir_bin</a>
1767
+ <a href="Installer.html#M000039">config_dir_lib</a>
1768
+ <a href="Installer.html#M000041">config_dir_data</a>
1769
+ <a href="Installer.html#M000042">config_dir_etc</a>
1770
+ <a href="Installer.html#M000043">config_dir_man</a>
1771
+ <a href="Installer.html#M000044">config_dir_doc</a>
1772
+ <a href="Installer.html#M000049">setup_dir_lib</a>
1773
+ <a href="Installer.html#M000051">setup_dir_data</a>
1774
+ <a href="Installer.html#M000052">setup_dir_etc</a>
1775
+ <a href="Installer.html#M000053">setup_dir_man</a>
1776
+ <a href="Installer.html#M000054">setup_dir_doc</a>
1777
+ <a href="Installer.html#M000084">clean_dir_bin</a>
1778
+ <a href="Installer.html#M000085">clean_dir_lib</a>
1779
+ <a href="Installer.html#M000086">clean_dir_data</a>
1780
+ <a href="Installer.html#M000087">clean_dir_etc</a>
1781
+ <a href="Installer.html#M000088">clean_dir_man</a>
1782
+ <a href="Installer.html#M000089">clean_dir_doc</a>
1783
+ <a href="Installer.html#M000092">distclean_dir_bin</a>
1784
+ <a href="Installer.html#M000093">distclean_dir_lib</a>
1785
+ <a href="Installer.html#M000095">distclean_dir_data</a>
1786
+ <a href="Installer.html#M000096">distclean_dir_etc</a>
1787
+ <a href="Installer.html#M000097">distclean_dir_man</a>
1788
+ </div>
1789
+ <div class="sourcecode">
1790
+ <p class="source-link">[ <a href="javascript:toggleSource('M000032_source')" id="l_M000032_source">+</a> ]</p>
1791
+ <div id="M000032_source" class="dyn-source">
1792
+ <pre>
1793
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 99</span>
1794
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">noop</span>(<span class="ruby-identifier">rel</span>); <span class="ruby-keyword kw">end</span>
1795
+ </pre>
1796
+ </div>
1797
+ </div>
1798
+ </div>
1799
+ <div class="method">
1800
+ <div class="title">
1801
+ <a name="M000034"></a><b>objdir_root</b>()
1802
+ </div>
1803
+ <div class="sourcecode">
1804
+ <p class="source-link">[ <a href="javascript:toggleSource('M000034_source')" id="l_M000034_source">+</a> ]</p>
1805
+ <div id="M000034_source" class="dyn-source">
1806
+ <pre>
1807
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 109</span>
1808
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">objdir_root</span>
1809
+ <span class="ruby-ivar">@objdir</span>
1810
+ <span class="ruby-keyword kw">end</span>
1811
+ </pre>
1812
+ </div>
1813
+ </div>
1814
+ </div>
1815
+ <div class="method">
1816
+ <div class="title">
1817
+ <a name="M000057"></a><b>open_atomic_writer</b>(path, &amp;block)
1818
+ </div>
1819
+ <div class="sourcecode">
1820
+ <p class="source-link">[ <a href="javascript:toggleSource('M000057_source')" id="l_M000057_source">+</a> ]</p>
1821
+ <div id="M000057_source" class="dyn-source">
1822
+ <pre>
1823
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 233</span>
1824
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open_atomic_writer</span>(<span class="ruby-identifier">path</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1825
+ <span class="ruby-identifier">tmpfile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'.tmp'</span>
1826
+ <span class="ruby-keyword kw">begin</span>
1827
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">tmpfile</span>, <span class="ruby-value str">'wb'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1828
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">rename</span> <span class="ruby-identifier">tmpfile</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>)
1829
+ <span class="ruby-keyword kw">ensure</span>
1830
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span> <span class="ruby-identifier">tmpfile</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">tmpfile</span>)
1831
+ <span class="ruby-keyword kw">end</span>
1832
+ <span class="ruby-keyword kw">end</span>
1833
+ </pre>
1834
+ </div>
1835
+ </div>
1836
+ </div>
1837
+ <div class="method">
1838
+ <div class="title">
1839
+ <a name="M000027"></a><b>quiet?</b>()
1840
+ </div>
1841
+ <div class="sourcecode">
1842
+ <p class="source-link">[ <a href="javascript:toggleSource('M000027_source')" id="l_M000027_source">+</a> ]</p>
1843
+ <div id="M000027_source" class="dyn-source">
1844
+ <pre>
1845
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 65</span>
1846
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quiet?</span>; <span class="ruby-ivar">@quiet</span>; <span class="ruby-keyword kw">end</span>
1847
+ </pre>
1848
+ </div>
1849
+ </div>
1850
+ </div>
1851
+ <div class="method">
1852
+ <div class="title">
1853
+ <a name="M000114"></a><b>record_installation</b>(path)
1854
+ </div>
1855
+ <div class="sourcecode">
1856
+ <p class="source-link">[ <a href="javascript:toggleSource('M000114_source')" id="l_M000114_source">+</a> ]</p>
1857
+ <div id="M000114_source" class="dyn-source">
1858
+ <pre>
1859
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 806</span>
1860
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">record_installation</span>(<span class="ruby-identifier">path</span>)
1861
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-node">&quot;#{objdir_root()}/#{MANIFEST}&quot;</span>, <span class="ruby-value str">'a'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1862
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">path</span>)
1863
+ <span class="ruby-keyword kw">end</span>
1864
+ <span class="ruby-keyword kw">end</span>
1865
+ </pre>
1866
+ </div>
1867
+ </div>
1868
+ </div>
1869
+ <div class="method">
1870
+ <div class="title">
1871
+ <a name="M000035"></a><b>relpath</b>()
1872
+ </div>
1873
+ <div class="sourcecode">
1874
+ <p class="source-link">[ <a href="javascript:toggleSource('M000035_source')" id="l_M000035_source">+</a> ]</p>
1875
+ <div id="M000035_source" class="dyn-source">
1876
+ <pre>
1877
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 113</span>
1878
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relpath</span>
1879
+ <span class="ruby-ivar">@currdir</span>
1880
+ <span class="ruby-keyword kw">end</span>
1881
+ </pre>
1882
+ </div>
1883
+ </div>
1884
+ </div>
1885
+ <div class="method">
1886
+ <div class="title">
1887
+ <a name="M000112"></a><b>remove_file</b>(path)
1888
+ </div>
1889
+ <div class="sourcecode">
1890
+ <p class="source-link">[ <a href="javascript:toggleSource('M000112_source')" id="l_M000112_source">+</a> ]</p>
1891
+ <div id="M000112_source" class="dyn-source">
1892
+ <pre>
1893
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 775</span>
1894
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_file</span>(<span class="ruby-identifier">path</span>)
1895
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">chmod</span> <span class="ruby-value">0777</span>, <span class="ruby-identifier">path</span>
1896
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span> <span class="ruby-identifier">path</span>
1897
+ <span class="ruby-keyword kw">end</span>
1898
+ </pre>
1899
+ </div>
1900
+ </div>
1901
+ </div>
1902
+ <div class="method">
1903
+ <div class="title">
1904
+ <a name="M000108"></a><b>remove_tree</b>(path)
1905
+ </div>
1906
+ <div class="sourcecode">
1907
+ <p class="source-link">[ <a href="javascript:toggleSource('M000108_source')" id="l_M000108_source">+</a> ]</p>
1908
+ <div id="M000108_source" class="dyn-source">
1909
+ <pre>
1910
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 725</span>
1911
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_tree</span>(<span class="ruby-identifier">path</span>)
1912
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">symlink?</span>(<span class="ruby-identifier">path</span>)
1913
+ <span class="ruby-identifier">remove_file</span> <span class="ruby-identifier">path</span>
1914
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">path</span>)
1915
+ <span class="ruby-identifier">remove_tree0</span> <span class="ruby-identifier">path</span>
1916
+ <span class="ruby-keyword kw">else</span>
1917
+ <span class="ruby-identifier">force_remove_file</span> <span class="ruby-identifier">path</span>
1918
+ <span class="ruby-keyword kw">end</span>
1919
+ <span class="ruby-keyword kw">end</span>
1920
+ </pre>
1921
+ </div>
1922
+ </div>
1923
+ </div>
1924
+ <div class="method">
1925
+ <div class="title">
1926
+ <a name="M000109"></a><b>remove_tree0</b>(path)
1927
+ </div>
1928
+ <div class="sourcecode">
1929
+ <p class="source-link">[ <a href="javascript:toggleSource('M000109_source')" id="l_M000109_source">+</a> ]</p>
1930
+ <div id="M000109_source" class="dyn-source">
1931
+ <pre>
1932
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 735</span>
1933
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_tree0</span>(<span class="ruby-identifier">path</span>)
1934
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">foreach</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span>
1935
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ent</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span>
1936
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ent</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'..'</span>
1937
+ <span class="ruby-identifier">entpath</span> = <span class="ruby-node">&quot;#{path}/#{ent}&quot;</span>
1938
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">symlink?</span>(<span class="ruby-identifier">entpath</span>)
1939
+ <span class="ruby-identifier">remove_file</span> <span class="ruby-identifier">entpath</span>
1940
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">entpath</span>)
1941
+ <span class="ruby-identifier">remove_tree0</span> <span class="ruby-identifier">entpath</span>
1942
+ <span class="ruby-keyword kw">else</span>
1943
+ <span class="ruby-identifier">force_remove_file</span> <span class="ruby-identifier">entpath</span>
1944
+ <span class="ruby-keyword kw">end</span>
1945
+ <span class="ruby-keyword kw">end</span>
1946
+ <span class="ruby-keyword kw">begin</span>
1947
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">rmdir</span> <span class="ruby-identifier">path</span>
1948
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOTEMPTY</span>
1949
+ <span class="ruby-comment cmt"># directory may not be empty</span>
1950
+ <span class="ruby-keyword kw">end</span>
1951
+ <span class="ruby-keyword kw">end</span>
1952
+ </pre>
1953
+ </div>
1954
+ </div>
1955
+ </div>
1956
+ <div class="method">
1957
+ <div class="title">
1958
+ <a name="M000029"></a><b>report_header</b>(phase)
1959
+ </div>
1960
+ <div class="sourcecode">
1961
+ <p class="source-link">[ <a href="javascript:toggleSource('M000029_source')" id="l_M000029_source">+</a> ]</p>
1962
+ <div id="M000029_source" class="dyn-source">
1963
+ <pre>
1964
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 77</span>
1965
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">report_header</span>(<span class="ruby-identifier">phase</span>)
1966
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">quiet?</span>
1967
+ <span class="ruby-comment cmt">#center = &quot; &quot;</span>
1968
+ <span class="ruby-comment cmt">#c = (center.size - phase.size) / 2</span>
1969
+ <span class="ruby-comment cmt">#center[c,phase.size] = phase.to_s.upcase</span>
1970
+ <span class="ruby-identifier">line</span> = <span class="ruby-value str">'- '</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span> <span class="ruby-operator">+</span> <span class="ruby-value str">' -'</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>
1971
+ <span class="ruby-comment cmt">#c = (line.size - phase.size) / 2</span>
1972
+ <span class="ruby-identifier">line</span>[<span class="ruby-value">5</span>,<span class="ruby-identifier">phase</span>.<span class="ruby-identifier">size</span>] = <span class="ruby-node">&quot; #{phase.to_s.upcase} &quot;</span>
1973
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
1974
+ <span class="ruby-keyword kw">end</span>
1975
+ </pre>
1976
+ </div>
1977
+ </div>
1978
+ </div>
1979
+ <div class="method">
1980
+ <div class="title">
1981
+ <a name="M000105"></a><b>rm_f</b>(path)
1982
+ </div>
1983
+ <div class="sourcecode">
1984
+ <p class="source-link">[ <a href="javascript:toggleSource('M000105_source')" id="l_M000105_source">+</a> ]</p>
1985
+ <div id="M000105_source" class="dyn-source">
1986
+ <pre>
1987
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 707</span>
1988
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rm_f</span>(<span class="ruby-identifier">path</span>)
1989
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;rm -f #{path}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
1990
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
1991
+ <span class="ruby-identifier">force_remove_file</span> <span class="ruby-identifier">path</span>
1992
+ <span class="ruby-keyword kw">end</span>
1993
+ </pre>
1994
+ </div>
1995
+ </div>
1996
+ </div>
1997
+ <div class="method">
1998
+ <div class="title">
1999
+ <a name="M000106"></a><b>rm_rf</b>(path)
2000
+ </div>
2001
+ <div class="sourcecode">
2002
+ <p class="source-link">[ <a href="javascript:toggleSource('M000106_source')" id="l_M000106_source">+</a> ]</p>
2003
+ <div id="M000106_source" class="dyn-source">
2004
+ <pre>
2005
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 713</span>
2006
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rm_rf</span>(<span class="ruby-identifier">path</span>)
2007
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;rm -rf #{path}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
2008
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
2009
+ <span class="ruby-identifier">remove_tree</span> <span class="ruby-identifier">path</span>
2010
+ <span class="ruby-keyword kw">end</span>
2011
+ </pre>
2012
+ </div>
2013
+ </div>
2014
+ </div>
2015
+ <div class="method">
2016
+ <div class="title">
2017
+ <a name="M000107"></a><b>rmdir</b>(path)
2018
+ </div>
2019
+ <div class="sourcecode">
2020
+ <p class="source-link">[ <a href="javascript:toggleSource('M000107_source')" id="l_M000107_source">+</a> ]</p>
2021
+ <div id="M000107_source" class="dyn-source">
2022
+ <pre>
2023
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 719</span>
2024
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rmdir</span>(<span class="ruby-identifier">path</span>)
2025
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;rmdir #{path}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
2026
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
2027
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">rmdir</span> <span class="ruby-identifier">path</span>
2028
+ <span class="ruby-keyword kw">end</span>
2029
+ </pre>
2030
+ </div>
2031
+ </div>
2032
+ </div>
2033
+ <div class="method">
2034
+ <div class="title">
2035
+ <a name="M000117"></a><b>ruby</b>(*args)
2036
+ </div>
2037
+ <div class="sourcecode">
2038
+ <p class="source-link">[ <a href="javascript:toggleSource('M000117_source')" id="l_M000117_source">+</a> ]</p>
2039
+ <div id="M000117_source" class="dyn-source">
2040
+ <pre>
2041
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 823</span>
2042
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
2043
+ <span class="ruby-identifier">command</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">rubyprog</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
2044
+ <span class="ruby-keyword kw">end</span>
2045
+ </pre>
2046
+ </div>
2047
+ </div>
2048
+ </div>
2049
+ <div class="method">
2050
+ <div class="title">
2051
+ <a name="M000073"></a><b>rubyextentions</b>(dir)
2052
+ </div>
2053
+ <div class="sourcecode">
2054
+ <p class="source-link">[ <a href="javascript:toggleSource('M000073_source')" id="l_M000073_source">+</a> ]</p>
2055
+ <div id="M000073_source" class="dyn-source">
2056
+ <pre>
2057
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 480</span>
2058
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubyextentions</span>(<span class="ruby-identifier">dir</span>)
2059
+ <span class="ruby-identifier">ents</span> = <span class="ruby-identifier">glob_select</span>(<span class="ruby-node">&quot;*.#{dllext}&quot;</span>, <span class="ruby-identifier">targetfiles</span>())
2060
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ents</span>.<span class="ruby-identifier">empty?</span>
2061
+ <span class="ruby-identifier">setup_rb_error</span> <span class="ruby-node">&quot;no ruby extention exists: 'ruby #{$0} setup' first&quot;</span>
2062
+ <span class="ruby-keyword kw">end</span>
2063
+ <span class="ruby-identifier">ents</span>
2064
+ <span class="ruby-keyword kw">end</span>
2065
+ </pre>
2066
+ </div>
2067
+ </div>
2068
+ </div>
2069
+ <div class="method">
2070
+ <div class="title">
2071
+ <a name="M000102"></a><b>run_hook</b>(id)
2072
+ </div>
2073
+ <div class="sourcecode">
2074
+ <p class="source-link">[ <a href="javascript:toggleSource('M000102_source')" id="l_M000102_source">+</a> ]</p>
2075
+ <div id="M000102_source" class="dyn-source">
2076
+ <pre>
2077
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 667</span>
2078
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run_hook</span>(<span class="ruby-identifier">id</span>)
2079
+ <span class="ruby-identifier">path</span> = [ <span class="ruby-node">&quot;#{curr_srcdir()}/#{id}&quot;</span>,
2080
+ <span class="ruby-node">&quot;#{curr_srcdir()}/#{id}.rb&quot;</span> ].<span class="ruby-identifier">detect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">cand</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">cand</span>) }
2081
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">path</span>
2082
+ <span class="ruby-keyword kw">begin</span>
2083
+ <span class="ruby-identifier">instance_eval</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</span>), <span class="ruby-identifier">path</span>, <span class="ruby-value">1</span>
2084
+ <span class="ruby-keyword kw">rescue</span>
2085
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
2086
+ <span class="ruby-identifier">setup_rb_error</span> <span class="ruby-node">&quot;hook #{path} failed:\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>
2087
+ <span class="ruby-keyword kw">end</span>
2088
+ <span class="ruby-keyword kw">end</span>
2089
+ </pre>
2090
+ </div>
2091
+ </div>
2092
+ </div>
2093
+ <div class="method">
2094
+ <div class="title">
2095
+ <a name="M000123"></a><b>set_config</b>(key, val)
2096
+ </div>
2097
+ <div class="description">
2098
+ <p>
2099
+ obsolete: use metaconfig to change configuration TODO: what to do with?
2100
+ </p>
2101
+ </div>
2102
+ <div class="sourcecode">
2103
+ <p class="source-link">[ <a href="javascript:toggleSource('M000123_source')" id="l_M000123_source">+</a> ]</p>
2104
+ <div id="M000123_source" class="dyn-source">
2105
+ <pre>
2106
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 862</span>
2107
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_config</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span>)
2108
+ <span class="ruby-identifier">config</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">val</span>
2109
+ <span class="ruby-keyword kw">end</span>
2110
+ </pre>
2111
+ </div>
2112
+ </div>
2113
+ </div>
2114
+ <div class="method">
2115
+ <div class="title">
2116
+ <a name="M000048"></a><b>setup_dir_bin</b>(rel)
2117
+ </div>
2118
+ <div class="sourcecode">
2119
+ <p class="source-link">[ <a href="javascript:toggleSource('M000048_source')" id="l_M000048_source">+</a> ]</p>
2120
+ <div id="M000048_source" class="dyn-source">
2121
+ <pre>
2122
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 179</span>
2123
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup_dir_bin</span>(<span class="ruby-identifier">rel</span>)
2124
+ <span class="ruby-identifier">files_of</span>(<span class="ruby-identifier">curr_srcdir</span>()).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">fname</span><span class="ruby-operator">|</span>
2125
+ <span class="ruby-comment cmt">#update_shebang_line &quot;#{curr_srcdir()}/#{fname}&quot; # HERE</span>
2126
+ <span class="ruby-keyword kw">end</span>
2127
+ <span class="ruby-keyword kw">end</span>
2128
+ </pre>
2129
+ </div>
2130
+ </div>
2131
+ </div>
2132
+ <div class="method">
2133
+ <div class="title">
2134
+ <a name="M000051"></a><b>setup_dir_data</b>(rel)
2135
+ </div>
2136
+ <div class="description">
2137
+ <p>
2138
+ Alias for <a href="Installer.html#M000032">noop</a>
2139
+ </p>
2140
+ </div>
2141
+ </div>
2142
+ <div class="method">
2143
+ <div class="title">
2144
+ <a name="M000054"></a><b>setup_dir_doc</b>(rel)
2145
+ </div>
2146
+ <div class="description">
2147
+ <p>
2148
+ Alias for <a href="Installer.html#M000032">noop</a>
2149
+ </p>
2150
+ </div>
2151
+ </div>
2152
+ <div class="method">
2153
+ <div class="title">
2154
+ <a name="M000052"></a><b>setup_dir_etc</b>(rel)
2155
+ </div>
2156
+ <div class="description">
2157
+ <p>
2158
+ Alias for <a href="Installer.html#M000032">noop</a>
2159
+ </p>
2160
+ </div>
2161
+ </div>
2162
+ <div class="method">
2163
+ <div class="title">
2164
+ <a name="M000050"></a><b>setup_dir_ext</b>(rel)
2165
+ </div>
2166
+ <div class="sourcecode">
2167
+ <p class="source-link">[ <a href="javascript:toggleSource('M000050_source')" id="l_M000050_source">+</a> ]</p>
2168
+ <div id="M000050_source" class="dyn-source">
2169
+ <pre>
2170
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 187</span>
2171
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup_dir_ext</span>(<span class="ruby-identifier">rel</span>)
2172
+ <span class="ruby-identifier">make</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">extdir?</span>(<span class="ruby-identifier">curr_srcdir</span>())
2173
+ <span class="ruby-keyword kw">end</span>
2174
+ </pre>
2175
+ </div>
2176
+ </div>
2177
+ </div>
2178
+ <div class="method">
2179
+ <div class="title">
2180
+ <a name="M000049"></a><b>setup_dir_lib</b>(rel)
2181
+ </div>
2182
+ <div class="description">
2183
+ <p>
2184
+ Alias for <a href="Installer.html#M000032">noop</a>
2185
+ </p>
2186
+ </div>
2187
+ </div>
2188
+ <div class="method">
2189
+ <div class="title">
2190
+ <a name="M000053"></a><b>setup_dir_man</b>(rel)
2191
+ </div>
2192
+ <div class="description">
2193
+ <p>
2194
+ Alias for <a href="Installer.html#M000032">noop</a>
2195
+ </p>
2196
+ </div>
2197
+ </div>
2198
+ <div class="method">
2199
+ <div class="title">
2200
+ <a name="M000033"></a><b>srcdir_root</b>()
2201
+ </div>
2202
+ <div class="description">
2203
+ <p>
2204
+ Hook Script API bases
2205
+ </p>
2206
+ </div>
2207
+ <div class="sourcecode">
2208
+ <p class="source-link">[ <a href="javascript:toggleSource('M000033_source')" id="l_M000033_source">+</a> ]</p>
2209
+ <div id="M000033_source" class="dyn-source">
2210
+ <pre>
2211
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 105</span>
2212
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcdir_root</span>
2213
+ <span class="ruby-ivar">@srcdir</span>
2214
+ <span class="ruby-keyword kw">end</span>
2215
+ </pre>
2216
+ </div>
2217
+ </div>
2218
+ </div>
2219
+ <div class="method">
2220
+ <div class="title">
2221
+ <a name="M000132"></a><b>srcdirectories</b>(path = '.')
2222
+ </div>
2223
+ <div class="sourcecode">
2224
+ <p class="source-link">[ <a href="javascript:toggleSource('M000132_source')" id="l_M000132_source">+</a> ]</p>
2225
+ <div id="M000132_source" class="dyn-source">
2226
+ <pre>
2227
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 906</span>
2228
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcdirectories</span>(<span class="ruby-identifier">path</span> = <span class="ruby-value str">'.'</span>)
2229
+ <span class="ruby-identifier">srcentries</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">fname</span><span class="ruby-operator">|</span>
2230
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">curr_srcdir</span>(), <span class="ruby-identifier">path</span>, <span class="ruby-identifier">fname</span>))
2231
+ }
2232
+ <span class="ruby-keyword kw">end</span>
2233
+ </pre>
2234
+ </div>
2235
+ </div>
2236
+ </div>
2237
+ <div class="method">
2238
+ <div class="title">
2239
+ <a name="M000128"></a><b>srcdirectory?</b>(path)
2240
+ </div>
2241
+ <div class="sourcecode">
2242
+ <p class="source-link">[ <a href="javascript:toggleSource('M000128_source')" id="l_M000128_source">+</a> ]</p>
2243
+ <div id="M000128_source" class="dyn-source">
2244
+ <pre>
2245
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 886</span>
2246
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcdirectory?</span>(<span class="ruby-identifier">path</span>)
2247
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">srcfile</span>(<span class="ruby-identifier">path</span>))
2248
+ <span class="ruby-keyword kw">end</span>
2249
+ </pre>
2250
+ </div>
2251
+ </div>
2252
+ </div>
2253
+ <div class="method">
2254
+ <div class="title">
2255
+ <a name="M000130"></a><b>srcentries</b>(path = '.')
2256
+ </div>
2257
+ <div class="sourcecode">
2258
+ <p class="source-link">[ <a href="javascript:toggleSource('M000130_source')" id="l_M000130_source">+</a> ]</p>
2259
+ <div id="M000130_source" class="dyn-source">
2260
+ <pre>
2261
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 894</span>
2262
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcentries</span>(<span class="ruby-identifier">path</span> = <span class="ruby-value str">'.'</span>)
2263
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">open</span>(<span class="ruby-node">&quot;#{curr_srcdir()}/#{path}&quot;</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
2264
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">to_a</span> <span class="ruby-operator">-</span> <span class="ruby-node">%w(. ..)</span>
2265
+ }
2266
+ <span class="ruby-keyword kw">end</span>
2267
+ </pre>
2268
+ </div>
2269
+ </div>
2270
+ </div>
2271
+ <div class="method">
2272
+ <div class="title">
2273
+ <a name="M000127"></a><b>srcexist?</b>(path)
2274
+ </div>
2275
+ <div class="sourcecode">
2276
+ <p class="source-link">[ <a href="javascript:toggleSource('M000127_source')" id="l_M000127_source">+</a> ]</p>
2277
+ <div id="M000127_source" class="dyn-source">
2278
+ <pre>
2279
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 882</span>
2280
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcexist?</span>(<span class="ruby-identifier">path</span>)
2281
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">srcfile</span>(<span class="ruby-identifier">path</span>))
2282
+ <span class="ruby-keyword kw">end</span>
2283
+ </pre>
2284
+ </div>
2285
+ </div>
2286
+ </div>
2287
+ <div class="method">
2288
+ <div class="title">
2289
+ <a name="M000126"></a><b>srcfile</b>(path)
2290
+ </div>
2291
+ <div class="sourcecode">
2292
+ <p class="source-link">[ <a href="javascript:toggleSource('M000126_source')" id="l_M000126_source">+</a> ]</p>
2293
+ <div id="M000126_source" class="dyn-source">
2294
+ <pre>
2295
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 878</span>
2296
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcfile</span>(<span class="ruby-identifier">path</span>)
2297
+ <span class="ruby-node">&quot;#{curr_srcdir()}/#{path}&quot;</span>
2298
+ <span class="ruby-keyword kw">end</span>
2299
+ </pre>
2300
+ </div>
2301
+ </div>
2302
+ </div>
2303
+ <div class="method">
2304
+ <div class="title">
2305
+ <a name="M000129"></a><b>srcfile?</b>(path)
2306
+ </div>
2307
+ <div class="sourcecode">
2308
+ <p class="source-link">[ <a href="javascript:toggleSource('M000129_source')" id="l_M000129_source">+</a> ]</p>
2309
+ <div id="M000129_source" class="dyn-source">
2310
+ <pre>
2311
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 890</span>
2312
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcfile?</span>(<span class="ruby-identifier">path</span>)
2313
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">srcfile</span>(<span class="ruby-identifier">path</span>))
2314
+ <span class="ruby-keyword kw">end</span>
2315
+ </pre>
2316
+ </div>
2317
+ </div>
2318
+ </div>
2319
+ <div class="method">
2320
+ <div class="title">
2321
+ <a name="M000131"></a><b>srcfiles</b>(path = '.')
2322
+ </div>
2323
+ <div class="sourcecode">
2324
+ <p class="source-link">[ <a href="javascript:toggleSource('M000131_source')" id="l_M000131_source">+</a> ]</p>
2325
+ <div id="M000131_source" class="dyn-source">
2326
+ <pre>
2327
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 900</span>
2328
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">srcfiles</span>(<span class="ruby-identifier">path</span> = <span class="ruby-value str">'.'</span>)
2329
+ <span class="ruby-identifier">srcentries</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">fname</span><span class="ruby-operator">|</span>
2330
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">curr_srcdir</span>(), <span class="ruby-identifier">path</span>, <span class="ruby-identifier">fname</span>))
2331
+ }
2332
+ <span class="ruby-keyword kw">end</span>
2333
+ </pre>
2334
+ </div>
2335
+ </div>
2336
+ </div>
2337
+ <div class="method">
2338
+ <div class="title">
2339
+ <a name="M000075"></a><b>targetfiles</b>()
2340
+ </div>
2341
+ <div class="sourcecode">
2342
+ <p class="source-link">[ <a href="javascript:toggleSource('M000075_source')" id="l_M000075_source">+</a> ]</p>
2343
+ <div id="M000075_source" class="dyn-source">
2344
+ <pre>
2345
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 492</span>
2346
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">targetfiles</span>
2347
+ <span class="ruby-identifier">mapdir</span>(<span class="ruby-identifier">existfiles</span>() <span class="ruby-operator">-</span> <span class="ruby-identifier">hookfiles</span>())
2348
+ <span class="ruby-keyword kw">end</span>
2349
+ </pre>
2350
+ </div>
2351
+ </div>
2352
+ </div>
2353
+ <div class="method">
2354
+ <div class="title">
2355
+ <a name="M000100"></a><b>traverse</b>(task, rel, mid)
2356
+ </div>
2357
+ <div class="sourcecode">
2358
+ <p class="source-link">[ <a href="javascript:toggleSource('M000100_source')" id="l_M000100_source">+</a> ]</p>
2359
+ <div id="M000100_source" class="dyn-source">
2360
+ <pre>
2361
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 641</span>
2362
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">traverse</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">rel</span>, <span class="ruby-identifier">mid</span>)
2363
+ <span class="ruby-identifier">dive_into</span>(<span class="ruby-identifier">rel</span>) {
2364
+ <span class="ruby-identifier">run_hook</span> <span class="ruby-node">&quot;pre-#{task}&quot;</span>
2365
+ <span class="ruby-identifier">__send__</span> <span class="ruby-identifier">mid</span>, <span class="ruby-identifier">rel</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">%r[\A.*?(?:/|\z)]</span>, <span class="ruby-value str">''</span>)
2366
+ <span class="ruby-identifier">directories_of</span>(<span class="ruby-identifier">curr_srcdir</span>()).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
2367
+ <span class="ruby-identifier">traverse</span> <span class="ruby-identifier">task</span>, <span class="ruby-node">&quot;#{rel}/#{d}&quot;</span>, <span class="ruby-identifier">mid</span>
2368
+ <span class="ruby-keyword kw">end</span>
2369
+ <span class="ruby-identifier">run_hook</span> <span class="ruby-node">&quot;post-#{task}&quot;</span>
2370
+ }
2371
+ <span class="ruby-keyword kw">end</span>
2372
+ </pre>
2373
+ </div>
2374
+ </div>
2375
+ </div>
2376
+ <div class="method">
2377
+ <div class="title">
2378
+ <a name="M000055"></a><b>update_shebang_line</b>(path)
2379
+ </div>
2380
+ <div class="sourcecode">
2381
+ <p class="source-link">[ <a href="javascript:toggleSource('M000055_source')" id="l_M000055_source">+</a> ]</p>
2382
+ <div id="M000055_source" class="dyn-source">
2383
+ <pre>
2384
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 196</span>
2385
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_shebang_line</span>(<span class="ruby-identifier">path</span>)
2386
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_harm?</span>
2387
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">shebang</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'never'</span>
2388
+ <span class="ruby-identifier">old</span> = <span class="ruby-constant">Shebang</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">path</span>)
2389
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">old</span>
2390
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">old</span>.<span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
2391
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;warning: #{path}&quot;</span>
2392
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Shebang line has too many args.&quot;</span>
2393
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;It is not portable and your program may not work.&quot;</span>
2394
+ <span class="ruby-keyword kw">end</span>
2395
+ <span class="ruby-identifier">new</span> = <span class="ruby-identifier">new_shebang</span>(<span class="ruby-identifier">old</span>)
2396
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">old</span>.<span class="ruby-identifier">to_s</span>
2397
+ <span class="ruby-keyword kw">else</span>
2398
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">shebang</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'all'</span>
2399
+ <span class="ruby-identifier">new</span> = <span class="ruby-constant">Shebang</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">rubypath</span>)
2400
+ <span class="ruby-keyword kw">end</span>
2401
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;updating shebang: #{File.basename(path)}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose?</span>
2402
+ <span class="ruby-identifier">open_atomic_writer</span>(<span class="ruby-identifier">path</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">output</span><span class="ruby-operator">|</span>
2403
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">'rb'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
2404
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">gets</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">old</span> <span class="ruby-comment cmt"># discard</span>
2405
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">new</span>.<span class="ruby-identifier">to_s</span>
2406
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
2407
+ }
2408
+ }
2409
+ <span class="ruby-keyword kw">end</span>
2410
+ </pre>
2411
+ </div>
2412
+ </div>
2413
+ </div>
2414
+ <div class="method">
2415
+ <div class="title">
2416
+ <a name="M000026"></a><b>verbose?</b>()
2417
+ </div>
2418
+ <div class="sourcecode">
2419
+ <p class="source-link">[ <a href="javascript:toggleSource('M000026_source')" id="l_M000026_source">+</a> ]</p>
2420
+ <div id="M000026_source" class="dyn-source">
2421
+ <pre>
2422
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 64</span>
2423
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verbose?</span>; <span class="ruby-ivar">@verbose</span>; <span class="ruby-keyword kw">end</span>
2424
+ </pre>
2425
+ </div>
2426
+ </div>
2427
+ </div>
2428
+ <div class="method">
2429
+ <div class="title">
2430
+ <a name="M000028"></a><b>verbose_off</b>( {|| ...}
2431
+ </div>
2432
+ <div class="sourcecode">
2433
+ <p class="source-link">[ <a href="javascript:toggleSource('M000028_source')" id="l_M000028_source">+</a> ]</p>
2434
+ <div id="M000028_source" class="dyn-source">
2435
+ <pre>
2436
+ <span class="ruby-comment cmt"># File lib/setup/install.rb, line 67</span>
2437
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verbose_off</span> <span class="ruby-comment cmt">#:yield:</span>
2438
+ <span class="ruby-keyword kw">begin</span>
2439
+ <span class="ruby-identifier">save</span>, <span class="ruby-ivar">@verbose</span> = <span class="ruby-identifier">verbose?</span>, <span class="ruby-keyword kw">false</span>
2440
+ <span class="ruby-keyword kw">yield</span>
2441
+ <span class="ruby-keyword kw">ensure</span>
2442
+ <span class="ruby-ivar">@verbose</span> = <span class="ruby-identifier">save</span>
2443
+ <span class="ruby-keyword kw">end</span>
2444
+ <span class="ruby-keyword kw">end</span>
2445
+ </pre>
2446
+ </div>
2447
+ </div>
2448
+ </div>
2449
+ </div>
2450
+
2451
+ </div>
2452
+
2453
+ </body>
2454
+ </html>