rubygems-update 2.7.11 → 3.0.9

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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +67 -0
  3. data/.travis.yml +24 -18
  4. data/CODE_OF_CONDUCT.md +10 -8
  5. data/CONTRIBUTING.md +148 -0
  6. data/History.txt +458 -8
  7. data/MAINTAINERS.txt +1 -0
  8. data/Manifest.txt +16 -9
  9. data/POLICIES.md +92 -0
  10. data/README.md +53 -26
  11. data/Rakefile +77 -211
  12. data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
  13. data/appveyor.yml +20 -45
  14. data/bin/gem +1 -2
  15. data/bin/update_rubygems +2 -3
  16. data/bundler/CHANGELOG.md +65 -0
  17. data/bundler/bundler.gemspec +7 -1
  18. data/bundler/lib/bundler/build_metadata.rb +1 -1
  19. data/bundler/lib/bundler/cli/add.rb +15 -5
  20. data/bundler/lib/bundler/cli/binstubs.rb +8 -2
  21. data/bundler/lib/bundler/cli/doctor.rb +47 -1
  22. data/bundler/lib/bundler/cli/install.rb +8 -5
  23. data/bundler/lib/bundler/cli/list.rb +41 -5
  24. data/bundler/lib/bundler/cli/outdated.rb +7 -1
  25. data/bundler/lib/bundler/cli/pristine.rb +4 -0
  26. data/bundler/lib/bundler/cli/remove.rb +18 -0
  27. data/bundler/lib/bundler/cli.rb +63 -21
  28. data/bundler/lib/bundler/definition.rb +15 -16
  29. data/bundler/lib/bundler/dependency.rb +2 -2
  30. data/bundler/lib/bundler/dsl.rb +19 -3
  31. data/bundler/lib/bundler/feature_flag.rb +7 -0
  32. data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
  33. data/bundler/lib/bundler/injector.rb +168 -9
  34. data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
  35. data/bundler/lib/bundler/installer.rb +29 -6
  36. data/bundler/lib/bundler/plugin/events.rb +61 -0
  37. data/bundler/lib/bundler/plugin.rb +10 -3
  38. data/bundler/lib/bundler/resolver.rb +2 -2
  39. data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
  40. data/bundler/lib/bundler/runtime.rb +8 -2
  41. data/bundler/lib/bundler/settings/validator.rb +23 -0
  42. data/bundler/lib/bundler/settings.rb +24 -3
  43. data/bundler/lib/bundler/shared_helpers.rb +19 -3
  44. data/bundler/lib/bundler/source/metadata.rb +2 -3
  45. data/bundler/lib/bundler/source.rb +9 -9
  46. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  47. data/bundler/lib/bundler/version.rb +1 -1
  48. data/bundler/lib/bundler.rb +26 -8
  49. data/bundler/man/bundle-add.ronn +13 -2
  50. data/bundler/man/bundle-config.ronn +21 -0
  51. data/bundler/man/bundle-install.ronn +1 -1
  52. data/bundler/man/bundle-list.ronn +19 -1
  53. data/bundler/man/bundle-outdated.ronn +4 -0
  54. data/bundler/man/bundle-remove.ronn +23 -0
  55. data/bundler/man/bundle-update.ronn +1 -1
  56. data/bundler/man/bundle.ronn +3 -0
  57. data/lib/rubygems/available_set.rb +1 -1
  58. data/lib/rubygems/basic_specification.rb +12 -12
  59. data/lib/rubygems/bundler_version_finder.rb +3 -3
  60. data/lib/rubygems/command.rb +22 -15
  61. data/lib/rubygems/command_manager.rb +22 -5
  62. data/lib/rubygems/commands/build_command.rb +41 -7
  63. data/lib/rubygems/commands/cert_command.rb +45 -24
  64. data/lib/rubygems/commands/check_command.rb +1 -1
  65. data/lib/rubygems/commands/cleanup_command.rb +14 -7
  66. data/lib/rubygems/commands/contents_command.rb +14 -15
  67. data/lib/rubygems/commands/dependency_command.rb +17 -17
  68. data/lib/rubygems/commands/environment_command.rb +20 -1
  69. data/lib/rubygems/commands/fetch_command.rb +2 -3
  70. data/lib/rubygems/commands/generate_index_command.rb +2 -3
  71. data/lib/rubygems/commands/help_command.rb +12 -13
  72. data/lib/rubygems/commands/info_command.rb +33 -0
  73. data/lib/rubygems/commands/install_command.rb +21 -17
  74. data/lib/rubygems/commands/list_command.rb +0 -1
  75. data/lib/rubygems/commands/lock_command.rb +3 -4
  76. data/lib/rubygems/commands/open_command.rb +16 -10
  77. data/lib/rubygems/commands/owner_command.rb +21 -7
  78. data/lib/rubygems/commands/pristine_command.rb +23 -16
  79. data/lib/rubygems/commands/push_command.rb +19 -8
  80. data/lib/rubygems/commands/query_command.rb +24 -24
  81. data/lib/rubygems/commands/rdoc_command.rb +3 -4
  82. data/lib/rubygems/commands/search_command.rb +0 -1
  83. data/lib/rubygems/commands/server_command.rb +1 -2
  84. data/lib/rubygems/commands/setup_command.rb +86 -48
  85. data/lib/rubygems/commands/signin_command.rb +2 -1
  86. data/lib/rubygems/commands/signout_command.rb +2 -2
  87. data/lib/rubygems/commands/sources_command.rb +11 -12
  88. data/lib/rubygems/commands/specification_command.rb +7 -7
  89. data/lib/rubygems/commands/uninstall_command.rb +50 -18
  90. data/lib/rubygems/commands/unpack_command.rb +16 -7
  91. data/lib/rubygems/commands/update_command.rb +28 -23
  92. data/lib/rubygems/commands/which_command.rb +5 -8
  93. data/lib/rubygems/commands/yank_command.rb +1 -2
  94. data/lib/rubygems/compatibility.rb +1 -21
  95. data/lib/rubygems/config_file.rb +36 -36
  96. data/lib/rubygems/core_ext/kernel_require.rb +6 -6
  97. data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
  98. data/lib/rubygems/defaults.rb +31 -19
  99. data/lib/rubygems/dependency.rb +15 -15
  100. data/lib/rubygems/dependency_installer.rb +30 -33
  101. data/lib/rubygems/dependency_list.rb +9 -10
  102. data/lib/rubygems/deprecate.rb +2 -3
  103. data/lib/rubygems/doctor.rb +5 -6
  104. data/lib/rubygems/errors.rb +3 -3
  105. data/lib/rubygems/exceptions.rb +11 -8
  106. data/lib/rubygems/ext/build_error.rb +0 -1
  107. data/lib/rubygems/ext/builder.rb +50 -23
  108. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  109. data/lib/rubygems/ext/configure_builder.rb +2 -3
  110. data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
  111. data/lib/rubygems/ext/rake_builder.rb +16 -18
  112. data/lib/rubygems/ext.rb +0 -1
  113. data/lib/rubygems/gem_runner.rb +2 -2
  114. data/lib/rubygems/gemcutter_utilities.rb +46 -12
  115. data/lib/rubygems/indexer.rb +19 -12
  116. data/lib/rubygems/install_default_message.rb +0 -1
  117. data/lib/rubygems/install_message.rb +0 -1
  118. data/lib/rubygems/install_update_options.rb +3 -29
  119. data/lib/rubygems/installer.rb +97 -55
  120. data/lib/rubygems/installer_test_case.rb +2 -16
  121. data/lib/rubygems/local_remote_options.rb +5 -4
  122. data/lib/rubygems/mock_gem_ui.rb +3 -4
  123. data/lib/rubygems/name_tuple.rb +4 -4
  124. data/lib/rubygems/package/digest_io.rb +3 -4
  125. data/lib/rubygems/package/file_source.rb +3 -4
  126. data/lib/rubygems/package/io_source.rb +1 -2
  127. data/lib/rubygems/package/old.rb +8 -16
  128. data/lib/rubygems/package/source.rb +0 -1
  129. data/lib/rubygems/package/tar_header.rb +13 -4
  130. data/lib/rubygems/package/tar_reader/entry.rb +20 -4
  131. data/lib/rubygems/package/tar_reader.rb +2 -4
  132. data/lib/rubygems/package/tar_test_case.rb +2 -8
  133. data/lib/rubygems/package/tar_writer.rb +13 -15
  134. data/lib/rubygems/package.rb +90 -63
  135. data/lib/rubygems/package_task.rb +0 -1
  136. data/lib/rubygems/path_support.rb +16 -6
  137. data/lib/rubygems/platform.rb +4 -5
  138. data/lib/rubygems/psych_tree.rb +1 -1
  139. data/lib/rubygems/rdoc.rb +2 -313
  140. data/lib/rubygems/remote_fetcher.rb +29 -82
  141. data/lib/rubygems/request/connection_pools.rb +24 -13
  142. data/lib/rubygems/request/http_pool.rb +3 -4
  143. data/lib/rubygems/request/https_pool.rb +1 -3
  144. data/lib/rubygems/request.rb +17 -16
  145. data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
  146. data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
  147. data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
  148. data/lib/rubygems/request_set/lockfile.rb +12 -12
  149. data/lib/rubygems/request_set.rb +52 -25
  150. data/lib/rubygems/requirement.rb +32 -21
  151. data/lib/rubygems/resolver/activation_request.rb +6 -6
  152. data/lib/rubygems/resolver/api_set.rb +5 -6
  153. data/lib/rubygems/resolver/api_specification.rb +2 -3
  154. data/lib/rubygems/resolver/best_set.rb +5 -6
  155. data/lib/rubygems/resolver/composed_set.rb +5 -6
  156. data/lib/rubygems/resolver/conflict.rb +5 -5
  157. data/lib/rubygems/resolver/current_set.rb +1 -2
  158. data/lib/rubygems/resolver/dependency_request.rb +4 -4
  159. data/lib/rubygems/resolver/git_set.rb +5 -6
  160. data/lib/rubygems/resolver/git_specification.rb +4 -5
  161. data/lib/rubygems/resolver/index_set.rb +5 -6
  162. data/lib/rubygems/resolver/index_specification.rb +3 -4
  163. data/lib/rubygems/resolver/installed_specification.rb +3 -4
  164. data/lib/rubygems/resolver/installer_set.rb +12 -12
  165. data/lib/rubygems/resolver/local_specification.rb +1 -2
  166. data/lib/rubygems/resolver/lock_set.rb +5 -6
  167. data/lib/rubygems/resolver/lock_specification.rb +7 -8
  168. data/lib/rubygems/resolver/requirement_list.rb +1 -1
  169. data/lib/rubygems/resolver/set.rb +2 -2
  170. data/lib/rubygems/resolver/source_set.rb +4 -5
  171. data/lib/rubygems/resolver/spec_specification.rb +1 -2
  172. data/lib/rubygems/resolver/specification.rb +10 -7
  173. data/lib/rubygems/resolver/stats.rb +1 -1
  174. data/lib/rubygems/resolver/vendor_set.rb +4 -5
  175. data/lib/rubygems/resolver/vendor_specification.rb +2 -3
  176. data/lib/rubygems/resolver.rb +14 -16
  177. data/lib/rubygems/s3_uri_signer.rb +183 -0
  178. data/lib/rubygems/safe_yaml.rb +18 -10
  179. data/lib/rubygems/security/policies.rb +1 -2
  180. data/lib/rubygems/security/policy.rb +25 -25
  181. data/lib/rubygems/security/signer.rb +72 -24
  182. data/lib/rubygems/security/trust_dir.rb +10 -10
  183. data/lib/rubygems/security.rb +21 -22
  184. data/lib/rubygems/security_option.rb +0 -1
  185. data/lib/rubygems/server.rb +21 -21
  186. data/lib/rubygems/source/git.rb +9 -10
  187. data/lib/rubygems/source/installed.rb +3 -4
  188. data/lib/rubygems/source/local.rb +7 -7
  189. data/lib/rubygems/source/lock.rb +4 -4
  190. data/lib/rubygems/source/specific_file.rb +5 -5
  191. data/lib/rubygems/source/vendor.rb +2 -3
  192. data/lib/rubygems/source.rb +16 -25
  193. data/lib/rubygems/source_list.rb +2 -2
  194. data/lib/rubygems/source_local.rb +0 -1
  195. data/lib/rubygems/spec_fetcher.rb +5 -6
  196. data/lib/rubygems/specification.rb +219 -558
  197. data/lib/rubygems/specification_policy.rb +407 -0
  198. data/lib/rubygems/stub_specification.rb +12 -17
  199. data/lib/rubygems/test_case.rb +161 -75
  200. data/lib/rubygems/test_utilities.rb +20 -35
  201. data/lib/rubygems/text.rb +6 -6
  202. data/lib/rubygems/uninstaller.rb +38 -27
  203. data/lib/rubygems/uri_formatter.rb +1 -2
  204. data/lib/rubygems/user_interaction.rb +37 -89
  205. data/lib/rubygems/util/licenses.rb +27 -1
  206. data/lib/rubygems/util/list.rb +1 -1
  207. data/lib/rubygems/util.rb +32 -14
  208. data/lib/rubygems/validator.rb +4 -5
  209. data/lib/rubygems/version.rb +15 -15
  210. data/lib/rubygems/version_option.rb +2 -3
  211. data/lib/rubygems.rb +71 -102
  212. data/rubygems-update.gemspec +43 -0
  213. data/setup.rb +2 -8
  214. data/test/rubygems/ca_cert.pem +74 -65
  215. data/test/rubygems/client.pem +103 -45
  216. data/test/rubygems/rubygems_plugin.rb +0 -1
  217. data/test/rubygems/simple_gem.rb +1 -1
  218. data/test/rubygems/ssl_cert.pem +78 -17
  219. data/test/rubygems/ssl_key.pem +25 -13
  220. data/test/rubygems/test_bundled_ca.rb +1 -1
  221. data/test/rubygems/test_config.rb +7 -2
  222. data/test/rubygems/test_gem.rb +205 -132
  223. data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
  224. data/test/rubygems/test_gem_command.rb +0 -1
  225. data/test/rubygems/test_gem_command_manager.rb +18 -3
  226. data/test/rubygems/test_gem_commands_build_command.rb +220 -15
  227. data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
  228. data/test/rubygems/test_gem_commands_check_command.rb +1 -1
  229. data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
  230. data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
  231. data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
  232. data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
  233. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
  234. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
  235. data/test/rubygems/test_gem_commands_help_command.rb +7 -4
  236. data/test/rubygems/test_gem_commands_info_command.rb +44 -0
  237. data/test/rubygems/test_gem_commands_install_command.rb +79 -12
  238. data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
  239. data/test/rubygems/test_gem_commands_open_command.rb +29 -0
  240. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
  241. data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
  242. data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
  243. data/test/rubygems/test_gem_commands_push_command.rb +54 -0
  244. data/test/rubygems/test_gem_commands_query_command.rb +102 -100
  245. data/test/rubygems/test_gem_commands_search_command.rb +0 -1
  246. data/test/rubygems/test_gem_commands_server_command.rb +0 -1
  247. data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
  248. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  249. data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
  250. data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
  251. data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
  252. data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
  253. data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
  254. data/test/rubygems/test_gem_commands_update_command.rb +19 -2
  255. data/test/rubygems/test_gem_commands_which_command.rb +0 -1
  256. data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
  257. data/test/rubygems/test_gem_config_file.rb +4 -2
  258. data/test/rubygems/test_gem_dependency.rb +0 -1
  259. data/test/rubygems/test_gem_dependency_installer.rb +8 -5
  260. data/test/rubygems/test_gem_dependency_list.rb +6 -7
  261. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
  262. data/test/rubygems/test_gem_doctor.rb +1 -2
  263. data/test/rubygems/test_gem_ext_builder.rb +10 -23
  264. data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
  265. data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
  266. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
  267. data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
  268. data/test/rubygems/test_gem_gem_runner.rb +0 -1
  269. data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
  270. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
  271. data/test/rubygems/test_gem_indexer.rb +16 -10
  272. data/test/rubygems/test_gem_install_update_options.rb +1 -20
  273. data/test/rubygems/test_gem_installer.rb +154 -119
  274. data/test/rubygems/test_gem_local_remote_options.rb +3 -3
  275. data/test/rubygems/test_gem_name_tuple.rb +0 -1
  276. data/test/rubygems/test_gem_package.rb +77 -31
  277. data/test/rubygems/test_gem_package_old.rb +0 -1
  278. data/test/rubygems/test_gem_package_tar_header.rb +42 -2
  279. data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
  280. data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
  281. data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
  282. data/test/rubygems/test_gem_package_task.rb +2 -2
  283. data/test/rubygems/test_gem_path_support.rb +28 -11
  284. data/test/rubygems/test_gem_platform.rb +4 -5
  285. data/test/rubygems/test_gem_rdoc.rb +1 -136
  286. data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
  287. data/test/rubygems/test_gem_request.rb +9 -9
  288. data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
  289. data/test/rubygems/test_gem_request_set.rb +5 -5
  290. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
  291. data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
  292. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
  293. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  294. data/test/rubygems/test_gem_requirement.rb +24 -4
  295. data/test/rubygems/test_gem_resolver.rb +13 -17
  296. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
  297. data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
  298. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
  299. data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
  300. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
  301. data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
  302. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
  303. data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
  304. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
  305. data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
  306. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
  307. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
  308. data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
  309. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
  310. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
  311. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
  312. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
  313. data/test/rubygems/test_gem_resolver_specification.rb +1 -2
  314. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
  315. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
  316. data/test/rubygems/test_gem_security.rb +1 -3
  317. data/test/rubygems/test_gem_security_policy.rb +5 -6
  318. data/test/rubygems/test_gem_security_signer.rb +4 -3
  319. data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
  320. data/test/rubygems/test_gem_server.rb +4 -4
  321. data/test/rubygems/test_gem_source.rb +0 -13
  322. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
  323. data/test/rubygems/test_gem_source_git.rb +0 -1
  324. data/test/rubygems/test_gem_source_installed.rb +0 -1
  325. data/test/rubygems/test_gem_source_lock.rb +0 -1
  326. data/test/rubygems/test_gem_source_vendor.rb +0 -1
  327. data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
  328. data/test/rubygems/test_gem_specification.rb +366 -198
  329. data/test/rubygems/test_gem_stream_ui.rb +15 -32
  330. data/test/rubygems/test_gem_stub_specification.rb +0 -2
  331. data/test/rubygems/test_gem_text.rb +4 -0
  332. data/test/rubygems/test_gem_uninstaller.rb +42 -3
  333. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
  334. data/test/rubygems/test_gem_uri_formatter.rb +0 -1
  335. data/test/rubygems/test_gem_util.rb +31 -11
  336. data/test/rubygems/test_gem_validator.rb +0 -1
  337. data/test/rubygems/test_gem_version.rb +11 -11
  338. data/test/rubygems/test_gem_version_option.rb +0 -1
  339. data/test/rubygems/test_remote_fetch_error.rb +0 -1
  340. data/test/rubygems/test_require.rb +67 -52
  341. data/util/CL2notes +1 -2
  342. data/util/ci +20 -12
  343. data/util/cops/deprecations.rb +52 -0
  344. data/util/create_certs.rb +6 -7
  345. data/util/create_certs.sh +27 -0
  346. data/util/create_encrypted_key.rb +4 -5
  347. data/util/patch_with_prs.rb +1 -1
  348. data/util/rubocop +8 -0
  349. data/util/update_bundled_ca_certificates.rb +12 -13
  350. data/util/update_changelog.rb +1 -1
  351. metadata +61 -51
  352. data/.autotest +0 -71
  353. data/.document +0 -5
  354. data/CONTRIBUTING.rdoc +0 -130
  355. data/CVE-2013-4287.txt +0 -35
  356. data/CVE-2013-4363.txt +0 -45
  357. data/CVE-2015-3900.txt +0 -40
  358. data/POLICIES.rdoc +0 -74
  359. data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -19,6 +19,8 @@ class Gem::Licenses
19
19
  AFL-3.0
20
20
  AGPL-1.0
21
21
  AGPL-3.0
22
+ AGPL-3.0-only
23
+ AGPL-3.0-or-later
22
24
  AMDPLPA
23
25
  AML
24
26
  AMPAS
@@ -41,9 +43,11 @@ class Gem::Licenses
41
43
  Artistic-1.0-Perl
42
44
  Artistic-1.0-cl8
43
45
  Artistic-2.0
46
+ BSD-1-Clause
44
47
  BSD-2-Clause
45
48
  BSD-2-Clause-FreeBSD
46
49
  BSD-2-Clause-NetBSD
50
+ BSD-2-Clause-Patent
47
51
  BSD-3-Clause
48
52
  BSD-3-Clause-Attribution
49
53
  BSD-3-Clause-Clear
@@ -96,6 +100,8 @@ class Gem::Licenses
96
100
  CC0-1.0
97
101
  CDDL-1.0
98
102
  CDDL-1.1
103
+ CDLA-Permissive-1.0
104
+ CDLA-Sharing-1.0
99
105
  CECILL-1.0
100
106
  CECILL-1.1
101
107
  CECILL-2.0
@@ -124,9 +130,11 @@ class Gem::Licenses
124
130
  EFL-1.0
125
131
  EFL-2.0
126
132
  EPL-1.0
133
+ EPL-2.0
127
134
  EUDatagrid
128
135
  EUPL-1.0
129
136
  EUPL-1.1
137
+ EUPL-1.2
130
138
  Entessa
131
139
  ErlPL-1.1
132
140
  Eurosym
@@ -138,13 +146,23 @@ class Gem::Licenses
138
146
  Frameworx-1.0
139
147
  FreeImage
140
148
  GFDL-1.1
149
+ GFDL-1.1-only
150
+ GFDL-1.1-or-later
141
151
  GFDL-1.2
152
+ GFDL-1.2-only
153
+ GFDL-1.2-or-later
142
154
  GFDL-1.3
155
+ GFDL-1.3-only
156
+ GFDL-1.3-or-later
143
157
  GL2PS
144
158
  GPL-1.0
145
159
  GPL-1.0+
160
+ GPL-1.0-only
161
+ GPL-1.0-or-later
146
162
  GPL-2.0
147
163
  GPL-2.0+
164
+ GPL-2.0-only
165
+ GPL-2.0-or-later
148
166
  GPL-2.0-with-GCC-exception
149
167
  GPL-2.0-with-autoconf-exception
150
168
  GPL-2.0-with-bison-exception
@@ -152,6 +170,8 @@ class Gem::Licenses
152
170
  GPL-2.0-with-font-exception
153
171
  GPL-3.0
154
172
  GPL-3.0+
173
+ GPL-3.0-only
174
+ GPL-3.0-or-later
155
175
  GPL-3.0-with-GCC-exception
156
176
  GPL-3.0-with-autoconf-exception
157
177
  Giftware
@@ -177,10 +197,16 @@ class Gem::Licenses
177
197
  LAL-1.3
178
198
  LGPL-2.0
179
199
  LGPL-2.0+
200
+ LGPL-2.0-only
201
+ LGPL-2.0-or-later
180
202
  LGPL-2.1
181
203
  LGPL-2.1+
204
+ LGPL-2.1-only
205
+ LGPL-2.1-or-later
182
206
  LGPL-3.0
183
207
  LGPL-3.0+
208
+ LGPL-3.0-only
209
+ LGPL-3.0-or-later
184
210
  LGPLLR
185
211
  LPL-1.0
186
212
  LPL-1.02
@@ -317,7 +343,6 @@ class Gem::Licenses
317
343
  W3C-19980720
318
344
  W3C-20150513
319
345
  WTFPL
320
- WXwindows
321
346
  Watcom-1.0
322
347
  Wsuipa
323
348
  X11
@@ -349,6 +374,7 @@ class Gem::Licenses
349
374
  mpich2
350
375
  psfrag
351
376
  psutils
377
+ wxWindows
352
378
  xinetd
353
379
  xpp
354
380
  zlib-acknowledgement
@@ -25,7 +25,7 @@ module Gem
25
25
  List.new value, self
26
26
  end
27
27
 
28
- def pretty_print q # :nodoc:
28
+ def pretty_print(q) # :nodoc:
29
29
  q.pp to_a
30
30
  end
31
31
 
data/lib/rubygems/util.rb CHANGED
@@ -15,7 +15,7 @@ module Gem::Util
15
15
  data = StringIO.new(data, 'r')
16
16
 
17
17
  unzipped = Zlib::GzipReader.new(data).read
18
- unzipped.force_encoding Encoding::BINARY if Object.const_defined? :Encoding
18
+ unzipped.force_encoding Encoding::BINARY
19
19
  unzipped
20
20
  end
21
21
 
@@ -26,7 +26,7 @@ module Gem::Util
26
26
  require 'zlib'
27
27
  require 'stringio'
28
28
  zipped = StringIO.new(String.new, 'w')
29
- zipped.set_encoding Encoding::BINARY if Object.const_defined? :Encoding
29
+ zipped.set_encoding Encoding::BINARY
30
30
 
31
31
  Zlib::GzipWriter.wrap zipped do |io| io.write data end
32
32
 
@@ -46,7 +46,7 @@ module Gem::Util
46
46
  # and implements an IO.popen-like behavior where it does not accept an array
47
47
  # for a command.
48
48
 
49
- def self.popen *command
49
+ def self.popen(*command)
50
50
  IO.popen command, &:read
51
51
  rescue TypeError # ruby 1.8 only supports string command
52
52
  r, w = IO.pipe
@@ -67,13 +67,11 @@ module Gem::Util
67
67
  end
68
68
  end
69
69
 
70
- NULL_DEVICE = defined?(IO::NULL) ? IO::NULL : Gem.win_platform? ? 'NUL' : '/dev/null'
71
-
72
70
  ##
73
71
  # Invokes system, but silences all output.
74
72
 
75
- def self.silent_system *command
76
- opt = {:out => NULL_DEVICE, :err => [:child, :out]}
73
+ def self.silent_system(*command)
74
+ opt = {:out => IO::NULL, :err => [:child, :out]}
77
75
  if Hash === command.last
78
76
  opt.update(command.last)
79
77
  cmds = command[0...-1]
@@ -82,19 +80,15 @@ module Gem::Util
82
80
  end
83
81
  return system(*(cmds << opt))
84
82
  rescue TypeError
85
- require 'thread'
86
-
87
83
  @silent_mutex ||= Mutex.new
88
84
 
89
- null_device = NULL_DEVICE
90
-
91
85
  @silent_mutex.synchronize do
92
86
  begin
93
87
  stdout = STDOUT.dup
94
88
  stderr = STDERR.dup
95
89
 
96
- STDOUT.reopen null_device, 'w'
97
- STDERR.reopen null_device, 'w'
90
+ STDOUT.reopen IO::NULL, 'w'
91
+ STDERR.reopen IO::NULL, 'w'
98
92
 
99
93
  return system(*command)
100
94
  ensure
@@ -109,7 +103,7 @@ module Gem::Util
109
103
  ##
110
104
  # Enumerates the parents of +directory+.
111
105
 
112
- def self.traverse_parents directory, &block
106
+ def self.traverse_parents(directory, &block)
113
107
  return enum_for __method__, directory unless block_given?
114
108
 
115
109
  here = File.expand_path directory
@@ -122,4 +116,28 @@ module Gem::Util
122
116
  end
123
117
  end
124
118
 
119
+ ##
120
+ # Globs for files matching +pattern+ inside of +directory+,
121
+ # returning absolute paths to the matching files.
122
+
123
+ def self.glob_files_in_dir(glob, base_path)
124
+ if RUBY_VERSION >= "2.5"
125
+ Dir.glob(glob, base: base_path).map! {|f| File.expand_path(f, base_path) }
126
+ else
127
+ Dir.glob(File.expand_path(glob, base_path))
128
+ end
129
+ end
130
+
131
+ ##
132
+ # Corrects +path+ (usually returned by `URI.parse().path` on Windows), that
133
+ # comes with a leading slash.
134
+
135
+ def self.correct_for_windows_path(path)
136
+ if path[0].chr == '/' && path[1].chr =~ /[a-z]/i && path[2].chr == ':'
137
+ path[1..-1]
138
+ else
139
+ path
140
+ end
141
+ end
142
+
125
143
  end
@@ -62,7 +62,7 @@ class Gem::Validator
62
62
  # Describes a problem with a file in a gem.
63
63
 
64
64
  ErrorData = Struct.new :path, :problem do
65
- def <=> other # :nodoc:
65
+ def <=>(other) # :nodoc:
66
66
  return nil unless self.class === other
67
67
 
68
68
  [path, problem] <=> [other.path, other.problem]
@@ -94,13 +94,13 @@ class Gem::Validator
94
94
  spec_path = spec.spec_file
95
95
  gem_directory = spec.full_gem_path
96
96
 
97
- unless File.directory? gem_directory then
97
+ unless File.directory? gem_directory
98
98
  errors[gem_name][spec.full_name] =
99
99
  "Gem registered but doesn't exist at #{gem_directory}"
100
100
  next
101
101
  end
102
102
 
103
- unless File.exist? spec_path then
103
+ unless File.exist? spec_path
104
104
  errors[gem_name][spec_path] = "Spec file missing for installed gem"
105
105
  end
106
106
 
@@ -135,7 +135,7 @@ class Gem::Validator
135
135
  source = File.join gem_directory, entry['path']
136
136
 
137
137
  File.open source, Gem.binary_mode do |f|
138
- unless f.read == data then
138
+ unless f.read == data
139
139
  errors[gem_name][entry['path']] = "Modified from original"
140
140
  end
141
141
  end
@@ -163,4 +163,3 @@ class Gem::Validator
163
163
  errors
164
164
  end
165
165
  end
166
-
@@ -154,8 +154,8 @@ class Gem::Version
154
154
 
155
155
  include Comparable
156
156
 
157
- VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?' # :nodoc:
158
- ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/ # :nodoc:
157
+ VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?'.freeze # :nodoc:
158
+ ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/.freeze # :nodoc:
159
159
 
160
160
  ##
161
161
  # A string representation of this Version.
@@ -169,7 +169,7 @@ class Gem::Version
169
169
  ##
170
170
  # True if the +version+ string matches RubyGems' requirements.
171
171
 
172
- def self.correct? version
172
+ def self.correct?(version)
173
173
  unless Gem::Deprecate.skip
174
174
  warn "nil versions are discouraged and will be deprecated in Rubygems 4" if version.nil?
175
175
  end
@@ -185,10 +185,10 @@ class Gem::Version
185
185
  # ver2 = Version.create(ver1) # -> (ver1)
186
186
  # ver3 = Version.create(nil) # -> nil
187
187
 
188
- def self.create input
189
- if self === input then # check yourself before you wreck yourself
188
+ def self.create(input)
189
+ if self === input # check yourself before you wreck yourself
190
190
  input
191
- elsif input.nil? then
191
+ elsif input.nil?
192
192
  nil
193
193
  else
194
194
  new input
@@ -197,7 +197,7 @@ class Gem::Version
197
197
 
198
198
  @@all = {}
199
199
 
200
- def self.new version # :nodoc:
200
+ def self.new(version) # :nodoc:
201
201
  return super unless Gem::Version == self
202
202
 
203
203
  @@all[version] ||= super
@@ -207,13 +207,13 @@ class Gem::Version
207
207
  # Constructs a Version from the +version+ string. A version string is a
208
208
  # series of digits or ASCII letters separated by dots.
209
209
 
210
- def initialize version
210
+ def initialize(version)
211
211
  unless self.class.correct?(version)
212
212
  raise ArgumentError, "Malformed version number string #{version}"
213
213
  end
214
214
 
215
215
  # If version is an empty string convert it to 0
216
- version = 0 if version =~ /\A\s*\Z/
216
+ version = 0 if version.is_a?(String) && version =~ /\A\s*\Z/
217
217
 
218
218
  @version = version.to_s.strip.gsub("-",".pre.")
219
219
  @segments = nil
@@ -240,7 +240,7 @@ class Gem::Version
240
240
  # A Version is only eql? to another version if it's specified to the
241
241
  # same precision. Version "1.0" is not the same as version "1".
242
242
 
243
- def eql? other
243
+ def eql?(other)
244
244
  self.class === other and @version == other._version
245
245
  end
246
246
 
@@ -248,7 +248,7 @@ class Gem::Version
248
248
  canonical_segments.hash
249
249
  end
250
250
 
251
- def init_with coder # :nodoc:
251
+ def init_with(coder) # :nodoc:
252
252
  yaml_initialize coder.tag, coder.map
253
253
  end
254
254
 
@@ -268,7 +268,7 @@ class Gem::Version
268
268
  # Load custom marshal format. It's a string for backwards (RubyGems
269
269
  # 1.3.5 and earlier) compatibility.
270
270
 
271
- def marshal_load array
271
+ def marshal_load(array)
272
272
  initialize array[0]
273
273
  end
274
274
 
@@ -282,7 +282,7 @@ class Gem::Version
282
282
  ["@version"]
283
283
  end
284
284
 
285
- def encode_with coder # :nodoc:
285
+ def encode_with(coder) # :nodoc:
286
286
  coder.add 'version', @version
287
287
  end
288
288
 
@@ -296,7 +296,7 @@ class Gem::Version
296
296
  @prerelease
297
297
  end
298
298
 
299
- def pretty_print q # :nodoc:
299
+ def pretty_print(q) # :nodoc:
300
300
  q.text "Gem::Version.new(#{version.inspect})"
301
301
  end
302
302
 
@@ -339,7 +339,7 @@ class Gem::Version
339
339
  # one. Attempts to compare to something that's not a
340
340
  # <tt>Gem::Version</tt> return +nil+.
341
341
 
342
- def <=> other
342
+ def <=>(other)
343
343
  return unless Gem::Version === other
344
344
  return 0 if @version == other._version || canonical_segments == other.canonical_segments
345
345
 
@@ -17,7 +17,7 @@ module Gem::VersionOption
17
17
 
18
18
  def add_platform_option(task = command, *wrap)
19
19
  OptionParser.accept Gem::Platform do |value|
20
- if value == Gem::Platform::RUBY then
20
+ if value == Gem::Platform::RUBY
21
21
  value
22
22
  else
23
23
  Gem::Platform.new value
@@ -27,7 +27,7 @@ module Gem::VersionOption
27
27
  add_option('--platform PLATFORM', Gem::Platform,
28
28
  "Specify the platform of gem to #{task}", *wrap) do
29
29
  |value, options|
30
- unless options[:added_platform] then
30
+ unless options[:added_platform]
31
31
  Gem.platforms = [Gem::Platform::RUBY]
32
32
  options[:added_platform] = true
33
33
  end
@@ -74,4 +74,3 @@ module Gem::VersionOption
74
74
  end
75
75
 
76
76
  end
77
-