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.
- checksums.yaml +4 -4
- data/.rubocop.yml +67 -0
- data/.travis.yml +24 -18
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +148 -0
- data/History.txt +458 -8
- data/MAINTAINERS.txt +1 -0
- data/Manifest.txt +16 -9
- data/POLICIES.md +92 -0
- data/README.md +53 -26
- data/Rakefile +77 -211
- data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
- data/appveyor.yml +20 -45
- data/bin/gem +1 -2
- data/bin/update_rubygems +2 -3
- data/bundler/CHANGELOG.md +65 -0
- data/bundler/bundler.gemspec +7 -1
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/bundler/lib/bundler/cli/add.rb +15 -5
- data/bundler/lib/bundler/cli/binstubs.rb +8 -2
- data/bundler/lib/bundler/cli/doctor.rb +47 -1
- data/bundler/lib/bundler/cli/install.rb +8 -5
- data/bundler/lib/bundler/cli/list.rb +41 -5
- data/bundler/lib/bundler/cli/outdated.rb +7 -1
- data/bundler/lib/bundler/cli/pristine.rb +4 -0
- data/bundler/lib/bundler/cli/remove.rb +18 -0
- data/bundler/lib/bundler/cli.rb +63 -21
- data/bundler/lib/bundler/definition.rb +15 -16
- data/bundler/lib/bundler/dependency.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +19 -3
- data/bundler/lib/bundler/feature_flag.rb +7 -0
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
- data/bundler/lib/bundler/injector.rb +168 -9
- data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
- data/bundler/lib/bundler/installer.rb +29 -6
- data/bundler/lib/bundler/plugin/events.rb +61 -0
- data/bundler/lib/bundler/plugin.rb +10 -3
- data/bundler/lib/bundler/resolver.rb +2 -2
- data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
- data/bundler/lib/bundler/runtime.rb +8 -2
- data/bundler/lib/bundler/settings/validator.rb +23 -0
- data/bundler/lib/bundler/settings.rb +24 -3
- data/bundler/lib/bundler/shared_helpers.rb +19 -3
- data/bundler/lib/bundler/source/metadata.rb +2 -3
- data/bundler/lib/bundler/source.rb +9 -9
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +26 -8
- data/bundler/man/bundle-add.ronn +13 -2
- data/bundler/man/bundle-config.ronn +21 -0
- data/bundler/man/bundle-install.ronn +1 -1
- data/bundler/man/bundle-list.ronn +19 -1
- data/bundler/man/bundle-outdated.ronn +4 -0
- data/bundler/man/bundle-remove.ronn +23 -0
- data/bundler/man/bundle-update.ronn +1 -1
- data/bundler/man/bundle.ronn +3 -0
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +12 -12
- data/lib/rubygems/bundler_version_finder.rb +3 -3
- data/lib/rubygems/command.rb +22 -15
- data/lib/rubygems/command_manager.rb +22 -5
- data/lib/rubygems/commands/build_command.rb +41 -7
- data/lib/rubygems/commands/cert_command.rb +45 -24
- data/lib/rubygems/commands/check_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +14 -7
- data/lib/rubygems/commands/contents_command.rb +14 -15
- data/lib/rubygems/commands/dependency_command.rb +17 -17
- data/lib/rubygems/commands/environment_command.rb +20 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -3
- data/lib/rubygems/commands/help_command.rb +12 -13
- data/lib/rubygems/commands/info_command.rb +33 -0
- data/lib/rubygems/commands/install_command.rb +21 -17
- data/lib/rubygems/commands/list_command.rb +0 -1
- data/lib/rubygems/commands/lock_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +16 -10
- data/lib/rubygems/commands/owner_command.rb +21 -7
- data/lib/rubygems/commands/pristine_command.rb +23 -16
- data/lib/rubygems/commands/push_command.rb +19 -8
- data/lib/rubygems/commands/query_command.rb +24 -24
- data/lib/rubygems/commands/rdoc_command.rb +3 -4
- data/lib/rubygems/commands/search_command.rb +0 -1
- data/lib/rubygems/commands/server_command.rb +1 -2
- data/lib/rubygems/commands/setup_command.rb +86 -48
- data/lib/rubygems/commands/signin_command.rb +2 -1
- data/lib/rubygems/commands/signout_command.rb +2 -2
- data/lib/rubygems/commands/sources_command.rb +11 -12
- data/lib/rubygems/commands/specification_command.rb +7 -7
- data/lib/rubygems/commands/uninstall_command.rb +50 -18
- data/lib/rubygems/commands/unpack_command.rb +16 -7
- data/lib/rubygems/commands/update_command.rb +28 -23
- data/lib/rubygems/commands/which_command.rb +5 -8
- data/lib/rubygems/commands/yank_command.rb +1 -2
- data/lib/rubygems/compatibility.rb +1 -21
- data/lib/rubygems/config_file.rb +36 -36
- data/lib/rubygems/core_ext/kernel_require.rb +6 -6
- data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
- data/lib/rubygems/defaults.rb +31 -19
- data/lib/rubygems/dependency.rb +15 -15
- data/lib/rubygems/dependency_installer.rb +30 -33
- data/lib/rubygems/dependency_list.rb +9 -10
- data/lib/rubygems/deprecate.rb +2 -3
- data/lib/rubygems/doctor.rb +5 -6
- data/lib/rubygems/errors.rb +3 -3
- data/lib/rubygems/exceptions.rb +11 -8
- data/lib/rubygems/ext/build_error.rb +0 -1
- data/lib/rubygems/ext/builder.rb +50 -23
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +2 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
- data/lib/rubygems/ext/rake_builder.rb +16 -18
- data/lib/rubygems/ext.rb +0 -1
- data/lib/rubygems/gem_runner.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +46 -12
- data/lib/rubygems/indexer.rb +19 -12
- data/lib/rubygems/install_default_message.rb +0 -1
- data/lib/rubygems/install_message.rb +0 -1
- data/lib/rubygems/install_update_options.rb +3 -29
- data/lib/rubygems/installer.rb +97 -55
- data/lib/rubygems/installer_test_case.rb +2 -16
- data/lib/rubygems/local_remote_options.rb +5 -4
- data/lib/rubygems/mock_gem_ui.rb +3 -4
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/package/digest_io.rb +3 -4
- data/lib/rubygems/package/file_source.rb +3 -4
- data/lib/rubygems/package/io_source.rb +1 -2
- data/lib/rubygems/package/old.rb +8 -16
- data/lib/rubygems/package/source.rb +0 -1
- data/lib/rubygems/package/tar_header.rb +13 -4
- data/lib/rubygems/package/tar_reader/entry.rb +20 -4
- data/lib/rubygems/package/tar_reader.rb +2 -4
- data/lib/rubygems/package/tar_test_case.rb +2 -8
- data/lib/rubygems/package/tar_writer.rb +13 -15
- data/lib/rubygems/package.rb +90 -63
- data/lib/rubygems/package_task.rb +0 -1
- data/lib/rubygems/path_support.rb +16 -6
- data/lib/rubygems/platform.rb +4 -5
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/rdoc.rb +2 -313
- data/lib/rubygems/remote_fetcher.rb +29 -82
- data/lib/rubygems/request/connection_pools.rb +24 -13
- data/lib/rubygems/request/http_pool.rb +3 -4
- data/lib/rubygems/request/https_pool.rb +1 -3
- data/lib/rubygems/request.rb +17 -16
- data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
- data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
- data/lib/rubygems/request_set/lockfile.rb +12 -12
- data/lib/rubygems/request_set.rb +52 -25
- data/lib/rubygems/requirement.rb +32 -21
- data/lib/rubygems/resolver/activation_request.rb +6 -6
- data/lib/rubygems/resolver/api_set.rb +5 -6
- data/lib/rubygems/resolver/api_specification.rb +2 -3
- data/lib/rubygems/resolver/best_set.rb +5 -6
- data/lib/rubygems/resolver/composed_set.rb +5 -6
- data/lib/rubygems/resolver/conflict.rb +5 -5
- data/lib/rubygems/resolver/current_set.rb +1 -2
- data/lib/rubygems/resolver/dependency_request.rb +4 -4
- data/lib/rubygems/resolver/git_set.rb +5 -6
- data/lib/rubygems/resolver/git_specification.rb +4 -5
- data/lib/rubygems/resolver/index_set.rb +5 -6
- data/lib/rubygems/resolver/index_specification.rb +3 -4
- data/lib/rubygems/resolver/installed_specification.rb +3 -4
- data/lib/rubygems/resolver/installer_set.rb +12 -12
- data/lib/rubygems/resolver/local_specification.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +5 -6
- data/lib/rubygems/resolver/lock_specification.rb +7 -8
- data/lib/rubygems/resolver/requirement_list.rb +1 -1
- data/lib/rubygems/resolver/set.rb +2 -2
- data/lib/rubygems/resolver/source_set.rb +4 -5
- data/lib/rubygems/resolver/spec_specification.rb +1 -2
- data/lib/rubygems/resolver/specification.rb +10 -7
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +4 -5
- data/lib/rubygems/resolver/vendor_specification.rb +2 -3
- data/lib/rubygems/resolver.rb +14 -16
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/safe_yaml.rb +18 -10
- data/lib/rubygems/security/policies.rb +1 -2
- data/lib/rubygems/security/policy.rb +25 -25
- data/lib/rubygems/security/signer.rb +72 -24
- data/lib/rubygems/security/trust_dir.rb +10 -10
- data/lib/rubygems/security.rb +21 -22
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/server.rb +21 -21
- data/lib/rubygems/source/git.rb +9 -10
- data/lib/rubygems/source/installed.rb +3 -4
- data/lib/rubygems/source/local.rb +7 -7
- data/lib/rubygems/source/lock.rb +4 -4
- data/lib/rubygems/source/specific_file.rb +5 -5
- data/lib/rubygems/source/vendor.rb +2 -3
- data/lib/rubygems/source.rb +16 -25
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/source_local.rb +0 -1
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +219 -558
- data/lib/rubygems/specification_policy.rb +407 -0
- data/lib/rubygems/stub_specification.rb +12 -17
- data/lib/rubygems/test_case.rb +161 -75
- data/lib/rubygems/test_utilities.rb +20 -35
- data/lib/rubygems/text.rb +6 -6
- data/lib/rubygems/uninstaller.rb +38 -27
- data/lib/rubygems/uri_formatter.rb +1 -2
- data/lib/rubygems/user_interaction.rb +37 -89
- data/lib/rubygems/util/licenses.rb +27 -1
- data/lib/rubygems/util/list.rb +1 -1
- data/lib/rubygems/util.rb +32 -14
- data/lib/rubygems/validator.rb +4 -5
- data/lib/rubygems/version.rb +15 -15
- data/lib/rubygems/version_option.rb +2 -3
- data/lib/rubygems.rb +71 -102
- data/rubygems-update.gemspec +43 -0
- data/setup.rb +2 -8
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/rubygems_plugin.rb +0 -1
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +7 -2
- data/test/rubygems/test_gem.rb +205 -132
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command.rb +0 -1
- data/test/rubygems/test_gem_command_manager.rb +18 -3
- data/test/rubygems/test_gem_commands_build_command.rb +220 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
- data/test/rubygems/test_gem_commands_help_command.rb +7 -4
- data/test/rubygems/test_gem_commands_info_command.rb +44 -0
- data/test/rubygems/test_gem_commands_install_command.rb +79 -12
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
- data/test/rubygems/test_gem_commands_open_command.rb +29 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
- data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
- data/test/rubygems/test_gem_commands_push_command.rb +54 -0
- data/test/rubygems/test_gem_commands_query_command.rb +102 -100
- data/test/rubygems/test_gem_commands_search_command.rb +0 -1
- data/test/rubygems/test_gem_commands_server_command.rb +0 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
- data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
- data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
- data/test/rubygems/test_gem_commands_update_command.rb +19 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
- data/test/rubygems/test_gem_config_file.rb +4 -2
- data/test/rubygems/test_gem_dependency.rb +0 -1
- data/test/rubygems/test_gem_dependency_installer.rb +8 -5
- data/test/rubygems/test_gem_dependency_list.rb +6 -7
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
- data/test/rubygems/test_gem_doctor.rb +1 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
- data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
- data/test/rubygems/test_gem_gem_runner.rb +0 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
- data/test/rubygems/test_gem_indexer.rb +16 -10
- data/test/rubygems/test_gem_install_update_options.rb +1 -20
- data/test/rubygems/test_gem_installer.rb +154 -119
- data/test/rubygems/test_gem_local_remote_options.rb +3 -3
- data/test/rubygems/test_gem_name_tuple.rb +0 -1
- data/test/rubygems/test_gem_package.rb +77 -31
- data/test/rubygems/test_gem_package_old.rb +0 -1
- data/test/rubygems/test_gem_package_tar_header.rb +42 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +28 -11
- data/test/rubygems/test_gem_platform.rb +4 -5
- data/test/rubygems/test_gem_rdoc.rb +1 -136
- data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
- data/test/rubygems/test_gem_request.rb +9 -9
- data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
- data/test/rubygems/test_gem_request_set.rb +5 -5
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +24 -4
- data/test/rubygems/test_gem_resolver.rb +13 -17
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -2
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
- data/test/rubygems/test_gem_security.rb +1 -3
- data/test/rubygems/test_gem_security_policy.rb +5 -6
- data/test/rubygems/test_gem_security_signer.rb +4 -3
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +0 -13
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
- data/test/rubygems/test_gem_source_git.rb +0 -1
- data/test/rubygems/test_gem_source_installed.rb +0 -1
- data/test/rubygems/test_gem_source_lock.rb +0 -1
- data/test/rubygems/test_gem_source_vendor.rb +0 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
- data/test/rubygems/test_gem_specification.rb +366 -198
- data/test/rubygems/test_gem_stream_ui.rb +15 -32
- data/test/rubygems/test_gem_stub_specification.rb +0 -2
- data/test/rubygems/test_gem_text.rb +4 -0
- data/test/rubygems/test_gem_uninstaller.rb +42 -3
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
- data/test/rubygems/test_gem_uri_formatter.rb +0 -1
- data/test/rubygems/test_gem_util.rb +31 -11
- data/test/rubygems/test_gem_validator.rb +0 -1
- data/test/rubygems/test_gem_version.rb +11 -11
- data/test/rubygems/test_gem_version_option.rb +0 -1
- data/test/rubygems/test_remote_fetch_error.rb +0 -1
- data/test/rubygems/test_require.rb +67 -52
- data/util/CL2notes +1 -2
- data/util/ci +20 -12
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.rb +6 -7
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -5
- data/util/patch_with_prs.rb +1 -1
- data/util/rubocop +8 -0
- data/util/update_bundled_ca_certificates.rb +12 -13
- data/util/update_changelog.rb +1 -1
- metadata +61 -51
- data/.autotest +0 -71
- data/.document +0 -5
- data/CONTRIBUTING.rdoc +0 -130
- data/CVE-2013-4287.txt +0 -35
- data/CVE-2013-4363.txt +0 -45
- data/CVE-2015-3900.txt +0 -40
- data/POLICIES.rdoc +0 -74
- 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
|
data/lib/rubygems/util/list.rb
CHANGED
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
|
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
|
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
|
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
|
76
|
-
opt = {: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
|
97
|
-
STDERR.reopen
|
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
|
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
|
data/lib/rubygems/validator.rb
CHANGED
@@ -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 <=>
|
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
|
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
|
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
|
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
|
-
|
data/lib/rubygems/version.rb
CHANGED
@@ -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
|
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?
|
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
|
189
|
-
if self === input
|
188
|
+
def self.create(input)
|
189
|
+
if self === input # check yourself before you wreck yourself
|
190
190
|
input
|
191
|
-
elsif input.nil?
|
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
|
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
|
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?
|
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
|
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
|
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
|
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
|
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 <=>
|
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
|
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]
|
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
|
-
|