vagrant-clone 0.0.1 → 0.0.3

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/.idea/.rakeTasks +7 -0
  3. data/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. data/.idea/misc.xml +4 -0
  5. data/.idea/modules.xml +8 -0
  6. data/.idea/runConfigurations/clone.xml +21 -0
  7. data/.idea/runConfigurations/libvirt.xml +21 -0
  8. data/.idea/vagrant-clone.iml +114 -0
  9. data/.idea/vcs.xml +6 -0
  10. data/.idea/workspace.xml +948 -0
  11. data/Gemfile +9 -3
  12. data/Gemfile.lock +123 -37
  13. data/Rakefile +2 -1
  14. data/Vagrantfile +9 -0
  15. data/cookbooks/apt/CHANGELOG.md +321 -0
  16. data/cookbooks/apt/CONTRIBUTING.md +2 -0
  17. data/cookbooks/apt/MAINTAINERS.md +15 -0
  18. data/cookbooks/apt/README.md +250 -0
  19. data/cookbooks/apt/attributes/default.rb +57 -0
  20. data/cookbooks/apt/files/15update-stamp +1 -0
  21. data/cookbooks/apt/files/apt-proxy-v2.conf +50 -0
  22. data/cookbooks/apt/libraries/helpers.rb +49 -0
  23. data/cookbooks/apt/libraries/matchers.rb +16 -0
  24. data/cookbooks/apt/metadata.json +1 -0
  25. data/cookbooks/apt/recipes/cacher-client.rb +52 -0
  26. data/cookbooks/apt/recipes/cacher-ng.rb +39 -0
  27. data/cookbooks/apt/recipes/default.rb +93 -0
  28. data/cookbooks/apt/recipes/unattended-upgrades.rb +47 -0
  29. data/cookbooks/apt/resources/preference.rb +90 -0
  30. data/cookbooks/apt/templates/01proxy.erb +11 -0
  31. data/cookbooks/apt/templates/10dpkg-options.erb +8 -0
  32. data/cookbooks/apt/templates/10recommends.erb +3 -0
  33. data/cookbooks/apt/templates/20auto-upgrades.erb +5 -0
  34. data/cookbooks/apt/templates/50unattended-upgrades.erb +75 -0
  35. data/cookbooks/apt/templates/acng.conf.erb +275 -0
  36. data/cookbooks/apt/templates/unattended-upgrades.seed.erb +1 -0
  37. data/cookbooks/build-essential/.foodcritic +1 -0
  38. data/cookbooks/build-essential/CHANGELOG.md +257 -0
  39. data/cookbooks/build-essential/CONTRIBUTING.md +2 -0
  40. data/cookbooks/build-essential/MAINTAINERS.md +15 -0
  41. data/cookbooks/build-essential/README.md +134 -0
  42. data/cookbooks/build-essential/attributes/default.rb +21 -0
  43. data/cookbooks/build-essential/libraries/matchers.rb +9 -0
  44. data/cookbooks/build-essential/metadata.json +1 -0
  45. data/cookbooks/build-essential/recipes/_windows.rb +53 -0
  46. data/cookbooks/build-essential/recipes/default.rb +24 -0
  47. data/cookbooks/build-essential/resources/build_essential.rb +106 -0
  48. data/cookbooks/build-essential/resources/xcode_command_line_tools.rb +61 -0
  49. data/cookbooks/compat_resource/CHANGELOG.md +53 -0
  50. data/cookbooks/compat_resource/CONTRIBUTING.md +2 -0
  51. data/cookbooks/compat_resource/MAINTAINERS.md +16 -0
  52. data/cookbooks/compat_resource/README.md +60 -0
  53. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/constants.rb +47 -0
  54. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/delayed_evaluator.rb +40 -0
  55. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/core.rb +73 -0
  56. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/declare_resource.rb +315 -0
  57. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/platform_introspection.rb +292 -0
  58. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/recipe.rb +37 -0
  59. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/universal.rb +70 -0
  60. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/lazy_module_include.rb +98 -0
  61. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/notifying_block.rb +74 -0
  62. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/params_validate.rb +510 -0
  63. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/powershell_out.rb +117 -0
  64. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/properties.rb +328 -0
  65. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/property.rb +713 -0
  66. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/apt_repository.rb +269 -0
  67. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/apt_update.rb +105 -0
  68. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/noop.rb +56 -0
  69. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/support/yum_repo.erb +132 -0
  70. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/systemd_unit.rb +253 -0
  71. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/yum_repository.rb +136 -0
  72. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider.rb +164 -0
  73. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/action_class.rb +114 -0
  74. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/apt_repository.rb +65 -0
  75. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/apt_update.rb +52 -0
  76. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/systemd_unit.rb +81 -0
  77. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/yum_repository.rb +97 -0
  78. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource.rb +214 -0
  79. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource_builder.rb +174 -0
  80. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef.rb +29 -0
  81. data/cookbooks/compat_resource/files/lib/chef_compat/mixin/properties.rb +8 -0
  82. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/exceptions.rb +10 -0
  83. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/log.rb +30 -0
  84. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/mixin/params_validate.rb +17 -0
  85. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/node.rb +9 -0
  86. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/property.rb +15 -0
  87. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/provider.rb +65 -0
  88. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/recipe.rb +118 -0
  89. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/recipe_hook.rb +20 -0
  90. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource/lwrp_base.rb +60 -0
  91. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource.rb +156 -0
  92. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_builder.rb +167 -0
  93. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection/resource_list.rb +49 -0
  94. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection/resource_set.rb +49 -0
  95. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection.rb +103 -0
  96. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/run_context.rb +691 -0
  97. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb +153 -0
  98. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef.rb +33 -0
  99. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches.rb +41 -0
  100. data/cookbooks/compat_resource/files/lib/chef_compat/property.rb +6 -0
  101. data/cookbooks/compat_resource/files/lib/chef_compat/recipe.rb +8 -0
  102. data/cookbooks/compat_resource/files/lib/chef_compat/resource/lwrp_base.rb +44 -0
  103. data/cookbooks/compat_resource/files/lib/chef_compat/resource.rb +56 -0
  104. data/cookbooks/compat_resource/files/lib/chef_upstream_version.rb +3 -0
  105. data/cookbooks/compat_resource/files/lib/compat_resource.rb +35 -0
  106. data/cookbooks/compat_resource/libraries/autoload.rb +31 -0
  107. data/cookbooks/compat_resource/metadata.json +1 -0
  108. data/cookbooks/inifile_chef_gem/CHANGELOG.md +11 -0
  109. data/cookbooks/inifile_chef_gem/README.md +46 -0
  110. data/cookbooks/inifile_chef_gem/metadata.json +51 -0
  111. data/cookbooks/inifile_chef_gem/metadata.rb +11 -0
  112. data/cookbooks/inifile_chef_gem/resources/default.rb +28 -0
  113. data/cookbooks/mariadb/CHANGELOG.md +332 -0
  114. data/cookbooks/mariadb/README.md +225 -0
  115. data/cookbooks/mariadb/attributes/default.rb +199 -0
  116. data/cookbooks/mariadb/libraries/mariadb_conn_helper.rb +53 -0
  117. data/cookbooks/mariadb/libraries/mariadb_helper.rb +216 -0
  118. data/cookbooks/mariadb/libraries/matchers.rb +21 -0
  119. data/cookbooks/mariadb/metadata.json +1 -0
  120. data/cookbooks/mariadb/providers/configuration.rb +39 -0
  121. data/cookbooks/mariadb/recipes/_audit_plugin.rb +63 -0
  122. data/cookbooks/mariadb/recipes/_debian_galera.rb +62 -0
  123. data/cookbooks/mariadb/recipes/_debian_server.rb +78 -0
  124. data/cookbooks/mariadb/recipes/_mariadb_repository.rb +29 -0
  125. data/cookbooks/mariadb/recipes/_redhat_client.rb +27 -0
  126. data/cookbooks/mariadb/recipes/_redhat_galera.rb +55 -0
  127. data/cookbooks/mariadb/recipes/_redhat_server.rb +58 -0
  128. data/cookbooks/mariadb/recipes/client.rb +47 -0
  129. data/cookbooks/mariadb/recipes/config.rb +115 -0
  130. data/cookbooks/mariadb/recipes/default.rb +46 -0
  131. data/cookbooks/mariadb/recipes/devel.rb +41 -0
  132. data/cookbooks/mariadb/recipes/galera.rb +324 -0
  133. data/cookbooks/mariadb/recipes/plugins.rb +3 -0
  134. data/cookbooks/mariadb/recipes/repository.rb +45 -0
  135. data/cookbooks/mariadb/recipes/server.rb +157 -0
  136. data/cookbooks/mariadb/resources/configuration.rb +13 -0
  137. data/cookbooks/mariadb/resources/mysql2_gem.rb +25 -0
  138. data/cookbooks/mariadb/resources/replication.rb +192 -0
  139. data/cookbooks/mariadb/templates/default/conf.d.generic.erb +19 -0
  140. data/cookbooks/mariadb/templates/default/debian.cnf.erb +12 -0
  141. data/cookbooks/mariadb/templates/default/mariadb-server.seed.erb +13 -0
  142. data/cookbooks/mariadb/templates/default/mariadb_grants.erb +42 -0
  143. data/cookbooks/mariadb/templates/default/my.cnf.erb +210 -0
  144. data/cookbooks/mariadb/templates/default/root.cnf.erb +5 -0
  145. data/cookbooks/mingw/.foodcritic +1 -0
  146. data/cookbooks/mingw/CHANGELOG.md +50 -0
  147. data/cookbooks/mingw/CONTRIBUTING.md +2 -0
  148. data/cookbooks/mingw/MAINTAINERS.md +14 -0
  149. data/cookbooks/mingw/README.md +133 -0
  150. data/cookbooks/mingw/files/default/bash.bat +17 -0
  151. data/cookbooks/mingw/files/default/custom-upgrade.sh +23 -0
  152. data/cookbooks/mingw/files/default/custom_prefix.sh +13 -0
  153. data/cookbooks/mingw/files/default/pthread.h +719 -0
  154. data/cookbooks/mingw/files/default/time.h +297 -0
  155. data/cookbooks/mingw/libraries/_helper.rb +38 -0
  156. data/cookbooks/mingw/metadata.json +1 -0
  157. data/cookbooks/mingw/recipes/default.rb +19 -0
  158. data/cookbooks/mingw/resources/get.rb +56 -0
  159. data/cookbooks/mingw/resources/msys2_package.rb +139 -0
  160. data/cookbooks/mingw/resources/tdm_gcc.rb +114 -0
  161. data/cookbooks/ohai/.foodcritic +2 -0
  162. data/cookbooks/ohai/CHANGELOG.md +166 -0
  163. data/cookbooks/ohai/CONTRIBUTING.md +2 -0
  164. data/cookbooks/ohai/MAINTAINERS.md +15 -0
  165. data/cookbooks/ohai/README.md +134 -0
  166. data/cookbooks/ohai/libraries/matchers.rb +41 -0
  167. data/cookbooks/ohai/metadata.json +1 -0
  168. data/cookbooks/ohai/recipes/default.rb +20 -0
  169. data/cookbooks/ohai/resources/hint.rb +55 -0
  170. data/cookbooks/ohai/resources/plugin.rb +117 -0
  171. data/cookbooks/selinux_policy/.gitignore +51 -0
  172. data/cookbooks/selinux_policy/.kitchen.yml +25 -0
  173. data/cookbooks/selinux_policy/.rubocop.yml +2 -0
  174. data/cookbooks/selinux_policy/.travis.yml +26 -0
  175. data/cookbooks/selinux_policy/Berksfile +8 -0
  176. data/cookbooks/selinux_policy/CHANGELOG.md +155 -0
  177. data/cookbooks/selinux_policy/LICENSE +13 -0
  178. data/cookbooks/selinux_policy/README.md +217 -0
  179. data/cookbooks/selinux_policy/Rakefile +68 -0
  180. data/cookbooks/selinux_policy/TESTING.md +2 -0
  181. data/cookbooks/selinux_policy/Thorfile +12 -0
  182. data/cookbooks/selinux_policy/attributes/default.rb +5 -0
  183. data/cookbooks/selinux_policy/chefignore +102 -0
  184. data/cookbooks/selinux_policy/libraries/helper-disabled.rb +29 -0
  185. data/cookbooks/selinux_policy/libraries/matchers.rb +57 -0
  186. data/cookbooks/selinux_policy/metadata.json +58 -0
  187. data/cookbooks/selinux_policy/metadata.rb +20 -0
  188. data/cookbooks/selinux_policy/providers/boolean.rb +28 -0
  189. data/cookbooks/selinux_policy/providers/fcontext.rb +78 -0
  190. data/cookbooks/selinux_policy/providers/module.rb +81 -0
  191. data/cookbooks/selinux_policy/providers/permissive.rb +26 -0
  192. data/cookbooks/selinux_policy/providers/port.rb +58 -0
  193. data/cookbooks/selinux_policy/recipes/default.rb +9 -0
  194. data/cookbooks/selinux_policy/recipes/install.rb +32 -0
  195. data/cookbooks/selinux_policy/resources/boolean.rb +8 -0
  196. data/cookbooks/selinux_policy/resources/fcontext.rb +8 -0
  197. data/cookbooks/selinux_policy/resources/module.rb +21 -0
  198. data/cookbooks/selinux_policy/resources/permissive.rb +6 -0
  199. data/cookbooks/selinux_policy/resources/port.rb +9 -0
  200. data/cookbooks/seven_zip/CHANGELOG.md +30 -0
  201. data/cookbooks/seven_zip/README.md +108 -0
  202. data/cookbooks/seven_zip/attributes/default.rb +31 -0
  203. data/cookbooks/seven_zip/libraries/matchers.rb +33 -0
  204. data/cookbooks/seven_zip/metadata.json +1 -0
  205. data/cookbooks/seven_zip/providers/archive.rb +68 -0
  206. data/cookbooks/seven_zip/recipes/default.rb +41 -0
  207. data/cookbooks/seven_zip/resources/archive.rb +29 -0
  208. data/cookbooks/windows/.foodcritic +2 -0
  209. data/cookbooks/windows/CHANGELOG.md +528 -0
  210. data/cookbooks/windows/CONTRIBUTING.md +2 -0
  211. data/cookbooks/windows/MAINTAINERS.md +21 -0
  212. data/cookbooks/windows/README.md +803 -0
  213. data/cookbooks/windows/attributes/default.rb +21 -0
  214. data/cookbooks/windows/files/dism_features.rb +45 -0
  215. data/cookbooks/windows/libraries/matchers.rb +586 -0
  216. data/cookbooks/windows/libraries/powershell_helper.rb +53 -0
  217. data/cookbooks/windows/libraries/registry_helper.rb +356 -0
  218. data/cookbooks/windows/libraries/version.rb +207 -0
  219. data/cookbooks/windows/libraries/version_helper.rb +79 -0
  220. data/cookbooks/windows/libraries/windows_helper.rb +174 -0
  221. data/cookbooks/windows/libraries/windows_privileged.rb +103 -0
  222. data/cookbooks/windows/libraries/wmi_helper.rb +32 -0
  223. data/cookbooks/windows/metadata.json +1 -0
  224. data/cookbooks/windows/recipes/default.rb +21 -0
  225. data/cookbooks/windows/resources/auto_run.rb +46 -0
  226. data/cookbooks/windows/resources/certificate.rb +166 -0
  227. data/cookbooks/windows/resources/certificate_binding.rb +128 -0
  228. data/cookbooks/windows/resources/feature.rb +82 -0
  229. data/cookbooks/windows/resources/feature_dism.rb +108 -0
  230. data/cookbooks/windows/resources/feature_powershell.rb +70 -0
  231. data/cookbooks/windows/resources/feature_servermanagercmd.rb +76 -0
  232. data/cookbooks/windows/resources/font.rb +80 -0
  233. data/cookbooks/windows/resources/http_acl.rb +110 -0
  234. data/cookbooks/windows/resources/pagefile.rb +152 -0
  235. data/cookbooks/windows/resources/path.rb +54 -0
  236. data/cookbooks/windows/resources/printer.rb +103 -0
  237. data/cookbooks/windows/resources/printer_port.rb +101 -0
  238. data/cookbooks/windows/resources/share.rb +291 -0
  239. data/cookbooks/windows/resources/shortcut.rb +53 -0
  240. data/cookbooks/windows/resources/task.rb +384 -0
  241. data/cookbooks/windows/resources/zipfile.rb +125 -0
  242. data/cookbooks/yum/.foodcritic +1 -0
  243. data/cookbooks/yum/CHANGELOG.md +351 -0
  244. data/cookbooks/yum/CONTRIBUTING.md +2 -0
  245. data/cookbooks/yum/MAINTAINERS.md +16 -0
  246. data/cookbooks/yum/README.md +125 -0
  247. data/cookbooks/yum/attributes/main.rb +103 -0
  248. data/cookbooks/yum/libraries/matchers.rb +9 -0
  249. data/cookbooks/yum/metadata.json +1 -0
  250. data/cookbooks/yum/recipes/default.rb +26 -0
  251. data/cookbooks/yum/recipes/dnf_yum_compat.rb +29 -0
  252. data/cookbooks/yum/resources/globalconfig.rb +119 -0
  253. data/cookbooks/yum/templates/.DS_Store +0 -0
  254. data/cookbooks/yum/templates/main.erb +276 -0
  255. data/cookbooks/yum-epel/CHANGELOG.md +138 -0
  256. data/cookbooks/yum-epel/CONTRIBUTING.md +2 -0
  257. data/cookbooks/yum-epel/MAINTAINERS.md +19 -0
  258. data/cookbooks/yum-epel/README.md +172 -0
  259. data/cookbooks/yum-epel/attributes/default.rb +8 -0
  260. data/cookbooks/yum-epel/attributes/epel-debuginfo.rb +15 -0
  261. data/cookbooks/yum-epel/attributes/epel-source.rb +15 -0
  262. data/cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb +15 -0
  263. data/cookbooks/yum-epel/attributes/epel-testing-source.rb +15 -0
  264. data/cookbooks/yum-epel/attributes/epel-testing.rb +15 -0
  265. data/cookbooks/yum-epel/attributes/epel.rb +21 -0
  266. data/cookbooks/yum-epel/metadata.json +1 -0
  267. data/cookbooks/yum-epel/recipes/default.rb +27 -0
  268. data/cookbooks/yum-scl/.kitchen.dokken.yml +24 -0
  269. data/cookbooks/yum-scl/.kitchen.yml +24 -0
  270. data/cookbooks/yum-scl/.rubocop.yml +6 -0
  271. data/cookbooks/yum-scl/.travis.yml +28 -0
  272. data/cookbooks/yum-scl/Berksfile +3 -0
  273. data/cookbooks/yum-scl/Berksfile.lock +25 -0
  274. data/cookbooks/yum-scl/CHANGELOG.md +11 -0
  275. data/cookbooks/yum-scl/Gemfile +46 -0
  276. data/cookbooks/yum-scl/README.md +76 -0
  277. data/cookbooks/yum-scl/attributes/centos.rb +83 -0
  278. data/cookbooks/yum-scl/attributes/default.rb +15 -0
  279. data/cookbooks/yum-scl/attributes/scientific.rb +1 -0
  280. data/cookbooks/yum-scl/files/default/RPM-GPG-KEY-CentOS-SIG-SCLo +20 -0
  281. data/cookbooks/yum-scl/libraries/yum_scl_helper.rb +33 -0
  282. data/cookbooks/yum-scl/metadata.json +42 -0
  283. data/cookbooks/yum-scl/metadata.rb +12 -0
  284. data/cookbooks/yum-scl/recipes/chef_install.rb +52 -0
  285. data/cookbooks/yum-scl/recipes/default.rb +17 -0
  286. data/cookbooks/yum-scl/recipes/native_install.rb +35 -0
  287. data/lib/vagrant-clone/command/clone.rb +66 -61
  288. data/lib/vagrant-clone/errors.rb +61 -0
  289. data/lib/vagrant-clone/util/clone_manager_base.rb +69 -0
  290. data/lib/vagrant-clone/util/clone_managers/docker.rb +31 -0
  291. data/lib/vagrant-clone/util/clone_managers/libvirt.rb +254 -0
  292. data/lib/vagrant-clone/util/vagrantfile_managers/docker.rb +154 -0
  293. data/lib/vagrant-clone/util/vagrantfile_managers/libvirt.rb +159 -0
  294. data/lib/vagrant-clone/version.rb +2 -2
  295. data/lib/vagrant-clone.rb +6 -6
  296. data/libvirt.txt +7 -0
  297. data/performance_testing.rb +165 -0
  298. data/results.txt +45 -0
  299. data/scripts/create_box.sh +134 -0
  300. data/test.rb +92 -0
  301. data/tools/create_box.sh +130 -0
  302. data/vagrant-clone.gemspec +7 -7
  303. metadata +296 -5
  304. data/lib/vagrant-clone/command/errors.rb +0 -16
  305. data/lib/vagrant-clone/command/provider/docker.rb +0 -13
  306. data/lib/vagrant-clone/utils/vagrantfile_manager.rb +0 -47
@@ -0,0 +1,257 @@
1
+ # build-essential Cookbook CHANGELOG
2
+
3
+ This file is used to list changes made in each version of the build-essential cookbook.
4
+
5
+ ## 8.0.3 (2017-05-30)
6
+
7
+ - Fix solaris metadata in metadata.rb
8
+ - Remove mac_os_x_server from metata as it's not a platform
9
+
10
+ ## 8.0.2 (2017-05-06)
11
+
12
+ - Remove buggy action_class.class_eval usage
13
+
14
+ ## 8.0.1 (2017-04-14)
15
+
16
+ - Test with local delivery and not Rake
17
+ - Ensure compatibility with Chef 12.5
18
+ - Update apache2 license string
19
+ - Ensure compatibility with Amazon Linux on Chef 13
20
+
21
+ ## 8.0.0 (2017-02-14)
22
+
23
+ - Require 12.5 or later and remove compat_resource cookbook dependency
24
+
25
+ ## 7.0.3 (2016-12-22)
26
+
27
+ - Require the latest compat_resource
28
+ - Cookstyle fixes
29
+
30
+ ## 7.0.2 (2016-11-07)
31
+
32
+ - Fix softwareupdate issue from -v to --verbose
33
+
34
+ ## 7.0.1 (2016-10-06)
35
+
36
+ - Install gcc 4.8 on SUSE < 12
37
+
38
+ ## 7.0.0 (2016-09-30)
39
+
40
+ - Remove support for OS X < 10.9 and add support for OS X 10.12
41
+ - Refactor the xcode installer resource as a custom resource that does not require updates for each new OS X update
42
+ - Use a test recipe with apt_update to avoid needing apt
43
+
44
+ ## 6.0.6 (2016-09-19)
45
+
46
+ - Remove chef 11 compatibility in the metadata
47
+ - Solaris 11 needs both make and gnu make
48
+
49
+ ## 6.0.5 (2016-09-07)
50
+
51
+ - Testing updates
52
+ - Require the latest compat_resource
53
+
54
+ ## 6.0.4 (2016-08-19)
55
+
56
+ - Install CLTools from dmg with -allowUntrusted on old OSX
57
+ - Switch to cookstyle for ruby linting
58
+ - Add OS X hosts to the kitchen config
59
+ - Remove chefdk included gems from the Gemfile
60
+ - Better handle kitchen failures in the Rakefile
61
+ - Perform all unit/linting in a single travis job
62
+
63
+ ## v6.0.3 (2016-07-26)
64
+
65
+ - Fix how gcc version specified for Solaris 11
66
+
67
+ ## v6.0.2 (2016-07-22)
68
+
69
+ - Properly warn on Solaris 10
70
+ - Specify the verson of gcc to install on Solaris 11
71
+
72
+ ## v6.0.1 (2016-07-19)
73
+
74
+ - Clarify that this cookbook actually required Chef 12.1 or later not 12.0 or later
75
+ - Add chef_version metadata
76
+
77
+ ## v6.0.0 (2016-06-03)
78
+
79
+ This cookbook now uses the new msys2 based compiler toolchain on windows. Both 32-bit DW2 and 64-bit SEH based toolchains are available based on the gcc 5.3x series compiler. By default these are located in C:\msys2\mingw32 and C:\msys2\mingw64
80
+
81
+ ## v5.0.0 (2016-06-03)
82
+
83
+ The cookbook now ships with a 12.5+ style custom resource 'build_essential' which performs the same work that the existing default.rb recipe. The default.rb recipe has been converted to consume that resource to provide backwards compatibility for users that use build-essential::default in their run lists or cookbooks. In converting to this custom resource support for EOL omnios has been removed and warning messages for Solaris 10 users have been removed. See the readme for usage information on the new resource.
84
+
85
+ ## v4.0.0 (2016-05-12)
86
+
87
+ ### Breaking change
88
+
89
+ This cookbook now requires Chef 12 or later as it includes the new mingw cookbook for installing Windows compilers. Mingw includes 12.5 style custom resources, which will fail to compile on Chef 11\. If you are not running Chef 12 you'll need to pin to 3.x in your environment.
90
+
91
+ ## v3.2.0 (2016-03-25)
92
+
93
+ This version backs out a change in the 3.0 release which attempted to install the version of kernel-devel for the current running kernel on RHEL systems. This change had several unintended consequences and we believe the best solution is to back to change out until a better solution for the original problem is developed. Several of the issues could be resolved by code updates to build-essential, but not all, which complicates rolling forward vs. a roll back. The change caused issues which Chefspec runs on cookbooks where build-essential is a dependency as Fauxhai, used by Chefspec, does not mock out node['virtualization']. Fauxhai is being updated to mock out node['virtualization'], but we'd like to make sure a ChefDK release ships with this new Fauxhai before depending on that change.
94
+
95
+ ## v3.1.0 (2016-03-23)
96
+
97
+ - Install GCC 4.8 if running on OmniOS >= 151008
98
+
99
+ ## v3.0.0 (2016-03-23)
100
+
101
+ - Install GCC 4.9 on FreeBSD < 10
102
+ - Install the version of kernel-devel that matches the running Kernel on RHEL
103
+ - Remove suggests 'pkgutil' from the metadata as suggests does nothing
104
+ - Properly warn the user that build-essential does not support Solaris 10 instead of just silently continuing on
105
+ - Updated specs to run against more recent OS releases
106
+ - Removed the warning for OmniOS users from the Readme as the upstream issue has been resolved
107
+ - Switch from 7-zip to seven_zip cookbook as 7-zip has been deprecated
108
+ - Add 7-zip to the system path on Windows hosts so the recipe will work out of the box
109
+ - Switch from the deprecated 7-zip cookbook to seven_zip
110
+
111
+ ## v2.4.0 (2016-03-21)
112
+
113
+ - Add gettext package to RHEL / FreeBSD to match other platforms
114
+ - Fix OS X version detection logic to properly detect OS X 10.10 and 10.11
115
+
116
+ ## v2.3.1 (2016-02-18)
117
+
118
+ - Restore Chef 11 compatibility and add Travis / Test Kitchen testing for Chef 11
119
+
120
+ ## v2.3.0 (2016-02-17)
121
+
122
+ - Add mingw/msys based build tools for Windows
123
+
124
+ ## v2.2.4 (2015-10-06)
125
+
126
+ - Add patch package on Fedora systems
127
+ - Add additional platforms to Kitchen CI
128
+ - Use Chef standard Rubocop file and resolve several issues
129
+ - Update contributing and testing docs
130
+ - Update Gemfile with the latest testing and development deps
131
+ - Add maintainers.md and maintainers.toml files
132
+ - Add chefignore file to limit the files uploaded to the Chef server
133
+ - Add source_url and issues_url metadata for Supermarket
134
+
135
+ ## v2.2.3 (2015-04-15)
136
+
137
+ - Don't install omnibus-build-essential on Solaris 10 - We decided it's easier to use the old GCC that ships with Solaris 10.
138
+ - Use ChefDK for all Travis testing.
139
+
140
+ ## v2.2.2 (2015-03-27)
141
+
142
+ - Update Solar 10's omnibus-build-essential to 0.0.5
143
+
144
+ ## v2.2.1 (2015-03-23)
145
+
146
+ - Install GNU Patch on Solaris 11
147
+
148
+ ## v2.2.0 (2015-03-18)
149
+
150
+ - [solaris] Differentiate between Solaris 10 and 11
151
+ - [solaris] Add ucb compat package
152
+ - [solaris] Solaris 10 build essential setup
153
+ - Fix metadata to use a string instead of a bool (see #56, #57)
154
+
155
+ ## v2.1.3 (2014-11-18)
156
+
157
+ - Update metadata for supported versions of OS X (10.7+) as noted from
158
+ - v2.0.0 previously (#38)
159
+ - Clarify requirement to have apt package cache updated in README. (#41)
160
+ - Fix Xcode CLI installation on OS X (#50)
161
+
162
+ ## v2.1.2 (2014-10-14)
163
+
164
+ - Mac OS X 10.10 Yosemite support
165
+
166
+ ## v2.1.0 (2014-10-14)
167
+
168
+ - Use fully-qualified names when installing FreeBSD package
169
+
170
+ ## v2.0.6 (2014-08-11)
171
+
172
+ - Use the resource form of `remote_file` to prevent context issues
173
+
174
+ ## v2.0.4 (2014-06-06)
175
+
176
+ - [COOK-4661] added patch package to _rhel recipe
177
+
178
+ ## v2.0.2 (2014-05-02)
179
+
180
+ - Updated documentation about older Chef versions
181
+ - Added new SVG badges to the README
182
+ - Fix a bug where `potentially_at_compile_time` fails on non-resources
183
+
184
+ ## v2.0.0 (2014-03-13)
185
+
186
+ - Updated tested harnesses to use latest ecosystem tools
187
+ - Added support for FreeBSD
188
+ - Added support for installing XCode Command Line Tools on OSX (10.7, 10.8, 10.9)
189
+ - Created a DSL method for wrapping compile_time vs runtime execution
190
+ - Install additional developement tools on some platforms
191
+ - Add nicer log and warning messages with helpful information
192
+
193
+ **Potentially Breaking Changes**
194
+
195
+ - Dropped support for OSX 10.6
196
+ - OSX no longer downloads OSX GCC and uses XCode CLI tools instead
197
+ - `build_essential` -> `build-essential` in node attributes
198
+ - `compiletime` -> `compile_time` in node attributes
199
+ - Cookbook version 2.x no longer supports Chef 10.x
200
+
201
+ ## v1.4.4 (2014-02-27)
202
+
203
+ - [COOK-4245] Wrong package name used for developer tools on OS X 10.9
204
+
205
+ ## v1.4.2
206
+
207
+ ### Bug
208
+
209
+ - **[COOK-3318](https://tickets.chef.io/browse/COOK-3318)** - Use Mixlib::ShellOut instead of Chef::ShellOut
210
+
211
+ ### New Feature
212
+
213
+ - **[COOK-3093](https://tickets.chef.io/browse/COOK-3093)** - Add OmniOS support
214
+
215
+ ### Improvement
216
+
217
+ - **[COOK-3024](https://tickets.chef.io/browse/COOK-3024)** - Use newer package on SmartOS
218
+
219
+ ## v1.4.0
220
+
221
+ This version splits up the default recipe into recipes included based on the node's platform_family.
222
+
223
+ - [COOK-2505] - backport omnibus builder improvements
224
+
225
+ ## v1.3.4
226
+
227
+ - [COOK-2272] - Complete `platform_family` conversion in build-essential
228
+
229
+ ## v1.3.2
230
+
231
+ - [COOK-2069] - build-essential will install osx-gcc-installer when XCode is present
232
+
233
+ ## v1.3.0
234
+
235
+ - [COOK-1895] - support smartos
236
+
237
+ ## v1.2.0
238
+
239
+ - Add test-kitchen support (source repo only)
240
+ - [COOK-1677] - build-essential cookbook support for OpenSuse and SLES
241
+ - [COOK-1718] - build-essential cookbook metadata should include scientific
242
+ - [COOK-1768] - The apt-get update in build-essentials needs to be renamed
243
+
244
+ ## v1.1.2
245
+
246
+ - [COOK-1620] - support OS X 10.8
247
+
248
+ ## v1.1.0
249
+
250
+ - [COOK-1098] - support amazon linux
251
+ - [COOK-1149] - support Mac OS X
252
+ - [COOK-1296] - allow for compile-time installation of packages through an attribute (see README)
253
+
254
+ ## v1.0.2
255
+
256
+ - [COOK-1098] - Add Amazon Linux platform support
257
+ - [COOK-1149] - Add OS X platform support
@@ -0,0 +1,2 @@
1
+ Please refer to
2
+ https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD
@@ -0,0 +1,15 @@
1
+ <!-- This is a generated file. Please do not edit directly -->
2
+
3
+ # Maintainers
4
+
5
+ This file lists how this cookbook project is maintained. When making changes to the system, this file tells you who needs to review your patch - you need a review from an existing maintainer for the cookbook to provide a :+1: on your pull request. Additionally, you need to not receive a veto from a Lieutenant or the Project Lead.
6
+
7
+ Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) for details on the process and how to become a maintainer or the project lead.
8
+
9
+ # Project Maintainer
10
+ * [Tim Smith](https://github.com/tas50)
11
+
12
+ # Maintainers
13
+ * [Jennifer Davis](https://github.com/sigje)
14
+ * [Tim Smith](https://github.com/tas50)
15
+ * [Thom May](https://github.com/thommay)
@@ -0,0 +1,134 @@
1
+ # build-essential Cookbook
2
+
3
+ [![Cookbook Version](http://img.shields.io/cookbook/v/build-essential.svg)][cookbook] [![Build Status](https://travis-ci.org/chef-cookbooks/build-essential.svg?branch=master)](https://travis-ci.org/chef-cookbooks/build-essential)
4
+
5
+ Installs packages required for compiling C software from source. Use this cookbook if you wish to compile C programs, or install RubyGems with native extensions. Contains a resource, 'build_essential', as as well as a default recipe that simply calls that same resource.
6
+
7
+ ## Requirements
8
+
9
+ ### Platforms
10
+
11
+ - Debian/Ubuntu
12
+ - RHEL/CentOS/Scientific/Amazon/Oracle
13
+ - openSUSE / SUSE Enterprise Linux
14
+ - SmartOS
15
+ - Fedora
16
+ - Mac OS X 10.9+
17
+ - FreeBSD
18
+
19
+ ### Chef
20
+
21
+ - Chef 12.5+
22
+
23
+ ### Cookbooks
24
+
25
+ - seven_zip
26
+ - mingw
27
+
28
+ **Note for Debian platform family:** On Debian platform-family systems, it is recommended that `apt-get update` be run, to ensure that the package cache is updated. It's not in the scope of this cookbook to do that, as it can [create a duplicate resource](https://tickets.chef.io/browse/CHEF-3694). We recommend using the [apt](https://supermarket.chef.io/cookbooks/apt) cookbook to do this.
29
+
30
+ ## Attributes
31
+
32
+ Attribute | Default | Description
33
+ ------------------------------------------ | :---------------------------: | -----------------------------------------------------
34
+ `node['build-essential']['compile_time']` | `false` | Execute resources at compile time
35
+ `node['build-essential']['msys2']['path']` | `#{ENV['SYSTEMDRIVE']\\msys2` | Destination for msys2 build tool chain (Windows only)
36
+
37
+ ## Usage
38
+
39
+ ### Recipe Usage
40
+
41
+ The recipe simply calls the build_essential resource, but it ideal for adding to roles or node run lists.
42
+
43
+ Include the build-essential recipe in your run list:
44
+
45
+ ```sh
46
+ knife node run_list add NODE "recipe[build-essential::default]"
47
+ ```
48
+
49
+ or add the build-essential recipe as a dependency and include it from inside another cookbook:
50
+
51
+ ```ruby
52
+ include_recipe 'build-essential::default'
53
+ ```
54
+
55
+ ### Gems with C extensions
56
+
57
+ For RubyGems that include native C extensions you wish to use with Chef, you should do the following.
58
+
59
+ - Set the `compile_time` attribute to true in your wrapper cookbook or role:
60
+
61
+ ```ruby
62
+ # Wrapper attribute
63
+ default['build-essential']['compile_time'] = true
64
+ ```
65
+
66
+ ```ruby
67
+ # Role
68
+ default_attributes(
69
+ 'build-essential' => {
70
+ 'compile_time' => true
71
+ }
72
+ )
73
+ ```
74
+
75
+ - Ensure that the C libraries, which include files and other assorted "dev"
76
+
77
+ type packages, are installed in the compile phase after the build-essential
78
+
79
+ recipe is executed. For example:
80
+
81
+ ```ruby
82
+ include_recipe 'build-essential::default'
83
+
84
+ package('mypackage-devel') { action :nothing }.run_action(:install)
85
+ ```
86
+
87
+ - Use the `chef_gem` resource in your recipe to install the gem with the native
88
+
89
+ extension:
90
+
91
+ ```ruby
92
+ chef_gem 'gem-with-native-extension'
93
+ ```
94
+
95
+ ### Resource Usage
96
+
97
+ The cookbook includes a resource 'build_essential' that can be included in your cookbook to install the necessary build-essential packages
98
+
99
+ Simple package installation during the client run:
100
+
101
+ ```ruby
102
+ build_essential 'some name you choose'
103
+ ```
104
+
105
+ Package installation during the compile phase:
106
+
107
+ ```ruby
108
+ build_essential 'some name you choose' do
109
+ compile_time false
110
+ end
111
+ ```
112
+
113
+ ## License & Authors
114
+
115
+ **Author:** Cookbook Engineering Team ([cookbooks@chef.io](mailto:cookbooks@chef.io))
116
+
117
+ **Copyright:** 2009-2016, Chef Software, Inc.
118
+
119
+ ```
120
+ Licensed under the Apache License, Version 2.0 (the "License");
121
+ you may not use this file except in compliance with the License.
122
+ You may obtain a copy of the License at
123
+
124
+ http://www.apache.org/licenses/LICENSE-2.0
125
+
126
+ Unless required by applicable law or agreed to in writing, software
127
+ distributed under the License is distributed on an "AS IS" BASIS,
128
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
129
+ See the License for the specific language governing permissions and
130
+ limitations under the License.
131
+ ```
132
+
133
+ [cookbook]: https://supermarket.chef.io/cookbooks/build-essential
134
+ [travis]: http://travis-ci.org/chef-cookbooks/build-essential
@@ -0,0 +1,21 @@
1
+ #
2
+ # Cookbook:: build-essential
3
+ # Attributes:: default
4
+ #
5
+ # Copyright:: 2008-2017, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ default['build-essential']['compile_time'] = false
21
+ default['build-essential']['msys2']['path'] = "#{ENV['SYSTEMDRIVE']}\\msys2"
@@ -0,0 +1,9 @@
1
+ if defined?(ChefSpec)
2
+ def install_xcode_command_line_tools(resource_name)
3
+ ChefSpec::Matchers::ResourceMatcher.new(:xcode_command_line_tools, :install, resource_name)
4
+ end
5
+
6
+ def install_build_essential(resource_name)
7
+ ChefSpec::Matchers::ResourceMatcher.new(:build_essential, :install, resource_name)
8
+ end
9
+ end
@@ -0,0 +1 @@
1
+ {"name":"build-essential","version":"8.0.3","description":"Installs C compiler / build tools","long_description":"# build-essential Cookbook\n\n[![Cookbook Version](http://img.shields.io/cookbook/v/build-essential.svg)][cookbook] [![Build Status](https://travis-ci.org/chef-cookbooks/build-essential.svg?branch=master)](https://travis-ci.org/chef-cookbooks/build-essential)\n\nInstalls packages required for compiling C software from source. Use this cookbook if you wish to compile C programs, or install RubyGems with native extensions. Contains a resource, 'build_essential', as as well as a default recipe that simply calls that same resource.\n\n## Requirements\n\n### Platforms\n\n- Debian/Ubuntu\n- RHEL/CentOS/Scientific/Amazon/Oracle\n- openSUSE / SUSE Enterprise Linux\n- SmartOS\n- Fedora\n- Mac OS X 10.9+\n- FreeBSD\n\n### Chef\n\n- Chef 12.5+\n\n### Cookbooks\n\n- seven_zip\n- mingw\n\n**Note for Debian platform family:** On Debian platform-family systems, it is recommended that `apt-get update` be run, to ensure that the package cache is updated. It's not in the scope of this cookbook to do that, as it can [create a duplicate resource](https://tickets.chef.io/browse/CHEF-3694). We recommend using the [apt](https://supermarket.chef.io/cookbooks/apt) cookbook to do this.\n\n## Attributes\n\nAttribute | Default | Description\n------------------------------------------ | :---------------------------: | -----------------------------------------------------\n`node['build-essential']['compile_time']` | `false` | Execute resources at compile time\n`node['build-essential']['msys2']['path']` | `#{ENV['SYSTEMDRIVE']\\\\msys2` | Destination for msys2 build tool chain (Windows only)\n\n## Usage\n\n### Recipe Usage\n\nThe recipe simply calls the build_essential resource, but it ideal for adding to roles or node run lists.\n\nInclude the build-essential recipe in your run list:\n\n```sh\nknife node run_list add NODE \"recipe[build-essential::default]\"\n```\n\nor add the build-essential recipe as a dependency and include it from inside another cookbook:\n\n```ruby\ninclude_recipe 'build-essential::default'\n```\n\n### Gems with C extensions\n\nFor RubyGems that include native C extensions you wish to use with Chef, you should do the following.\n\n- Set the `compile_time` attribute to true in your wrapper cookbook or role:\n\n ```ruby\n # Wrapper attribute\n default['build-essential']['compile_time'] = true\n ```\n\n ```ruby\n # Role\n default_attributes(\n 'build-essential' => {\n 'compile_time' => true\n }\n )\n ```\n\n- Ensure that the C libraries, which include files and other assorted \"dev\"\n\n type packages, are installed in the compile phase after the build-essential\n\n recipe is executed. For example:\n\n ```ruby\n include_recipe 'build-essential::default'\n\n package('mypackage-devel') { action :nothing }.run_action(:install)\n ```\n\n- Use the `chef_gem` resource in your recipe to install the gem with the native\n\n extension:\n\n ```ruby\n chef_gem 'gem-with-native-extension'\n ```\n\n### Resource Usage\n\nThe cookbook includes a resource 'build_essential' that can be included in your cookbook to install the necessary build-essential packages\n\nSimple package installation during the client run:\n\n```ruby\nbuild_essential 'some name you choose'\n```\n\nPackage installation during the compile phase:\n\n```ruby\nbuild_essential 'some name you choose' do\n compile_time false\nend\n```\n\n## License & Authors\n\n**Author:** Cookbook Engineering Team ([cookbooks@chef.io](mailto:cookbooks@chef.io))\n\n**Copyright:** 2009-2016, Chef Software, Inc.\n\n```\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\n[cookbook]: https://supermarket.chef.io/cookbooks/build-essential\n[travis]: http://travis-ci.org/chef-cookbooks/build-essential\n","maintainer":"Chef Software, Inc.","maintainer_email":"cookbooks@chef.io","license":"Apache-2.0","platforms":{"amazon":">= 0.0.0","centos":">= 0.0.0","debian":">= 0.0.0","fedora":">= 0.0.0","freebsd":">= 0.0.0","mac_os_x":">= 10.9.0","opensuse":">= 0.0.0","opensuseleap":">= 0.0.0","oracle":">= 0.0.0","redhat":">= 0.0.0","scientific":">= 0.0.0","smartos":">= 0.0.0","solaris2":">= 0.0.0","suse":">= 0.0.0","ubuntu":">= 0.0.0","windows":">= 0.0.0","zlinux":">= 0.0.0"},"dependencies":{"seven_zip":">= 0.0.0","mingw":">= 1.1"},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{"build-essential":"Installs packages required for compiling C software from source."},"source_url":"https://github.com/chef-cookbooks/build-essential","issues_url":"https://github.com/chef-cookbooks/build-essential/issues","chef_version":[[">= 12.5"]],"ohai_version":[]}
@@ -0,0 +1,53 @@
1
+ #
2
+ # Cookbook:: build-essential
3
+ # Recipe:: _windows
4
+ #
5
+ # Copyright:: 2016-2017, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ node.default['seven_zip']['syspath'] = true
21
+ include_recipe 'seven_zip::default'
22
+
23
+ tool_path = node['build-essential']['msys2']['path']
24
+
25
+ directory tool_path do
26
+ action :create
27
+ recursive true
28
+ end
29
+
30
+ [
31
+ 'base-devel', # Brings down msys based bash/make/awk/patch/stuff..
32
+ 'mingw-w64-x86_64-toolchain', # Puts 64-bit SEH mingw toolchain in msys2\mingw64
33
+ 'mingw-w64-i686-toolchain' # Puts 32-bit DW2 mingw toolchain in msys2\ming32
34
+ ].each do |package|
35
+ msys2_package package do
36
+ root tool_path
37
+ end
38
+ end
39
+
40
+ # Certain build steps assume that a tar command is available on the
41
+ # system path. The default tar present in msys2\usr\bin is an msys GNU tar
42
+ # that expects forward slashes and consider ':' to be a remote tape separator
43
+ # or something weird like that. We therefore drop bat file in msys2\bin that
44
+ # redirect to the underlying executables without mucking around with
45
+ # msys2's /usr/bin itself.
46
+ {
47
+ 'bsdtar.exe' => 'tar.bat',
48
+ 'patch.exe' => 'patch.bat',
49
+ }.each do |reference, link|
50
+ file "#{tool_path}\\bin\\#{link}" do
51
+ content "@%~dp0..\\usr\\bin\\#{reference} %*"
52
+ end
53
+ end
@@ -0,0 +1,24 @@
1
+ #
2
+ # Cookbook:: build-essential
3
+ # Recipe:: default
4
+ #
5
+ # Copyright:: 2008-2017, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ # Call the build-essential custom resource
21
+ # This can also be called directly in your cookbooks anywhere you want
22
+ build_essential 'install_packages' do
23
+ compile_time node['build-essential']['compile_time']
24
+ end
@@ -0,0 +1,106 @@
1
+ #
2
+ # Cookbook:: build-essential
3
+ # resource:: build_essential
4
+ #
5
+ # Copyright:: 2008-2017, Chef Software, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ provides :build_essential
21
+ resource_name :build_essential
22
+
23
+ property :compile_time, [true, false], default: false
24
+
25
+ action :install do
26
+ case node['platform_family']
27
+ when 'debian'
28
+ package %w( autoconf binutils-doc bison build-essential flex gettext ncurses-dev )
29
+ when 'amazon', 'fedora', 'rhel'
30
+ package %w( autoconf bison flex gcc gcc-c++ gettext kernel-devel make m4 ncurses-devel patch )
31
+
32
+ # Ensure GCC 4 is available on older pre-6 EL
33
+ package %w( gcc44 gcc44-c++ ) if node['platform_version'].to_i < 6
34
+ when 'freebsd'
35
+ package 'devel/gmake'
36
+ package 'devel/autoconf'
37
+ package 'devel/m4'
38
+ package 'devel/gettext'
39
+ # Only install gcc on freebsd 9.x - 10 uses clang
40
+ package 'lang/gcc49' if node['platform_version'].to_i <= 9
41
+ when 'mac_os_x'
42
+ xcode_command_line_tools 'install'
43
+ when 'omnios'
44
+ package 'developer/gcc48'
45
+ package 'developer/object-file'
46
+ package 'developer/linker'
47
+ package 'developer/library/lint'
48
+ package 'developer/build/gnu-make'
49
+ package 'system/header'
50
+ package 'system/library/math/header-math'
51
+
52
+ # Per OmniOS documentation, the gcc bin dir isn't in the default
53
+ # $PATH, so add it to the running process environment
54
+ # http://omnios.omniti.com/wiki.php/DevEnv
55
+ ENV['PATH'] = "#{ENV['PATH']}:/opt/gcc-4.7.2/bin"
56
+ when 'solaris2'
57
+ if node['platform_version'].to_f == 5.10
58
+ Chef::Log.warn('build-essential does not support Solaris 10. You will need to install SUNWbison, SUNWgcc, SUNWggrp, SUNWgmake, and SUNWgtar from the Solaris DVD')
59
+ elsif node['platform_version'].to_f == 5.11
60
+ package 'autoconf'
61
+ package 'automake'
62
+ package 'bison'
63
+ package 'gnu-coreutils'
64
+ package 'flex'
65
+ package 'gcc' do
66
+ # lock because we don't use 5 yet
67
+ version '4.8.2'
68
+ end
69
+ package 'gcc-3'
70
+ package 'gnu-grep'
71
+ package 'gnu-make'
72
+ package 'gnu-patch'
73
+ package 'gnu-tar'
74
+ package 'make'
75
+ package 'pkg-config'
76
+ package 'ucb'
77
+ end
78
+ when 'smartos'
79
+ package 'autoconf'
80
+ package 'binutils'
81
+ package 'build-essential'
82
+ package 'gcc47'
83
+ package 'gmake'
84
+ package 'pkg-config'
85
+ when 'suse'
86
+ package %w( autoconf bison flex gcc gcc-c++ kernel-default-devel make m4 )
87
+ package %w( gcc48 gcc48-c++ ) if node['platform_version'].to_i < 12
88
+ when 'windows'
89
+ include_recipe 'build-essential::_windows'
90
+ else
91
+ Chef::Log.warn <<-EOH
92
+ A build-essential recipe does not exist for '#{node['platform_family']}'. This
93
+ means the build-essential cookbook does not have support for the
94
+ #{node['platform_family']} family. If you are not compiling gems with native
95
+ extensions or building packages from source, this will likely not affect you.
96
+ EOH
97
+ end
98
+ end
99
+
100
+ # this resource forces itself to run at compile_time
101
+ def after_created
102
+ return unless compile_time
103
+ Array(action).each do |action|
104
+ run_action(action)
105
+ end
106
+ end