rubygems-update 3.0.2 → 3.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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/bundler/lib/bundler/build_metadata.rb +1 -1
  3. data/bundler/man/bundle-add.1 +58 -0
  4. data/bundler/man/bundle-binstubs.1 +40 -0
  5. data/bundler/man/bundle-check.1 +31 -0
  6. data/bundler/man/bundle-clean.1 +24 -0
  7. data/bundler/man/bundle-config.1 +497 -0
  8. data/bundler/man/bundle-doctor.1 +44 -0
  9. data/bundler/man/bundle-exec.1 +165 -0
  10. data/bundler/man/bundle-gem.1 +80 -0
  11. data/bundler/man/bundle-info.1 +20 -0
  12. data/bundler/man/bundle-init.1 +25 -0
  13. data/bundler/man/bundle-inject.1 +33 -0
  14. data/bundler/man/bundle-install.1 +308 -0
  15. data/bundler/man/bundle-list.1 +50 -0
  16. data/bundler/man/bundle-lock.1 +84 -0
  17. data/bundler/man/bundle-open.1 +32 -0
  18. data/bundler/man/bundle-outdated.1 +155 -0
  19. data/bundler/man/bundle-package.1 +55 -0
  20. data/bundler/man/bundle-platform.1 +61 -0
  21. data/bundler/man/bundle-pristine.1 +34 -0
  22. data/bundler/man/bundle-remove.1 +31 -0
  23. data/bundler/man/bundle-show.1 +23 -0
  24. data/bundler/man/bundle-update.1 +394 -0
  25. data/bundler/man/bundle-viz.1 +39 -0
  26. data/bundler/man/bundle.1 +136 -0
  27. data/lib/rubygems.rb +1 -1
  28. data/lib/rubygems/command_manager.rb +6 -4
  29. data/lib/rubygems/commands/owner_command.rb +4 -1
  30. data/lib/rubygems/gemcutter_utilities.rb +5 -2
  31. data/lib/rubygems/installer.rb +24 -5
  32. data/lib/rubygems/package.rb +10 -0
  33. data/lib/rubygems/user_interaction.rb +4 -1
  34. data/rubygems-update.gemspec +1 -1
  35. data/test/rubygems/test_gem_installer.rb +106 -0
  36. data/test/rubygems/test_gem_package.rb +34 -0
  37. data/test/rubygems/test_gem_text.rb +5 -0
  38. metadata +51 -3
@@ -529,6 +529,40 @@ class TestGemPackage < Gem::Package::TarTestCase
529
529
  end
530
530
  end
531
531
 
532
+ def test_extract_symlink_parent_doesnt_delete_user_dir
533
+ package = Gem::Package.new @gem
534
+
535
+ # Extract into a subdirectory of @destination; if this test fails it writes
536
+ # a file outside destination_subdir, but we want the file to remain inside
537
+ # @destination so it will be cleaned up.
538
+ destination_subdir = File.join @destination, 'subdir'
539
+ FileUtils.mkdir_p destination_subdir
540
+
541
+ destination_user_dir = File.join @destination, 'user'
542
+ destination_user_subdir = File.join destination_user_dir, 'dir'
543
+ FileUtils.mkdir_p destination_user_subdir
544
+
545
+ tgz_io = util_tar_gz do |tar|
546
+ tar.add_symlink 'link', destination_user_dir, 16877
547
+ tar.add_symlink 'link/dir', '.', 16877
548
+ end
549
+
550
+ e = assert_raises(Gem::Package::PathError, Errno::EACCES) do
551
+ package.extract_tar_gz tgz_io, destination_subdir
552
+ end
553
+
554
+ assert_path_exists destination_user_subdir
555
+
556
+ if Gem::Package::PathError === e
557
+ assert_equal("installing into parent path #{destination_user_subdir} of " +
558
+ "#{destination_subdir} is not allowed", e.message)
559
+ elsif win_platform?
560
+ skip "symlink - must be admin with no UAC on Windows"
561
+ else
562
+ raise e
563
+ end
564
+ end
565
+
532
566
  def test_extract_tar_gz_directory
533
567
  package = Gem::Package.new @gem
534
568
 
@@ -89,4 +89,9 @@ Without the wrapping, the text might not look good in the RSS feed.
89
89
  s = "ab" * 500_001
90
90
  assert_equal "Truncating desc to 1,000,000 characters:\n#{s[0, 1_000_000]}", truncate_text(s, "desc", 1_000_000)
91
91
  end
92
+
93
+ def test_clean_text
94
+ assert_equal ".]2;nyan.", clean_text("\e]2;nyan\a")
95
+ end
96
+
92
97
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2019-01-01 00:00:00.000000000 Z
19
+ date: 2019-03-04 00:00:00.000000000 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: builder
@@ -139,6 +139,30 @@ extra_rdoc_files:
139
139
  - bundler/LICENSE.md
140
140
  - bundler/README.md
141
141
  - hide_lib_for_update/note.txt
142
+ - bundler/man/bundle-platform.1
143
+ - bundler/man/bundle-update.1
144
+ - bundler/man/bundle-info.1
145
+ - bundler/man/bundle-init.1
146
+ - bundler/man/bundle.1
147
+ - bundler/man/bundle-exec.1
148
+ - bundler/man/bundle-install.1
149
+ - bundler/man/bundle-list.1
150
+ - bundler/man/bundle-outdated.1
151
+ - bundler/man/bundle-check.1
152
+ - bundler/man/bundle-show.1
153
+ - bundler/man/bundle-gem.1
154
+ - bundler/man/bundle-open.1
155
+ - bundler/man/bundle-lock.1
156
+ - bundler/man/bundle-pristine.1
157
+ - bundler/man/bundle-remove.1
158
+ - bundler/man/bundle-doctor.1
159
+ - bundler/man/bundle-binstubs.1
160
+ - bundler/man/bundle-viz.1
161
+ - bundler/man/bundle-package.1
162
+ - bundler/man/bundle-add.1
163
+ - bundler/man/bundle-config.1
164
+ - bundler/man/bundle-clean.1
165
+ - bundler/man/bundle-inject.1
142
166
  files:
143
167
  - ".rubocop.yml"
144
168
  - ".travis.yml"
@@ -382,29 +406,53 @@ files:
382
406
  - bundler/lib/bundler/vlad.rb
383
407
  - bundler/lib/bundler/worker.rb
384
408
  - bundler/lib/bundler/yaml_serializer.rb
409
+ - bundler/man/bundle-add.1
385
410
  - bundler/man/bundle-add.ronn
411
+ - bundler/man/bundle-binstubs.1
386
412
  - bundler/man/bundle-binstubs.ronn
413
+ - bundler/man/bundle-check.1
387
414
  - bundler/man/bundle-check.ronn
415
+ - bundler/man/bundle-clean.1
388
416
  - bundler/man/bundle-clean.ronn
417
+ - bundler/man/bundle-config.1
389
418
  - bundler/man/bundle-config.ronn
419
+ - bundler/man/bundle-doctor.1
390
420
  - bundler/man/bundle-doctor.ronn
421
+ - bundler/man/bundle-exec.1
391
422
  - bundler/man/bundle-exec.ronn
423
+ - bundler/man/bundle-gem.1
392
424
  - bundler/man/bundle-gem.ronn
425
+ - bundler/man/bundle-info.1
393
426
  - bundler/man/bundle-info.ronn
427
+ - bundler/man/bundle-init.1
394
428
  - bundler/man/bundle-init.ronn
429
+ - bundler/man/bundle-inject.1
395
430
  - bundler/man/bundle-inject.ronn
431
+ - bundler/man/bundle-install.1
396
432
  - bundler/man/bundle-install.ronn
433
+ - bundler/man/bundle-list.1
397
434
  - bundler/man/bundle-list.ronn
435
+ - bundler/man/bundle-lock.1
398
436
  - bundler/man/bundle-lock.ronn
437
+ - bundler/man/bundle-open.1
399
438
  - bundler/man/bundle-open.ronn
439
+ - bundler/man/bundle-outdated.1
400
440
  - bundler/man/bundle-outdated.ronn
441
+ - bundler/man/bundle-package.1
401
442
  - bundler/man/bundle-package.ronn
443
+ - bundler/man/bundle-platform.1
402
444
  - bundler/man/bundle-platform.ronn
445
+ - bundler/man/bundle-pristine.1
403
446
  - bundler/man/bundle-pristine.ronn
447
+ - bundler/man/bundle-remove.1
404
448
  - bundler/man/bundle-remove.ronn
449
+ - bundler/man/bundle-show.1
405
450
  - bundler/man/bundle-show.ronn
451
+ - bundler/man/bundle-update.1
406
452
  - bundler/man/bundle-update.ronn
453
+ - bundler/man/bundle-viz.1
407
454
  - bundler/man/bundle-viz.ronn
455
+ - bundler/man/bundle.1
408
456
  - bundler/man/bundle.ronn
409
457
  - bundler/man/gemfile.5.ronn
410
458
  - hide_lib_for_update/note.txt
@@ -811,7 +859,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
811
859
  - !ruby/object:Gem::Version
812
860
  version: '0'
813
861
  requirements: []
814
- rubygems_version: 3.0.1
862
+ rubygems_version: 3.1.0.pre1
815
863
  signing_key:
816
864
  specification_version: 4
817
865
  summary: RubyGems is a package management framework for Ruby.