etc 1.4.3 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
data/ext/etc/etc.c CHANGED
@@ -56,7 +56,9 @@ static VALUE sGroup;
56
56
  #endif
57
57
  RUBY_EXTERN char *getlogin(void);
58
58
 
59
- #define RUBY_ETC_VERSION "1.4.3"
59
+ #define RUBY_ETC_VERSION "1.4.5"
60
+
61
+ #define SYMBOL_LIT(str) ID2SYM(rb_intern_const(str ""))
60
62
 
61
63
  #ifdef HAVE_RB_DEPRECATE_CONSTANT
62
64
  void rb_deprecate_constant(VALUE mod, const char *name);
@@ -203,7 +205,7 @@ setup_passwd(struct passwd *pwd)
203
205
  #endif
204
206
 
205
207
  /* call-seq:
206
- * getpwuid(uid) -> Passwd
208
+ * getpwuid(uid) -> Etc::Passwd
207
209
  *
208
210
  * Returns the <tt>/etc/passwd</tt> information for the user with the given
209
211
  * integer +uid+.
@@ -215,7 +217,7 @@ setup_passwd(struct passwd *pwd)
215
217
  *
216
218
  * See the unix manpage for <code>getpwuid(3)</code> for more detail.
217
219
  *
218
- * === Example:
220
+ * *Example:*
219
221
  *
220
222
  * Etc.getpwuid(0)
221
223
  * #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
@@ -243,7 +245,7 @@ etc_getpwuid(int argc, VALUE *argv, VALUE obj)
243
245
  }
244
246
 
245
247
  /* call-seq:
246
- * getpwnam(name) -> Passwd
248
+ * getpwnam(name) -> Etc::Passwd
247
249
  *
248
250
  * Returns the <tt>/etc/passwd</tt> information for the user with specified
249
251
  * login +name+.
@@ -252,7 +254,7 @@ etc_getpwuid(int argc, VALUE *argv, VALUE obj)
252
254
  *
253
255
  * See the unix manpage for <code>getpwnam(3)</code> for more detail.
254
256
  *
255
- * === Example:
257
+ * *Example:*
256
258
  *
257
259
  * Etc.getpwnam('root')
258
260
  * #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
@@ -307,8 +309,8 @@ each_passwd(void)
307
309
  #endif
308
310
 
309
311
  /* call-seq:
310
- * Etc.passwd { |struct| block } -> Passwd
311
- * Etc.passwd -> Passwd
312
+ * passwd { |struct| block }
313
+ * passwd -> Etc::Passwd
312
314
  *
313
315
  * Provides a convenient Ruby iterator which executes a block for each entry
314
316
  * in the <tt>/etc/passwd</tt> file.
@@ -317,7 +319,7 @@ each_passwd(void)
317
319
  *
318
320
  * See ::getpwent above for details.
319
321
  *
320
- * Example:
322
+ * *Example:*
321
323
  *
322
324
  * require 'etc'
323
325
  *
@@ -343,7 +345,7 @@ etc_passwd(VALUE obj)
343
345
  }
344
346
 
345
347
  /* call-seq:
346
- * Etc::Passwd.each { |struct| block } -> Passwd
348
+ * Etc::Passwd.each { |struct| block } -> Etc::Passwd
347
349
  * Etc::Passwd.each -> Enumerator
348
350
  *
349
351
  * Iterates for each entry in the <tt>/etc/passwd</tt> file if a block is
@@ -355,7 +357,7 @@ etc_passwd(VALUE obj)
355
357
  *
356
358
  * See Etc.getpwent above for details.
357
359
  *
358
- * Example:
360
+ * *Example:*
359
361
  *
360
362
  * require 'etc'
361
363
  *
@@ -377,7 +379,10 @@ etc_each_passwd(VALUE obj)
377
379
  return obj;
378
380
  }
379
381
 
380
- /* Resets the process of reading the <tt>/etc/passwd</tt> file, so that the
382
+ /* call-seq:
383
+ * setpwent
384
+ *
385
+ * Resets the process of reading the <tt>/etc/passwd</tt> file, so that the
381
386
  * next call to ::getpwent will return the first entry again.
382
387
  */
383
388
  static VALUE
@@ -389,7 +394,10 @@ etc_setpwent(VALUE obj)
389
394
  return Qnil;
390
395
  }
391
396
 
392
- /* Ends the process of scanning through the <tt>/etc/passwd</tt> file begun
397
+ /* call-seq:
398
+ * endpwent
399
+ *
400
+ * Ends the process of scanning through the <tt>/etc/passwd</tt> file begun
393
401
  * with ::getpwent, and closes the file.
394
402
  */
395
403
  static VALUE
@@ -401,7 +409,10 @@ etc_endpwent(VALUE obj)
401
409
  return Qnil;
402
410
  }
403
411
 
404
- /* Returns an entry from the <tt>/etc/passwd</tt> file.
412
+ /* call-seq:
413
+ * getpwent -> Etc::Passwd
414
+ *
415
+ * Returns an entry from the <tt>/etc/passwd</tt> file.
405
416
  *
406
417
  * The first time it is called it opens the file and returns the first entry;
407
418
  * each successive call returns the next entry, or +nil+ if the end of the file
@@ -449,7 +460,7 @@ setup_group(struct group *grp)
449
460
  #endif
450
461
 
451
462
  /* call-seq:
452
- * getgrgid(group_id) -> Group
463
+ * getgrgid(group_id) -> Etc::Group
453
464
  *
454
465
  * Returns information about the group with specified integer +group_id+,
455
466
  * as found in <tt>/etc/group</tt>.
@@ -458,7 +469,7 @@ setup_group(struct group *grp)
458
469
  *
459
470
  * See the unix manpage for <code>getgrgid(3)</code> for more detail.
460
471
  *
461
- * === Example:
472
+ * *Example:*
462
473
  *
463
474
  * Etc.getgrgid(100)
464
475
  * #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
@@ -487,7 +498,7 @@ etc_getgrgid(int argc, VALUE *argv, VALUE obj)
487
498
  }
488
499
 
489
500
  /* call-seq:
490
- * getgrnam(name) -> Group
501
+ * getgrnam(name) -> Etc::Group
491
502
  *
492
503
  * Returns information about the group with specified +name+, as found in
493
504
  * <tt>/etc/group</tt>.
@@ -496,7 +507,7 @@ etc_getgrgid(int argc, VALUE *argv, VALUE obj)
496
507
  *
497
508
  * See the unix manpage for <code>getgrnam(3)</code> for more detail.
498
509
  *
499
- * === Example:
510
+ * *Example:*
500
511
  *
501
512
  * Etc.getgrnam('users')
502
513
  * #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
@@ -529,7 +540,6 @@ group_ensure(VALUE _)
529
540
  return Qnil;
530
541
  }
531
542
 
532
-
533
543
  static VALUE
534
544
  group_iterate(VALUE _)
535
545
  {
@@ -552,14 +562,18 @@ each_group(void)
552
562
  }
553
563
  #endif
554
564
 
555
- /* Provides a convenient Ruby iterator which executes a block for each entry
565
+ /* call-seq:
566
+ * group { |struct| block }
567
+ * group -> Etc::Group
568
+ *
569
+ * Provides a convenient Ruby iterator which executes a block for each entry
556
570
  * in the <tt>/etc/group</tt> file.
557
571
  *
558
572
  * The code block is passed an Group struct.
559
573
  *
560
574
  * See ::getgrent above for details.
561
575
  *
562
- * Example:
576
+ * *Example:*
563
577
  *
564
578
  * require 'etc'
565
579
  *
@@ -586,7 +600,7 @@ etc_group(VALUE obj)
586
600
 
587
601
  #ifdef HAVE_GETGRENT
588
602
  /* call-seq:
589
- * Etc::Group.each { |group| block } -> obj
603
+ * Etc::Group.each { |group| block } -> Etc::Group
590
604
  * Etc::Group.each -> Enumerator
591
605
  *
592
606
  * Iterates for each entry in the <tt>/etc/group</tt> file if a block is
@@ -596,7 +610,7 @@ etc_group(VALUE obj)
596
610
  *
597
611
  * The code block is passed a Group struct.
598
612
  *
599
- * Example:
613
+ * *Example:*
600
614
  *
601
615
  * require 'etc'
602
616
  *
@@ -617,7 +631,10 @@ etc_each_group(VALUE obj)
617
631
  }
618
632
  #endif
619
633
 
620
- /* Resets the process of reading the <tt>/etc/group</tt> file, so that the
634
+ /* call-seq:
635
+ * setgrent
636
+ *
637
+ * Resets the process of reading the <tt>/etc/group</tt> file, so that the
621
638
  * next call to ::getgrent will return the first entry again.
622
639
  */
623
640
  static VALUE
@@ -629,7 +646,10 @@ etc_setgrent(VALUE obj)
629
646
  return Qnil;
630
647
  }
631
648
 
632
- /* Ends the process of scanning through the <tt>/etc/group</tt> file begun
649
+ /* call-seq:
650
+ * endgrent
651
+ *
652
+ * Ends the process of scanning through the <tt>/etc/group</tt> file begun
633
653
  * by ::getgrent, and closes the file.
634
654
  */
635
655
  static VALUE
@@ -641,7 +661,10 @@ etc_endgrent(VALUE obj)
641
661
  return Qnil;
642
662
  }
643
663
 
644
- /* Returns an entry from the <tt>/etc/group</tt> file.
664
+ /* call-seq:
665
+ * getgrent -> Etc::Group
666
+ *
667
+ * Returns an entry from the <tt>/etc/group</tt> file.
645
668
  *
646
669
  * The first time it is called it opens the file and returns the first entry;
647
670
  * each successive call returns the next entry, or +nil+ if the end of the file
@@ -670,9 +693,21 @@ etc_getgrent(VALUE obj)
670
693
  VALUE rb_w32_special_folder(int type);
671
694
  UINT rb_w32_system_tmpdir(WCHAR *path, UINT len);
672
695
  VALUE rb_w32_conv_from_wchar(const WCHAR *wstr, rb_encoding *enc);
696
+ #elif defined(LOAD_RELATIVE)
697
+ static inline VALUE
698
+ rbconfig(void)
699
+ {
700
+ VALUE config;
701
+ rb_require("rbconfig");
702
+ config = rb_const_get(rb_path2class("RbConfig"), rb_intern_const("CONFIG"));
703
+ Check_Type(config, T_HASH);
704
+ return config;
705
+ }
673
706
  #endif
674
707
 
675
- /*
708
+ /* call-seq:
709
+ * sysconfdir -> String
710
+ *
676
711
  * Returns system configuration directory.
677
712
  *
678
713
  * This is typically <code>"/etc"</code>, but is modified by the prefix used
@@ -687,12 +722,16 @@ etc_sysconfdir(VALUE obj)
687
722
  {
688
723
  #ifdef _WIN32
689
724
  return rb_w32_special_folder(CSIDL_COMMON_APPDATA);
725
+ #elif defined(LOAD_RELATIVE)
726
+ return rb_hash_aref(rbconfig(), rb_str_new_lit("sysconfdir"));
690
727
  #else
691
728
  return rb_filesystem_str_new_cstr(SYSCONFDIR);
692
729
  #endif
693
730
  }
694
731
 
695
- /*
732
+ /* call-seq:
733
+ * systmpdir -> String
734
+ *
696
735
  * Returns system temporary directory; typically "/tmp".
697
736
  */
698
737
  static VALUE
@@ -736,13 +775,15 @@ etc_systmpdir(VALUE _)
736
775
  }
737
776
 
738
777
  #ifdef HAVE_UNAME
739
- /*
778
+ /* call-seq:
779
+ * uname -> hash
780
+ *
740
781
  * Returns the system information obtained by uname system call.
741
782
  *
742
783
  * The return value is a hash which has 5 keys at least:
743
784
  * :sysname, :nodename, :release, :version, :machine
744
785
  *
745
- * Example:
786
+ * *Example:*
746
787
  *
747
788
  * require 'etc'
748
789
  * require 'pp'
@@ -784,12 +825,12 @@ etc_uname(VALUE obj)
784
825
  sysname = "Windows";
785
826
  break;
786
827
  }
787
- rb_hash_aset(result, ID2SYM(rb_intern("sysname")), rb_str_new_cstr(sysname));
828
+ rb_hash_aset(result, SYMBOL_LIT("sysname"), rb_str_new_cstr(sysname));
788
829
  release = rb_sprintf("%lu.%lu.%lu", v.dwMajorVersion, v.dwMinorVersion, v.dwBuildNumber);
789
- rb_hash_aset(result, ID2SYM(rb_intern("release")), release);
830
+ rb_hash_aset(result, SYMBOL_LIT("release"), release);
790
831
  version = rb_sprintf("%s Version %"PRIsVALUE": %"PRIsVALUE, sysname, release,
791
832
  rb_w32_conv_from_wchar(v.szCSDVersion, rb_utf8_encoding()));
792
- rb_hash_aset(result, ID2SYM(rb_intern("version")), version);
833
+ rb_hash_aset(result, SYMBOL_LIT("version"), version);
793
834
 
794
835
  # if defined _MSC_VER && _MSC_VER < 1300
795
836
  # define GET_COMPUTER_NAME(ptr, plen) GetComputerNameW(ptr, plen)
@@ -803,7 +844,7 @@ etc_uname(VALUE obj)
803
844
  }
804
845
  ALLOCV_END(vbuf);
805
846
  if (NIL_P(nodename)) nodename = rb_str_new(0, 0);
806
- rb_hash_aset(result, ID2SYM(rb_intern("nodename")), nodename);
847
+ rb_hash_aset(result, SYMBOL_LIT("nodename"), nodename);
807
848
 
808
849
  # ifndef PROCESSOR_ARCHITECTURE_AMD64
809
850
  # define PROCESSOR_ARCHITECTURE_AMD64 9
@@ -827,7 +868,7 @@ etc_uname(VALUE obj)
827
868
  break;
828
869
  }
829
870
 
830
- rb_hash_aset(result, ID2SYM(rb_intern("machine")), rb_str_new_cstr(mach));
871
+ rb_hash_aset(result, SYMBOL_LIT("machine"), rb_str_new_cstr(mach));
831
872
  #else
832
873
  struct utsname u;
833
874
  int ret;
@@ -838,11 +879,11 @@ etc_uname(VALUE obj)
838
879
  rb_sys_fail("uname");
839
880
 
840
881
  result = rb_hash_new();
841
- rb_hash_aset(result, ID2SYM(rb_intern("sysname")), rb_str_new_cstr(u.sysname));
842
- rb_hash_aset(result, ID2SYM(rb_intern("nodename")), rb_str_new_cstr(u.nodename));
843
- rb_hash_aset(result, ID2SYM(rb_intern("release")), rb_str_new_cstr(u.release));
844
- rb_hash_aset(result, ID2SYM(rb_intern("version")), rb_str_new_cstr(u.version));
845
- rb_hash_aset(result, ID2SYM(rb_intern("machine")), rb_str_new_cstr(u.machine));
882
+ rb_hash_aset(result, SYMBOL_LIT("sysname"), rb_str_new_cstr(u.sysname));
883
+ rb_hash_aset(result, SYMBOL_LIT("nodename"), rb_str_new_cstr(u.nodename));
884
+ rb_hash_aset(result, SYMBOL_LIT("release"), rb_str_new_cstr(u.release));
885
+ rb_hash_aset(result, SYMBOL_LIT("version"), rb_str_new_cstr(u.version));
886
+ rb_hash_aset(result, SYMBOL_LIT("machine"), rb_str_new_cstr(u.machine));
846
887
  #endif
847
888
 
848
889
  return result;
@@ -852,7 +893,9 @@ etc_uname(VALUE obj)
852
893
  #endif
853
894
 
854
895
  #ifdef HAVE_SYSCONF
855
- /*
896
+ /* call-seq:
897
+ * sysconf(name) -> Integer
898
+ *
856
899
  * Returns system configuration variable using sysconf().
857
900
  *
858
901
  * _name_ should be a constant under <code>Etc</code> which begins with <code>SC_</code>.
@@ -886,7 +929,9 @@ etc_sysconf(VALUE obj, VALUE arg)
886
929
  #endif
887
930
 
888
931
  #ifdef HAVE_CONFSTR
889
- /*
932
+ /* call-seq:
933
+ * confstr(name) -> String
934
+ *
890
935
  * Returns system configuration variable using confstr().
891
936
  *
892
937
  * _name_ should be a constant under <code>Etc</code> which begins with <code>CS_</code>.
@@ -933,7 +978,9 @@ etc_confstr(VALUE obj, VALUE arg)
933
978
  #endif
934
979
 
935
980
  #ifdef HAVE_FPATHCONF
936
- /*
981
+ /* call-seq:
982
+ * pathconf(name) -> Integer
983
+ *
937
984
  * Returns pathname configuration variable using fpathconf().
938
985
  *
939
986
  * _name_ should be a constant under <code>Etc</code> which begins with <code>PC_</code>.
@@ -1025,7 +1072,9 @@ etc_nprocessors_affin(void)
1025
1072
  }
1026
1073
  #endif
1027
1074
 
1028
- /*
1075
+ /* call-seq:
1076
+ * nprocessors -> Integer
1077
+ *
1029
1078
  * Returns the number of online processors.
1030
1079
  *
1031
1080
  * The result is intended as the number of processes to
@@ -1035,7 +1084,7 @@ etc_nprocessors_affin(void)
1035
1084
  * - sched_getaffinity(): Linux
1036
1085
  * - sysconf(_SC_NPROCESSORS_ONLN): GNU/Linux, NetBSD, FreeBSD, OpenBSD, DragonFly BSD, OpenIndiana, Mac OS X, AIX
1037
1086
  *
1038
- * Example:
1087
+ * *Example:*
1039
1088
  *
1040
1089
  * require 'etc'
1041
1090
  * p Etc.nprocessors #=> 4
@@ -1044,7 +1093,7 @@ etc_nprocessors_affin(void)
1044
1093
  * process is bound to specific cpus. This is intended for getting better
1045
1094
  * parallel processing.
1046
1095
  *
1047
- * Example: (Linux)
1096
+ * *Example:* (Linux)
1048
1097
  *
1049
1098
  * linux$ taskset 0x3 ./ruby -retc -e "p Etc.nprocessors" #=> 2
1050
1099
  *
@@ -1094,7 +1143,7 @@ etc_nprocessors(VALUE obj)
1094
1143
  * The Etc module provides a more reliable way to access information about
1095
1144
  * the logged in user than environment variables such as +$USER+.
1096
1145
  *
1097
- * == Example:
1146
+ * *Example:*
1098
1147
  *
1099
1148
  * require 'etc'
1100
1149
  *
@@ -1118,6 +1167,7 @@ Init_etc(void)
1118
1167
  RB_EXT_RACTOR_SAFE(true);
1119
1168
  #endif
1120
1169
  mEtc = rb_define_module("Etc");
1170
+ /* The version */
1121
1171
  rb_define_const(mEtc, "VERSION", rb_str_new_cstr(RUBY_ETC_VERSION));
1122
1172
  init_constants(mEtc);
1123
1173
 
@@ -35,6 +35,12 @@ opt.def_option('-H FILE', 'specify output header file') {|filename|
35
35
 
36
36
  opt.parse!
37
37
 
38
+ CONST_PREFIXES = {
39
+ 'SC' => 'for Etc.sysconf; See <tt>man sysconf</tt>',
40
+ 'CS' => 'for Etc.confstr; See <tt>man constr</tt>',
41
+ 'PC' => 'for IO#pathconf; See <tt>man fpathconf</tt>',
42
+ }
43
+
38
44
  h = {}
39
45
  COMMENTS = {}
40
46
 
@@ -49,6 +55,13 @@ DATA.each_line {|s|
49
55
  next
50
56
  end
51
57
  h[name] = default_value
58
+ if additional = CONST_PREFIXES[name[/\A_([A-Z]+)_/, 1]]
59
+ if comment&.match(/\w\z/)
60
+ comment << " " << additional
61
+ else
62
+ (comment ||= String.new) << " " << additional.sub(/\A\w/) {$&.upcase}
63
+ end
64
+ end
52
65
  COMMENTS[name] = comment if comment
53
66
  }
54
67
  DEFS = h.to_a
@@ -66,15 +79,11 @@ def each_name(pat)
66
79
  }
67
80
  end
68
81
 
69
- erb_new = lambda do |src, safe, trim|
70
- if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
71
- ERB.new(src, trim_mode: trim)
72
- else
73
- ERB.new(src, safe, trim)
74
- end
82
+ erb_new = lambda do |src, trim|
83
+ ERB.new(src, trim_mode: trim)
75
84
  end
76
85
 
77
- erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_decls")
86
+ erb_new.call(<<'EOS', '%').def_method(Object, "gen_const_decls")
78
87
  % each_const {|name, default_value|
79
88
  #if !defined(<%=name%>)
80
89
  # if defined(HAVE_CONST_<%=name.upcase%>)
@@ -88,7 +97,7 @@ erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_decls")
88
97
  % }
89
98
  EOS
90
99
 
91
- erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_defs")
100
+ erb_new.call(<<'EOS', '%').def_method(Object, "gen_const_defs")
92
101
  % each_const {|name, default_value|
93
102
  #if defined(<%=name%>)
94
103
  % if comment = COMMENTS[name]
@@ -99,13 +108,13 @@ erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_defs")
99
108
  % }
100
109
  EOS
101
110
 
102
- header_result = erb_new.call(<<'EOS', nil, '%').result(binding)
111
+ header_result = erb_new.call(<<'EOS', '%').result(binding)
103
112
  /* autogenerated file */
104
113
 
105
114
  <%= gen_const_decls %>
106
115
  EOS
107
116
 
108
- result = erb_new.call(<<'EOS', nil, '%').result(binding)
117
+ result = erb_new.call(<<'EOS', '%').result(binding)
109
118
  /* autogenerated file */
110
119
 
111
120
  #ifdef HAVE_LONG_LONG
@@ -123,6 +132,9 @@ result = erb_new.call(<<'EOS', nil, '%').result(binding)
123
132
  static void
124
133
  init_constants(VALUE mod)
125
134
  {
135
+ #if 0
136
+ mod = rb_define_module("Etc");
137
+ #endif
126
138
  <%= gen_const_defs %>
127
139
  }
128
140
  EOS
data/test/etc/test_etc.rb CHANGED
@@ -169,6 +169,10 @@ class TestEtc < Test::Unit::TestCase
169
169
  assert_operator(1, :<=, n)
170
170
  end
171
171
 
172
+ def test_sysconfdir
173
+ assert_operator(File, :absolute_path?, Etc.sysconfdir)
174
+ end if File.method_defined?(:absolute_path?)
175
+
172
176
  def test_ractor
173
177
  return unless Etc.passwd # => skip test if no platform support
174
178
  Etc.endpwent
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yukihiro Matsumoto
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-13 00:00:00.000000000 Z
11
+ date: 2024-12-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Provides access to information typically stored in UNIX /etc directory.
14
14
  email:
@@ -24,15 +24,6 @@ extra_rdoc_files:
24
24
  - ext/etc/etc.c
25
25
  - ext/etc/extconf.rb
26
26
  - ext/etc/mkconstants.rb
27
- - logs/ChangeLog-1.0.0
28
- - logs/ChangeLog-1.0.1
29
- - logs/ChangeLog-1.1.0
30
- - logs/ChangeLog-1.2.0
31
- - logs/ChangeLog-1.3.0
32
- - logs/ChangeLog-1.3.1
33
- - logs/ChangeLog-1.4.0
34
- - logs/ChangeLog-1.4.1
35
- - logs/ChangeLog-1.4.2
36
27
  - test/etc/test_etc.rb
37
28
  files:
38
29
  - ChangeLog
@@ -42,22 +33,13 @@ files:
42
33
  - ext/etc/etc.c
43
34
  - ext/etc/extconf.rb
44
35
  - ext/etc/mkconstants.rb
45
- - logs/ChangeLog-1.0.0
46
- - logs/ChangeLog-1.0.1
47
- - logs/ChangeLog-1.1.0
48
- - logs/ChangeLog-1.2.0
49
- - logs/ChangeLog-1.3.0
50
- - logs/ChangeLog-1.3.1
51
- - logs/ChangeLog-1.4.0
52
- - logs/ChangeLog-1.4.1
53
- - logs/ChangeLog-1.4.2
54
36
  - test/etc/test_etc.rb
55
37
  homepage: https://github.com/ruby/etc
56
38
  licenses:
57
39
  - Ruby
58
40
  - BSD-2-Clause
59
41
  metadata: {}
60
- post_install_message:
42
+ post_install_message:
61
43
  rdoc_options:
62
44
  - "--main"
63
45
  - README.md
@@ -74,8 +56,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
56
  - !ruby/object:Gem::Version
75
57
  version: '0'
76
58
  requirements: []
77
- rubygems_version: 3.5.0.dev
78
- signing_key:
59
+ rubygems_version: 3.5.11
60
+ signing_key:
79
61
  specification_version: 4
80
62
  summary: Provides access to information typically stored in UNIX /etc directory.
81
63
  test_files: []
data/logs/ChangeLog-1.0.0 DELETED
@@ -1,65 +0,0 @@
1
- -*- coding: utf-8 -*-
2
-
3
- commit 3402a9366fba4d2bf2f4ea20df16c95121876bc4
4
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
5
- AuthorDate: 2017-12-13 14:31:00 +0900
6
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
7
- CommitDate: 2017-12-13 14:31:00 +0900
8
-
9
- Bump release date
10
-
11
- commit be7fadb654340282ff71a500a47f88a0b4c47a1d
12
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
13
- AuthorDate: 2017-12-13 14:30:42 +0900
14
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
15
- CommitDate: 2017-12-13 14:30:42 +0900
16
-
17
- Added badge of Travis
18
-
19
- commit 97aca32b82f6cd8c309ae515e36d86c4d4822e4c
20
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
21
- AuthorDate: 2017-12-13 14:23:26 +0900
22
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
23
- CommitDate: 2017-12-13 14:23:26 +0900
24
-
25
- prepare to release 1.0.0
26
-
27
- commit 744646073bcd4e7c5b65ae5921cf4c1d5697e35e
28
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
29
- AuthorDate: 2017-11-28 12:17:10 +0900
30
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
31
- CommitDate: 2017-11-28 12:20:44 +0900
32
-
33
- Pick commits from ruby core repository.
34
-
35
- * https://github.com/ruby/ruby/commit/0f7fed9253
36
- * https://github.com/ruby/ruby/commit/8fc8587e05
37
- * https://github.com/ruby/ruby/commit/1333c0f0df
38
- * https://github.com/ruby/ruby/commit/e4ff51b05a
39
- * https://github.com/ruby/ruby/commit/1852b4a866
40
- * https://github.com/ruby/ruby/commit/b5b2bd86f1
41
- * https://github.com/ruby/ruby/commit/253fd5fe6b
42
-
43
- commit 0e8f8547412d33a35752ef4272d78fc18cf3a5ed
44
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
45
- AuthorDate: 2017-10-20 16:51:22 +0900
46
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
47
- CommitDate: 2017-10-20 16:51:22 +0900
48
-
49
- Update README with rdoc of Etc module
50
-
51
- commit 86a04b45feed2bc88d44399e127ed675d5d0f41c
52
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
53
- AuthorDate: 2017-09-13 14:32:17 +0900
54
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
55
- CommitDate: 2017-09-13 14:32:17 +0900
56
-
57
- make frozen
58
-
59
- commit 91ce5d0039fe10d86b35a3c114fabb9a7ae86344
60
- Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
61
- AuthorDate: 2017-07-18 14:38:26 +0900
62
- Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
63
- CommitDate: 2017-07-18 14:38:26 +0900
64
-
65
- fixed wrong license name