forked from rubygems/rubygems
/
ChangeLog
3370 lines (2308 loc) · 114 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2007-01-16 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/rubygems_version.rb (Gem): Released 0.9.1.
2007-01-15 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#extract_files): Only allow
installation to absolute directories. (Call File::expand_path first).
More informative message for attempting to install with bad path.
* post-install.rb: Install sources first, since its rather important.
2007-01-14 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb: require 'fileutils', as its
needed.
2007-01-12 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#extract_files): Don't
allow gems to place files outside the installation directory. Fixes
bug 7751 by Gavin Sinclair.
2007-01-08 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/specification.rb
(Gem::Specification::test_suite_file): Added rescue clause for
default_executable.
(Gem::Specification::add_bindir): Added rescue clause for
add_bindir.
* test/test_specification.rb
(TestSpecification::test_pathologically_bad_non_array_stuff_doesnt_goof_up_files):
Added a sanity check on hash for some pathologically bad case.
(TestSpecification::test_pathologically_bad_exectuables_doesnt_goof_up_hash):
Added sanity check for pathologically bad executables field.
2007-01-08 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_commands.rb (Gem::PristineCommand#execute): Better
messaging.
* lib/rubygems.rb, lib/rubygems/custom_require.rb: Correctly include
documentation for methods added to Kernel.
2007-01-07 Eric Hodel <drbrain@segment7.net>
* Rakefile: Include GPL.txt. Fixes bug #7572 by David Lee.
2007-01-06 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version
0.9.0.9.
* lib/rubygems/specification.rb
(Gem::Specification::test_suite_file): Rewrote default_executable
to be a bit more explicit.
(Gem::Specification::add_bindir): Rewrote the 'files' accessor to
handle pathologically bad input.
(Gem::Specification::copy_of): Added as_array private method.
* Rakefile (package_version): Added '*.out' to clobber list.
Removed the broken-1.0.0.gem file from the clobber list.
* test/test_specification.rb
(TestSpecification::test_default_executable):
Seriously beefed up tests for certain specification issues.
* test/gemenvironment.rb (TestEnvironment::create): Added the 'f'
flag to deleting 'gemhome'.
2006-12-30 Eric Hodel <drbrain@segment7.net>
* post-install.rb, lib/rubygems/server.rb: RubyGems now installs RDoc
and ri for itself.
2006-12-28 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#build_extensions):
Extension build failures now raise Gem::Installer::ExtensionBuildErrors.
2006-12-26 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/package.rb (Gem::Package::TarInput#initialize): Bad
packages now raise FormatError instead of a generic RuntimeError.
* lib/rubygems/installer.rb (Gem::Installer#install): Raise an
InstallError when we have a bad gem file.
2006-12-25 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/custom_require.rb (Gem::GemPathSearcher::find):
Removed SUFFIX_PATTERN. Evidently this was miss during an earlier
attempt to remove it.
(Gem::GemPathSearcher::matching_file): Changed reference to
SUFFIX_PATTERN into a call to Gem.suffix_pattern.
* Removed tab characters from numerous source files.
* lib/rubygems/installer.rb (Gem::Uninstaller::uninstall): Removed
stray tab characters.
* lib/rubygems.rb (Kernel::require_gem): Added file and line
number information to require_gem worning (makes it easier to
track down those offending lines of code).
(Kernel::location_of_caller): Added helper function to determine
file and line number of caller.
2006-12-25 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#app_script_text):
Simpler, more readable bin script.
* lib/rubygems/gem_commands.rb (Gem::PristineCommand#execute):
Regenerate bin scripts. This will clean up require_gem in scripts.
2006-12-24 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#fetch_path):
Rescue various errors and return a more-friendly error.
2006-12-23 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/command.rb lib/rubygems/gem_commands.rb: Make help
output fit in 80 columns.
* lib/rubygems/rubygems_version.rb: Bump version to 0.9.0.8, beta
time! (Oops, didn't go into beta.)
2006-12-20 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#fetch_size): Give
a sensible error on bad URIs.
* lib/rubygems/gem_commands.rb (Gem::SourceCommand): Allow management
of sources in source_cache. Fixes bug #1128.
* lib/rubygems.rb (Kernel#require_gem): Add deprecation warning in
favor of gem.
2006-12-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::ExtBuilder): Refactored for
uniformity.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#specs_n_sources_matching): Don't display gems
that can't be installed.
* lib/rubygems.rb, pre-install.rb: Fix installation errors on 1.9.
Fixes bug #4536 by Ryan Davis.
* lib/rubygems/source_index.rb, lib/rubygems/gem_commands.rb,
lib/rubygems-custom_require.rb: Use File.join with glob strings.
Fixes bug #1096 submitted by Chad Fowler.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#install_dependencies): Make --force actually
force. Fixes bug #7365 by Robert James.
2006-12-18 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_commands (Gem::OutdatedCommand): Add a way to see
which gems are out-of-date.
* setup.rb: Ignore errors for .config and InstalledFiles when
the source path is read-only/NFS. Fixes bugs #1395 and #1374. Patch
by Ryan Davis.
* bin/gem_server: Pull code out into lib/rubygems/server.rb for
reusability. Closes Feature Request #2220 by Chris Morris.
2006-12-16 Chad Fowler <chad@chadfowler.com>
* test/: Added functional test for extension gems proving that
non-compiling extensions don't result in success message.
* lib/rubygems/specification.rb: Raise exception if loaded spec is
nil. Closes bug #7299.
* test/gemenvironment.rb: Clean out gemhome every time to avoid dirty
directory failing tests.
* lib/rubygems/installer.rb: Change uninstall to require a full gem
name (not a partial match). Fixes bug #6007 and related unreported
issues.
2006-12-15 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Uninstaller): Correctly uninstall
executables if GEM_HOME is set. Patch #2264 by Sylvain Joyeux.
* lib/rubygems.rb (Gem::loaded_specs): Expose list of currently loaded
gems.
* lib/rubygems/gem_commands (Gem::UninstallCommand): Allow multiple
gems to be uninstalled at once.
2006-12-14 Eric Hodel <drbrain@segment7.net>
* post-install.rb: Don't attempt to read unreadable files. Fixes
bug #2851.
2006-12-13 Eric Hodel <drbrain@segment7.net>
* pre-install.rb.rb, post-install.rb: Don't call manage_gems because
we don't have sources installed yet. Bump version requirement to
1.8.2 since rubygems/open-uri.rb was removed. Should fix bug #6206.
* lib/rubygems/installer.rb (Gem::Installer#build_extensions): Capture
stderr into results when building extensions.
* lib/rubygems/gem_commands.rb (Gem::ContentsCommand): Allow version
to be passed to gem contents. Not backwards compatible, -v now -V and
vice versa. Select newest gem for contents. Fixes bugs #2723, #7225.
Patches by Sava Chankov, Tom Pollard.
* lib/rubygems/gem_commands.rb (Gem::InstallCommand#execute): Allow
install errors to result in non-zero exit code. Fixes bug #2773.
2006-12-03 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#install):
Add :cache_dir option to override the default.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#download_gem):
Check cache to see if the gem has been cached before downloading.
2006-12-02 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb (Gem::OperationNotSupportedError::suffixes,
Gem::OperationNotSupportedError::suffix_pattern): Removed
duplicate copies of the SUFFIX_PATTERN by providing a global
method Gem.suffixes and Gem.suffix_pattern.
* lib/rubygems/remote_fetcher.rb (Gem::open_uri_or_path): Reworked
the connection options for the open-uri call. Since we are not
using the rubygems supplied open_uri, we can use some new options
available that make proxy handling much easier.
(Gem::file_uri): Renamed is_file_uri to file_uri?.
* lib/rubygems/loadpath_manager.rb (Gem::LoadPathManager::self):
Added .jar to list of suffixes.
* test/functional.rb (FunctionalTest::test_env_remotesources):
Changed test to uses Gem.sources (the sources method on
remote_fetcher was removed).
* test/test_remote_fetcher.rb (TestRemoteFetcher): Renamed some of
the test constants and instance variables so that they were more
consistent and explained the tests a wee bit better.
(TestRemoteFetcher::test_no_proxy): Added assert_data_from_server
and assert_data_from_proxy to make it clear what the test was
doing and give better error messages on errors.
(TestRemoteFetcher::assert_data_from_server): Added
assert_data_from_server.
(TestRemoteFetcher::assert_data_from_proxy): Added
assert_data_from_proxy.
2006-11-30 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/open-uri.rb: Removed the duplicated library.
2006-11-30 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification (Gem::Specification#eql?): Allow gemspecs
to be used intelligently with Array#- and Array#uniq.
* lib/rubygems/installer.rb: Return extension-building results in
Exception on build failure.
* lib/rubygems/remote_installer.rb: Ensure gems with similar names
cannot be matched for install. (Broken when searching was removed
from RemoteInstaller.)
2006-11-29 Eric Hodel <drbrain@segment7.net>
* post-install.rb: Now requires rbconfig.
* lib/rubygems/specification.rb, lib/rubygems/version.rb: Fixed many
ivar warnings due to YAML specs.
* lib/rubygems/validator.rb, lib/rubygems/validator.rb
(Gem::Validator#unit_test Gem::RemoteInstaller::): Ensure the
current directory is restored.
* lib/rubygems/remote_fetcher.rb, lib/rubygems/remote_installer.rb,
lib/rubygems/installer.rb: Raise more-friendly and less-deadly errors.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#install):
Create version requirement correctly.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#find_gem_to_install): Allow RemoteInstaller to
work with SilentUI.
* lib/rubygems/remote_fetcher.rb (RemoteFetcher#open_uri_or_path):
Don't double-require open-uri.
2006-11-27 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb
(Gem::Specification#default_executable): Fixed bug where @executables
could be nil when loaded from index.
2006-11-21 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_index.rb (Gem::SourceIndex#latest_specs): Grab
the latest versions of everything in the index. Written by Ryan
Davis.
2006-11-20 Rich Kilmer <rich@infoether.com>
* lib/rubygems/cmd_manager.rb: Added PristineCommand
* lib/rubygems/gem_commands.rb: Added PristineCommand to restore
gems to pristine condition in the event of files begin deleted
based on the cached .gem file
2006-11-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/*_fetcher.rb: Removed code specific to remote source
index updating.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#search):
Moved to Gem::SourceInfoCache#search
* lib/rubygems/source_info_cache.rb: Taught to update itself
* lib/rubygems/source_info_cache_entry.rb: Taught to update itself
* lib/rubygems/source_index.rb: Taught to update itself from a uri.
2006-11-18 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Applied Kevin Clark's patch to make
RubyGems recognize mkrf files.
2006-11-17 Eric Hodel <drbrain@segment7.net>
* test/test_remote_fetcher.rb: Don't allow files in Dir.pwd to make
tests fail. Spotted by Chad Fowler.
* lib/rubygems/remote_installer.rb (Gem::RemoteFetcher,
Gem::CacheFetcher): Break out of remote_installer.rb into separate
files.
* lib/rubygems/remote_installer.rb (Gem::SourceInfoCache,
Gem::SourceInfoCacheEntry): Allow requiring just the source cache
without the remote fetcher.
2006-11-16 Eric Hodel <drbrain@segment7.net>
* test/test_local_cache.rb: Moved to better name
* test/test_gem_source_info_cache.rb: Renamed test methods to match
implementations. Sorted test names.
* lib/rubygems/remote_installer (Gem::SourceInfoCache): cache_data no
longer resets dirty flag. Sped up source cache loading. Exposed
cache file name in use.
2006-11-15 Eric Hodel <drbrain@segment7.net>
* test/, lib/: Made files -w clean.
* test/: Made tests run independently.
* Rakefile: Tests now run with warnings on.
2006-11-14 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/user_interaction.rb (Gem::StreamUI#progress_reporter):
Fix for Gem.configuration.verbose = nil, false
* lib/rubygems.rb (Gem::configuration): Fix RakeFileUtils pollution.
2006-10-05 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/installer.rb (Gem::Installer::shebang): Updated to
optionally call env_shebang if the command line option is set.
(Gem::Installer::shebang_env): Added this method.
2006-09-25 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version
0.9.0.6.
* lib/rubygems/security.rb (Gem::Security::Exception): Added
permissions for cert files and directories.
(Gem::Security::Policy::verify_gem): File.exists? => File.exist?
(Gem::Security::self.verify_trust_dir): Beefed up code to create
trust directory structure.
(Gem::Security::self): Apply permissions when creating trust
files.
* lib/rubygems/package.rb (TarInput::initialize): File.exists? =>
File.exist?
2006-09-24 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb
(Gem::OperationNotSupportedError::configuration): Added
method_missing to configuration hash to allow nicer reference
syntax.
2006-09-22 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::initialize): Proxy patch fixup to
escape user/password from Anatol Pomozov.
(Gem::RemoteSourceFetcher::connect_to): Proxy patch fixup to
escape user/password from Anatol Pomozov.
* test/test_remote_fetcher.rb (TestRemoteFetcher::setup): Proxy
patch fixup to escape user/password from Anatol Pomozov.
(TestRemoteFetcher::test_no_proxy): Proxy patch fixup to escape
user/password from Anatol Pomozov.
* test/io_capture.rb (Gem::IoCapture): Created new IoCapture
module to handle capturing output of code under test.
* test/test_installer.rb
(TestInstaller::test_generate_bin_symlinks_win32): Removed ugly
$TESTING hack and substituted new io capture module.
(TestInstaller::test_install_with_message): Removed one-off stdout
capture and replaced with new IO Capture module.
2006-09-19 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version
0.9.0.3.
* test/test_version_comparison.rb (TestRequirementEquality): Added
more tests for Dependency equality testing and one additions check
for requirement vs non-requirement equality.
* lib/rubygems/version.rb (Gem::Dependency::==) Fixed '=' bug in
'==' code.
2006-09-18 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/remote_installer.rb
Only show the last 3 gem versions on a multiplatform remote
install list.
2006-09-18 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller::install): Added Hugh Sasse's patch for
skipping gems on install.
* lib/rubygems/rubygems_version.rb (Gem): Bumped to 0.9.0.2.
* lib/rubygems/version.rb (Gem::Dependency::hash): Added hash code
--http-proxy, the ENV var http_proxy and with no proxy.
2006-08-26 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller::download_gem): Fixed download_gems so that
it properly passes the proxy option to the fetcher class. (based
on patch by Andy Shen).
2006-08-12 Jim Weirich <jim@weirichhouse.org>
* bin/index_gem_repository.rb (Indexer::sanitize): Added a
sanitize step to the gem index generation in the hope of avoiding
problems with non-ASCII names in the yaml data.
2006-06-14 Jim Weirich <jim@weirichhouse.org>
* Rakefile (announce): Added 1.9 hack for ENV['CERT_DIR']. Remove
this in the future if 1.9 behavior changes.
2006-06-13 Jim Weirich <jim@weirichhouse.org>
* Rakefile: ENV['CERT_DIR'] is now '' rather than nil.
* lib/rubygems/specification.rb (Gem::Specification::initialize):
Eric added some 1.9 compatibility code (funcall vs send).
* lib/rubygems/package.rb (TarOutput::self): Eric added some 1.9
compatibility code (funcall vs send).
* experimental/deployment.rb (Gem::Deployment): Moved the
deployment code out of the live code base into the experimental
directory. The code wasn't used and the tests were not all
passing.
2006-06-11 Jim Weirich <jim@weirichhouse.org>
* bin/gemri: Added gemri to bin directory.
* lib/rubygems/custom_require.rb (Gem::GemPathSearcher::find):
Added .rbw to suffix pattern in custom_require.
2006-06-07 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb: Added copyright notices to all Ruby files.
2006-04-07 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/gem_commands.rb (Gem::RDocCommand::execute): Added
RI option to the rdoc subcommand.
2006-04-05 Jim Weirich <jim@weirichhouse.org>
* test/test_parse_commands.rb
(TestParseCommands::test_parsing_update_options): Fixed unit tests
to assert that the install dir is expanded.
* lib/rubygems/doc_manager.rb (Gem::DocManager::generate_ri):
Break out from generate_rdoc to support installing all RI docs
first.
* lib/rubygems/gem_commands.rb
(Gem::InstallUpdateOptions::add_install_update_options): Expanded
repository directory to absolute path.
(Gem::InstallCommand::execute): Make sure that *all* of the RI
documents are generated before generating any RDocs (due to a bug
in the RDoc library).
* lib/rubygems/installer.rb (Gem::ExtExtConfBuilder::self): Fixed
typo in ExtExtConfBuilder that prevented C based gems to install.
(Gem::ExtExtConfBuilder::self): Installed patch to prevent the
overriding of target_prefix in native extensions (thanks to Aaron
Patterson for the patch).
2006-04-04 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version
0.8.11.10.
* lib/rubygems/incremental_fetcher.rb
(Gem::IncrementalFetcher::update_cache): Now falls back to bulk
updates if the number of gems if over 50.
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::source_index): Added "bulk" to the
update message to differentiate it from the incremental message.
* lib/rubygems/specification.rb
(Gem::Specification::Specification): Modified to add dashes to
gemspecs generated under Ruby 1.8.3. This makes it easier to run
RubyGems on a 1.8.2 system.
2006-04-01 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/doc_manager.rb (Gem::DocManager::run_rdoc): Changed
exception handler to print error message if document generation
fails, but then to continue with the rest of the installation.
Permission errors still terminate the install because if one
install fails because of permission problems, chances are that all
will fail.
(Gem::DocManager::install_ri): Removed wrapping of exceptions with
DocumentError. Most exceptions now don't propagate out of
run_rdoc.
(Gem::DocManager::install_rdoc): Removed wrapping of exceptions
with DocumentError. Most exceptions now don't propagate out of
run_rdoc.
2006-02-23 Jim Weirich <jim@weirichhouse.org>
* bin/index_gem_repository.rb (MasterIndexBuilder::cleanup): Fixed
bug where we were trying to read the index file (to compress it)
before it was closed, often leading to a truncated index file.
Tue Jan 24 16:26:13 2006 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/config_file.rb
Luca Pireddu reported a fatal error when permissions on
.gemrc were too restrictive. Fixed.
Tue Dec 6 14:51:13 2005 Jim Weirich <jim@tardis>
* lib/rubygems/source_index.rb
(Gem::SourceIndex::load_specification): Added an untaint call to
make the code run in SAFE=1 mode under 1.8.3.
(Gem::SourceIndex::load_gems_in): Untaint here too.
* lib/rubygems/installer.rb (Gem::Installer::install): Untaint
here too.
(Gem::Installer::extract_files): Untaint here too.
* lib/rubygems/custom_require.rb
(Gem::GemPathSearcher::matching_file): Untaint here too.
* test/gemenvironment.rb: Added $SAFE=1 to the test environment to
make sure we can run in $SAFE mode.
2005-12-03 Jim Weirich <jim@tardis>
* lib/rubygems/rubygems_version.rb (Gem): Bumped version to
0.8.11.6'
* lib/rubygems/user_interaction.rb
(Gem::StreamUI::SimpleProgressReporter::done): Added several new
progress reporters.
* lib/rubygems/command.rb
(Gem::Command::specific_extra_args_hash): Added --verbose
processing.
* lib/rubygems/config_file.rb (Gem::ConfigFile::handle_arguments):
Added --traceback as alias for --backtrace (I always get them
confused).
(Gem::ConfigFile::initialize): Added a verbose option.
2005-11-28 Jim Weirich <jim@tardis>
* lib/rubygems/remote_installer.rb
(Gem::SourceInfoCacheEntry::replace_source_index): Fixed the
SourceIndexCacheEntry so that it will manufacture an empty source
index if given a nil value for the +si+ value.
2005-11-08 Chad Fowler <chad@chadfowler.com>
* lib/rubygems.rb: Ara Howard's fix to allow 0.0.0 to be a valid gem
version.
2005-11-08 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: Fixed bug in gem unpack. It was
sorting incorrectly, resulting in the wrong version being unpacked in
some edge cases. Thanks to Jakob Skjerning for the detailed bug report.
2005-11-03 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Fixed bug that would cause the executables
from the wrong gem to be uninstalled if the names matched the same
regex. Thanks Eric Hodel.
2005-11-01 Jim Weirich <jim@tardis>
* lib/rubygems/gem_commands.rb (Gem::UpdateCommand::initialize):
Upgrade => Update change.
(Gem::UpdateCommand::execute): Upgrade => Update change.
(Gem::UpdateCommand::execute): Upgrade => Update change.
2005-11-01 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: Allow gem unpack to accept a gem file
path instead of gem name: gem unpack mygem-1.0.0.gem.
2005-10-31 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Tilman Sauerbeck's patch to support
extensions built with Rake!
2005-09-13 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/package.rb (TarInput::initialize): Removed
requirement for SSL when signatures are found in a gem. Only
require SSL if the security policy requires checking the
signatures.
* lib/rubygems/custom_require.rb (Kernel::require): Disabled
autorequire during custom require.
2005-09-07 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/gem_openssl.rb (Gem::ensure_ssl_available): Added a
test in gem_openssl to make sure the ruby portion of ssl is also
loaded.
2005-08-31 Jim Weirich <jim@weirichhouse.org>
* Rakefile (install): Changed the rake install task to use setup.rb.
2005-07-08 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/remote_installer.rb: Applied Daniel Roux's patch
to make RubyGems work with authenticating proxies.
2005-07-08 Jim Weirich <jim@weirichhouse.org>
* Preparing for release 0.8.11.
2005-06-12 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/installer.rb
(Gem::Installer::installation_satisfies_dependency): Refactored
dependency check into ensure_dependency! and
installation_satisfies_dependency?.
2005-06-12 Chad Fowler <chad@chadfowler.com>
* lib/rubygems.rb,lib/rubygems/installer.rb: Applied Mark Hubbart's
* lib/rubygems/remote_installer.rb: Applied David Glasser's install-
* Applied Paul Duncan's incredibly complete gem signing patch.
Thanks, Paul!
* lib/rubygems/installer.rb: Fixed bug in installer that caused
dependency installation not to work.
2005-06-06 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/specification.rb: Fixed Erik hatcher's reported bug
of gem directories having "-" at the end of their names (e.g.
"BlueCloth-1.0.0-".
2005-06-01 Jim Weirich <jim@weirichhouse.org>
* scripts/specdoc.rb (_resolve_links): Updated to generate hieraki
format so it can be included in the docs.rubygems.org site.
* test/test_specification.rb (TestSpecification::test_to_ruby):
Fixed test on date that hard-coded a specific date.
2005-05-29 Jim Weirich <jim@weirichhouse.org>
* Changes from the Seattle Code fest: (1) Package list command
(e.g. gem inspect GEM). (2) .gemrc settings now allow cvsrc like
options to set defaults per subcommand. (3) The autorequire spec
attribute will now accept a list. (4) Binwrappers vs symlinks
(more info to follow). (5) Substituted Time for Date in specs,
increasing performance dramatically in an important area.
2005-05-04 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb (Gem::Exception::find_home): Changed rescue
clause from Exception to StandardError. Exception doesn't seem to
catch everything ... I'm not sure I understand why.
2005-04-29 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/specifiation.rb: Marcel Molina's patch to discover
which attributes in the spec are Array attributes.
2005-04-27 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: -y is now a synonym for
--include-dependencies
2005-04-21 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Added non-require_gem dependency check
for installation.
2005-04-03 Chad Fowler <chad@chadfowler.com>
* pre-install.rb: Added version check to RubyGems installation.
2005-03-25 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Created release for
0.8.10.
* lib/rubygems/gem_commands.rb
(Gem::UpdateCommand::do_rubygems_update): Update --system now runs
the ruby command directly rather than trying to load the
update-rubygems command. There were too many things to go wrong
with the old way.
2005-03-24 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller::find_dependencies_not_installed): Fixed to
reload source index before attempting to detect dependencies.
2005-03-23 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller::find_dependencies_not_installed): Switched
to using SourceIndex#find_name to detect missing dependencies,
avoiding a gem activation during an install.
* lib/rubygems/installer.rb (Gem::Installer::install): Removed
activate call from install step. If we need to do something about
dependencies at this time, then we need a better way to do them.
* lib/rubygems.rb: Removed the require for rubygems/timer.
2005-03-16 Jim Weirich <jim@weirichhouse.org>
* test/gemenvironment.rb (TestEnvironment::create): Added require
on gem/builder.
* lib/rubygems/source_index.rb (Gem::SourceIndex::initialize):
Allowing default argument to new to be an empty hash.
(Gem::SourceIndex::from_installed_gems): Refactored into a class
method that invokes a instance method.
(Gem::SourceIndex::refresh): Refresh now does a complete reload
from disk. This should be more accurate that the earlier version.
* lib/rubygems/installer.rb (Gem::Uninstaller::uninstall): removed
unneeded refresh!.
* lib/rubygems.rb (Gem::Exception::source_index): Removed
automatic refresh from Gem.source_index ... it wasn't reliable
when removing installed gems.
(Gem::Exception::activate): Added detection of previously loaded
gems.
2005-03-15 Chad Fowler <chad@chadfowler.com>
* bin/gem_server: (htonl) rdoc opens in existing browser window.
2005-03-14 Jim Weirich <jim@weirichhouse.org>
* Released 0.8.8
2005-03-14 Jim Weirich <jim@weirichhouse.org>
* Released 0.8.7
2005-03-13 Gavin Sinclair <gsinclair@soyabean.com.au>
* lib/rubygems/installer.rb (Gem::Installer#shebang): Refactored and
stripped result to avoid ^M issues.
2005-03-11 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/gem_commands.rb (Gem::DependencyCommand): Added a
new command "gem dependency" to show the dependencies of an
installed gem.
* lib/rubygems/cmd_manager.rb (Gem::CommandManager::initialize):
Added DependencyCommand to the command manager registrar.
* lib/rubygems/version.rb (Gem::Requirement): Unnested Requirement
from the Version class. There was no benefit to having it nested.
Gem::Version::Requirement is set to point to the new class so to
be compatible with old gems.
* lib/rubygems/installer.rb (Gem::Uninstaller::ask_if_ok): Changed
uninstaller confirm message to read 'Continue with uninstall'.
Its clearer that way.
* lib/rubygems.rb (Gem::Exception::required_location): Switch to
use SourceIndex#find_name rather than search. Made sure a nil
value is returned with a path is not found.
* lib/rubygems/source_index.rb (Gem::SourceIndex::search): Changed
parameter name to gem_pattern to emphasize using Regex in search.
(Gem::SourceIndex::find_name): Added find_name to handle the
common case of searching for an exact match on the short name.
* lib/rubygems.rb (Gem::Exception::activate): Make sure that
activate more closely adheres to honoring the auto_require=>false
request.
(Gem::Exception::report_activate_error): Out of line error
reporting for activate.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller::find_dependencies_not_installed): Found
another location that was using require_gem with auto_require.
Fixed to use :auto_require=>false.
* lib/rubygems/gem_commands.rb
(Gem::InstallUpdateOptions::add_install_update_options): Added
--ignore-dependencies option. Still needs to be wired to logic.
* lib/rubygems/installer.rb (Gem::Installer::install): Added call
to require_gem_with_options.
* lib/rubygems.rb (Kernel::require_gem_with_options): Added to
allow easier specification of the autorequire flag for
Gem.activate.
2005-03-10 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::normalize_uri): Normialize a URI to
start with http:// if it does not already.
* test/test_deployment.rb (TestDeployment::xtest_deploy_sources):
Disabled this test. It is part of the new deployment software and
is not working yet.
2005-03-09 Jim Weirich <jim@weirichhouse.org>
* lib/gemconfigure.rb (Gem::self): Added to aid dynamic
versioning.
* lib/rubygems/command.rb (Gem::Command::command_manager): Moved
command_manager to base class.
* lib/rubygems/gem_commands.rb (Gem::CleanupCommand::execute):
Both implicit and explicit gems now work with cleanup.
2005-03-08 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/installer.rb (Gem::Uninstaller::ok_to_remove):
Fixed source index to be loaded from the installed gems when doing
an "OK TO REMOVE" dependency check.
2005-03-06 Rich Kilmer <rich@infoether.com>
* lib/rubygems/deployment.rb: beginning of a deployment capability
* test/test_deployment.rb: first tests of new deployment system
2005-03-04 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: Small bugfix for the case when you
pass in a gem name (or more) to cleanup for the cleanup command.
2005-03-04 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/installer.rb (Gem::Uninstaller::ok_to_remove):
Reworked logic in uninstall to be intelligent about dependencies.
We only complain about dependencies if removing a gem will cause a
dependency error. The uninstaller now checks for :ignore, :all
and :executables options.
* lib/rubygems/cmd_manager.rb (Gem::CommandManager::initialize):
Registered Cleanup command.
* lib/rubygems/gem_commands.rb (Gem::CleanupCommand): Added
Cleanup command to gem.
(Gem::UninstallCommand::initialize): Added --all, --ignore and
--executables options to uninstall. This helps to avoid excessive
YESes all the time.
2005-02-28 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::LocalSourceInfoCache::write_cache): Open cache file in
binary mode.
2005-02-28 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/config_file.rb: don't warn about not being able to
find config file.
* lib/rubygems/doc_manager.rb: (for DHH) don't install rdoc docs for
* lib/rubygems/gem_commands.rb: Print which gems are updated on 'gem
update'. If --system is used, report that the rubygems system
software has been updated.
* lib/rubygems/installer.rb: Cleaned up the uninstall has_dependents
logic and output. It was misleading and buggy before.
2005-02-27 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/config_file.rb
(Gem::ConfigFile::default_config_file_name): Fixed bug in finding
home directory for the .gemrc file.
2005-02-27 Chad Fowler <chad@chadfowler.com>
* Released 0.8.6
* Fixed a small bug with shebang construction
2005-02-26 Jim Weirich <jim@weirichhouse.org>
* Released 0.8.5
* lib/rubygems/doc_manager.rb (Gem::DocManager::generate_rdoc):
Removed warning about generating rdocs on gems w/o an rdoc flag.
* lib/rubygems/gem_commands.rb
(Gem::UpdateCommand::do_rubygems_update): Added --system option to
update to specifically update the version of rubygems.
(Gem::UpdateCommand::which_to_update): Fixed some refactoring bugs
in the which_to_update method.
* lib/rubygems/remote_installer.rb
(Gem::LocalSourceInfoCache::read_cache): switched to Marshal
rather than Yaml for local cache.
* bin/gem: Added requirement for Ruby >= 1.8.0.
2005-02-10 Chad Fowler <chad@chadfowler.com>
* bin/gem_server: Added Martin Ankerl's wonderful new gem_server
template
2005-01-27 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: Fixed
`gem update` so it accepts a list of gems to update and _only_
updates those.
* lib/rubygems/installer.rb: Fixed a bug in the new shebang code.
* lib/rubygems/remote_installer.rb: Attempt to fix Curt Hibbs'
reported Proxy bug without actually having a proxy to test with.
2005-01-22 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/custom_require.rb: Lyle Johnson's fix for Bug #1379
2005-01-20 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/validator.rb: Applied Austin Ziegler/Kasper Schiess's
patch to fix unit test running bug.
2005-01-14 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: attempt at fixing Ryan Davis's
reported Shebang bug. STILL NOT WORKING, because it doesn't work
with ^M characters.
* lib/rubygems/config_file.rb: small but ugly error fixed if no
config file exists.
* lib/rubygems/remote_installer.rb: Fixed bug http://rubyforge.org/tracker/index.php?func=detail&aid=1331&group_id=126&atid=575.
2005-01-01 Chad Fowler <chad@chadfowler.com>
* Released 0.8.4
2004-12-31 Jim Weirich <jim@weirichhouse.org>
* Rakefile: Switch to standard Rake test tasks.
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::read_data): Added a retry to try a
lower case gem name if the open failed. This fixes a problem
where case differences are preventing some gems from installing.
2004-12-29 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/gem_commands.rb (Gem::InstallCommand::execute):
Changed the RemoteInstaller to take an options hash rather than
individual options. This will leave the interface more resilient
to changes as more options are added
(e.g. --install_dependencies).
* lib/rubygems/specification.rb (Gem::Specification): Marked array
attributes explicitly. This allows for explicit conversion to
arrays when assigned.
* test/test_specification.rb
(TestSimpleSpecification::test_array_attributes): Added test for
array_attributes forcing values to arrays.
2004-12-28 Jim Weirich <jim@tardis>
* lib/rubygems.rb (Gem::Exception::ensure_gem_subdirectories):
Fixed the Ryan Davis patch to work correctly when directories are
not writable.
2004-12-18 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/version.rb: Erik Veenstra's sort patch.
* lib/rubygems.rb: Ryan Davis's installation bug fix.