etc 1.4.5 → 1.5.0
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/COPYING +56 -0
- data/ChangeLog +4 -4
- data/README.md +1 -0
- data/ext/etc/etc.c +62 -35
- data/ext/etc/extconf.rb +25 -24
- data/logs/ChangeLog-1.0.0 +65 -0
- data/logs/ChangeLog-1.0.1 +63 -0
- data/logs/ChangeLog-1.1.0 +143 -0
- data/logs/ChangeLog-1.2.0 +124 -0
- data/logs/ChangeLog-1.3.0 +83 -0
- data/logs/ChangeLog-1.3.1 +137 -0
- data/logs/ChangeLog-1.4.0 +65 -0
- data/logs/ChangeLog-1.4.1 +97 -0
- data/logs/ChangeLog-1.4.2 +22 -0
- data/logs/ChangeLog-1.4.3 +145 -0
- data/logs/ChangeLog-1.4.4 +149 -0
- data/logs/ChangeLog-1.4.5 +92 -0
- data/logs/ChangeLog-1.4.6 +396 -0
- data/test/etc/test_etc.rb +74 -9
- metadata +34 -9
- /data/{LICENSE.txt → BSDL} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 943a3225a878dc77a8bd71d1e30810d146928883be47a544e1a73cfe52572cba
|
|
4
|
+
data.tar.gz: 361fa2972e93f1839201229103c9805b79f3b94f8aaf5c596d91cb3ab945a274
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 92fcbcbe5e6dcc8eac8f993d264dca6cc47aa75025c24921d1e571a829fbf7bbd44dd34dacca2ccff5841d711562d00899d4fb5f9d9ecc8510d9a1eeaf3f25ae
|
|
7
|
+
data.tar.gz: e64f3c4e450c1c7c3bb02d490b8af1e4166715e2f9f8a04d02805cd7ca39e465089007752155728e3f999ae7971cfc9c16de4995cb1c2a34fdd58c5d6e584fc9
|
data/COPYING
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
|
2
|
+
You can redistribute it and/or modify it under either the terms of the
|
|
3
|
+
2-clause BSDL (see the file BSDL), or the conditions below:
|
|
4
|
+
|
|
5
|
+
1. You may make and give away verbatim copies of the source form of the
|
|
6
|
+
software without restriction, provided that you duplicate all of the
|
|
7
|
+
original copyright notices and associated disclaimers.
|
|
8
|
+
|
|
9
|
+
2. You may modify your copy of the software in any way, provided that
|
|
10
|
+
you do at least ONE of the following:
|
|
11
|
+
|
|
12
|
+
a. place your modifications in the Public Domain or otherwise
|
|
13
|
+
make them Freely Available, such as by posting said
|
|
14
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
|
15
|
+
the author to include your modifications in the software.
|
|
16
|
+
|
|
17
|
+
b. use the modified software only within your corporation or
|
|
18
|
+
organization.
|
|
19
|
+
|
|
20
|
+
c. give non-standard binaries non-standard names, with
|
|
21
|
+
instructions on where to get the original software distribution.
|
|
22
|
+
|
|
23
|
+
d. make other distribution arrangements with the author.
|
|
24
|
+
|
|
25
|
+
3. You may distribute the software in object code or binary form,
|
|
26
|
+
provided that you do at least ONE of the following:
|
|
27
|
+
|
|
28
|
+
a. distribute the binaries and library files of the software,
|
|
29
|
+
together with instructions (in the manual page or equivalent)
|
|
30
|
+
on where to get the original distribution.
|
|
31
|
+
|
|
32
|
+
b. accompany the distribution with the machine-readable source of
|
|
33
|
+
the software.
|
|
34
|
+
|
|
35
|
+
c. give non-standard binaries non-standard names, with
|
|
36
|
+
instructions on where to get the original software distribution.
|
|
37
|
+
|
|
38
|
+
d. make other distribution arrangements with the author.
|
|
39
|
+
|
|
40
|
+
4. You may modify and include the part of the software into any other
|
|
41
|
+
software (possibly commercial). But some files in the distribution
|
|
42
|
+
are not written by the author, so that they are not under these terms.
|
|
43
|
+
|
|
44
|
+
For the list of those files and their copying conditions, see the
|
|
45
|
+
file LEGAL.
|
|
46
|
+
|
|
47
|
+
5. The scripts and library files supplied as input to or produced as
|
|
48
|
+
output from the software do not automatically fall under the
|
|
49
|
+
copyright of the software, but belong to whomever generated them,
|
|
50
|
+
and may be sold commercially, and may be aggregated with this
|
|
51
|
+
software.
|
|
52
|
+
|
|
53
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
|
54
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
55
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
56
|
+
PURPOSE.
|
data/ChangeLog
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
-*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
commit
|
|
3
|
+
commit a14a3088be679154dddab67f4cae2ff395598b78
|
|
4
4
|
Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
5
|
-
AuthorDate:
|
|
5
|
+
AuthorDate: 2026-10-08 12:10:35 +0900
|
|
6
6
|
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
7
|
-
CommitDate:
|
|
7
|
+
CommitDate: 2026-10-08 12:10:35 +0900
|
|
8
8
|
|
|
9
|
-
Bump up 1.
|
|
9
|
+
Bump up to 1.5.0
|
data/README.md
CHANGED
|
@@ -5,6 +5,7 @@ The Etc module provides access to information typically stored in files in the /
|
|
|
5
5
|
The information accessible consists of the information found in the `/etc/passwd` and `/etc/group` files, plus information about he system's temporary directory (/tmp) and configuration directory (/etc).
|
|
6
6
|
|
|
7
7
|
The Etc module provides a more reliable way to access information about the logged in user than environment variables such as +$USER+.
|
|
8
|
+
Read the [API RDoc](https://docs.ruby-lang.org/en/master/Etc.html).
|
|
8
9
|
|
|
9
10
|
## Installation
|
|
10
11
|
|
data/ext/etc/etc.c
CHANGED
|
@@ -56,7 +56,7 @@ static VALUE sGroup;
|
|
|
56
56
|
#endif
|
|
57
57
|
RUBY_EXTERN char *getlogin(void);
|
|
58
58
|
|
|
59
|
-
#define RUBY_ETC_VERSION "1.
|
|
59
|
+
#define RUBY_ETC_VERSION "1.5.0"
|
|
60
60
|
|
|
61
61
|
#define SYMBOL_LIT(str) ID2SYM(rb_intern_const(str ""))
|
|
62
62
|
|
|
@@ -800,6 +800,8 @@ static VALUE
|
|
|
800
800
|
etc_uname(VALUE obj)
|
|
801
801
|
{
|
|
802
802
|
#ifdef _WIN32
|
|
803
|
+
typedef long (WINAPI version_func)(OSVERSIONINFOW *);
|
|
804
|
+
version_func *pRtlGetVersion;
|
|
803
805
|
OSVERSIONINFOW v;
|
|
804
806
|
SYSTEM_INFO s;
|
|
805
807
|
const char *sysname, *mach;
|
|
@@ -808,23 +810,14 @@ etc_uname(VALUE obj)
|
|
|
808
810
|
DWORD len = 0;
|
|
809
811
|
WCHAR *buf;
|
|
810
812
|
|
|
813
|
+
/* GetVersionEx reports 6.2 unless the manifest declares Windows 8.1 or later */
|
|
814
|
+
pRtlGetVersion = (version_func *)GetProcAddress(GetModuleHandleW(L"ntdll.dll"), "RtlGetVersion");
|
|
811
815
|
v.dwOSVersionInfoSize = sizeof(v);
|
|
812
|
-
if (!
|
|
813
|
-
|
|
816
|
+
if (!pRtlGetVersion || pRtlGetVersion(&v))
|
|
817
|
+
rb_notimplement();
|
|
814
818
|
|
|
815
819
|
result = rb_hash_new();
|
|
816
|
-
|
|
817
|
-
case VER_PLATFORM_WIN32s:
|
|
818
|
-
sysname = "Win32s";
|
|
819
|
-
break;
|
|
820
|
-
case VER_PLATFORM_WIN32_NT:
|
|
821
|
-
sysname = "Windows_NT";
|
|
822
|
-
break;
|
|
823
|
-
case VER_PLATFORM_WIN32_WINDOWS:
|
|
824
|
-
default:
|
|
825
|
-
sysname = "Windows";
|
|
826
|
-
break;
|
|
827
|
-
}
|
|
820
|
+
sysname = "Windows_NT";
|
|
828
821
|
rb_hash_aset(result, SYMBOL_LIT("sysname"), rb_str_new_cstr(sysname));
|
|
829
822
|
release = rb_sprintf("%lu.%lu.%lu", v.dwMajorVersion, v.dwMinorVersion, v.dwBuildNumber);
|
|
830
823
|
rb_hash_aset(result, SYMBOL_LIT("release"), release);
|
|
@@ -832,11 +825,7 @@ etc_uname(VALUE obj)
|
|
|
832
825
|
rb_w32_conv_from_wchar(v.szCSDVersion, rb_utf8_encoding()));
|
|
833
826
|
rb_hash_aset(result, SYMBOL_LIT("version"), version);
|
|
834
827
|
|
|
835
|
-
# if defined _MSC_VER && _MSC_VER < 1300
|
|
836
|
-
# define GET_COMPUTER_NAME(ptr, plen) GetComputerNameW(ptr, plen)
|
|
837
|
-
# else
|
|
838
828
|
# define GET_COMPUTER_NAME(ptr, plen) GetComputerNameExW(ComputerNameDnsFullyQualified, ptr, plen)
|
|
839
|
-
# endif
|
|
840
829
|
GET_COMPUTER_NAME(NULL, &len);
|
|
841
830
|
buf = ALLOCV_N(WCHAR, vbuf, len);
|
|
842
831
|
if (GET_COMPUTER_NAME(buf, &len)) {
|
|
@@ -851,6 +840,9 @@ etc_uname(VALUE obj)
|
|
|
851
840
|
# endif
|
|
852
841
|
# ifndef PROCESSOR_ARCHITECTURE_INTEL
|
|
853
842
|
# define PROCESSOR_ARCHITECTURE_INTEL 0
|
|
843
|
+
# endif
|
|
844
|
+
# ifndef PROCESSOR_ARCHITECTURE_ARM64
|
|
845
|
+
# define PROCESSOR_ARCHITECTURE_ARM64 12
|
|
854
846
|
# endif
|
|
855
847
|
GetSystemInfo(&s);
|
|
856
848
|
switch (s.wProcessorArchitecture) {
|
|
@@ -860,6 +852,9 @@ etc_uname(VALUE obj)
|
|
|
860
852
|
case PROCESSOR_ARCHITECTURE_ARM:
|
|
861
853
|
mach = "ARM";
|
|
862
854
|
break;
|
|
855
|
+
case PROCESSOR_ARCHITECTURE_ARM64:
|
|
856
|
+
mach = "ARM64";
|
|
857
|
+
break;
|
|
863
858
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
|
864
859
|
mach = "x86";
|
|
865
860
|
break;
|
|
@@ -952,7 +947,7 @@ etc_confstr(VALUE obj, VALUE arg)
|
|
|
952
947
|
int name;
|
|
953
948
|
char localbuf[128], *buf = localbuf;
|
|
954
949
|
size_t bufsize = sizeof(localbuf), ret;
|
|
955
|
-
VALUE tmp;
|
|
950
|
+
VALUE tmp = 0, str;
|
|
956
951
|
|
|
957
952
|
name = NUM2INT(arg);
|
|
958
953
|
|
|
@@ -967,11 +962,15 @@ etc_confstr(VALUE obj, VALUE arg)
|
|
|
967
962
|
if (bufsize < ret)
|
|
968
963
|
rb_bug("required buffer size for confstr() changed dynamically.");
|
|
969
964
|
if (ret == 0) {
|
|
970
|
-
|
|
965
|
+
int e = errno;
|
|
966
|
+
ALLOCV_END(tmp);
|
|
967
|
+
if (e == 0) /* no configuration-defined value */
|
|
971
968
|
return Qnil;
|
|
972
|
-
|
|
969
|
+
rb_syserr_fail(e, "confstr");
|
|
973
970
|
}
|
|
974
|
-
|
|
971
|
+
str = rb_str_new_cstr(buf);
|
|
972
|
+
ALLOCV_END(tmp);
|
|
973
|
+
return str;
|
|
975
974
|
}
|
|
976
975
|
#else
|
|
977
976
|
#define etc_confstr rb_f_notimplement
|
|
@@ -1083,6 +1082,7 @@ etc_nprocessors_affin(void)
|
|
|
1083
1082
|
* This method is implemented using:
|
|
1084
1083
|
* - sched_getaffinity(): Linux
|
|
1085
1084
|
* - sysconf(_SC_NPROCESSORS_ONLN): GNU/Linux, NetBSD, FreeBSD, OpenBSD, DragonFly BSD, OpenIndiana, Mac OS X, AIX
|
|
1085
|
+
* - GetActiveProcessorCount(ALL_PROCESSOR_GROUPS): Windows
|
|
1086
1086
|
*
|
|
1087
1087
|
* *Example:*
|
|
1088
1088
|
*
|
|
@@ -1121,9 +1121,24 @@ etc_nprocessors(VALUE obj)
|
|
|
1121
1121
|
rb_sys_fail("sysconf(_SC_NPROCESSORS_ONLN)");
|
|
1122
1122
|
}
|
|
1123
1123
|
#else
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1124
|
+
# ifndef ALL_PROCESSOR_GROUPS
|
|
1125
|
+
# define ALL_PROCESSOR_GROUPS 0xffff
|
|
1126
|
+
# endif
|
|
1127
|
+
/* GetSystemInfo() counts the current processor group only, and mingw-w64 declares GetActiveProcessorCount() only for _WIN32_WINNT >= 0x0601 */
|
|
1128
|
+
typedef DWORD (WINAPI *GetActiveProcessorCount_t)(WORD);
|
|
1129
|
+
GetActiveProcessorCount_t pGetActiveProcessorCount =
|
|
1130
|
+
(GetActiveProcessorCount_t)GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "GetActiveProcessorCount");
|
|
1131
|
+
DWORD n = 0;
|
|
1132
|
+
|
|
1133
|
+
if (pGetActiveProcessorCount) {
|
|
1134
|
+
n = pGetActiveProcessorCount(ALL_PROCESSOR_GROUPS);
|
|
1135
|
+
}
|
|
1136
|
+
if (n == 0) {
|
|
1137
|
+
SYSTEM_INFO si;
|
|
1138
|
+
GetSystemInfo(&si);
|
|
1139
|
+
n = si.dwNumberOfProcessors;
|
|
1140
|
+
}
|
|
1141
|
+
ret = (long)n;
|
|
1127
1142
|
#endif
|
|
1128
1143
|
return LONG2NUM(ret);
|
|
1129
1144
|
}
|
|
@@ -1163,14 +1178,26 @@ Init_etc(void)
|
|
|
1163
1178
|
{
|
|
1164
1179
|
VALUE mEtc;
|
|
1165
1180
|
|
|
1166
|
-
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
|
1167
|
-
RB_EXT_RACTOR_SAFE(true);
|
|
1168
|
-
#endif
|
|
1169
1181
|
mEtc = rb_define_module("Etc");
|
|
1170
1182
|
/* The version */
|
|
1171
1183
|
rb_define_const(mEtc, "VERSION", rb_str_new_cstr(RUBY_ETC_VERSION));
|
|
1172
1184
|
init_constants(mEtc);
|
|
1173
1185
|
|
|
1186
|
+
/* Ractor-safe methods */
|
|
1187
|
+
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
|
1188
|
+
RB_EXT_RACTOR_SAFE(true);
|
|
1189
|
+
#endif
|
|
1190
|
+
rb_define_module_function(mEtc, "systmpdir", etc_systmpdir, 0);
|
|
1191
|
+
rb_define_module_function(mEtc, "uname", etc_uname, 0);
|
|
1192
|
+
rb_define_module_function(mEtc, "sysconf", etc_sysconf, 1);
|
|
1193
|
+
rb_define_module_function(mEtc, "confstr", etc_confstr, 1);
|
|
1194
|
+
rb_define_method(rb_cIO, "pathconf", io_pathconf, 1);
|
|
1195
|
+
rb_define_module_function(mEtc, "nprocessors", etc_nprocessors, 0);
|
|
1196
|
+
|
|
1197
|
+
/* Non-Ractor-safe methods, see https://bugs.ruby-lang.org/issues/21115 */
|
|
1198
|
+
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
|
1199
|
+
RB_EXT_RACTOR_SAFE(false);
|
|
1200
|
+
#endif
|
|
1174
1201
|
rb_define_module_function(mEtc, "getlogin", etc_getlogin, 0);
|
|
1175
1202
|
|
|
1176
1203
|
rb_define_module_function(mEtc, "getpwuid", etc_getpwuid, -1);
|
|
@@ -1186,13 +1213,9 @@ Init_etc(void)
|
|
|
1186
1213
|
rb_define_module_function(mEtc, "setgrent", etc_setgrent, 0);
|
|
1187
1214
|
rb_define_module_function(mEtc, "endgrent", etc_endgrent, 0);
|
|
1188
1215
|
rb_define_module_function(mEtc, "getgrent", etc_getgrent, 0);
|
|
1216
|
+
|
|
1217
|
+
/* Uses RbConfig::CONFIG so does not work in a Ractor */
|
|
1189
1218
|
rb_define_module_function(mEtc, "sysconfdir", etc_sysconfdir, 0);
|
|
1190
|
-
rb_define_module_function(mEtc, "systmpdir", etc_systmpdir, 0);
|
|
1191
|
-
rb_define_module_function(mEtc, "uname", etc_uname, 0);
|
|
1192
|
-
rb_define_module_function(mEtc, "sysconf", etc_sysconf, 1);
|
|
1193
|
-
rb_define_module_function(mEtc, "confstr", etc_confstr, 1);
|
|
1194
|
-
rb_define_method(rb_cIO, "pathconf", io_pathconf, 1);
|
|
1195
|
-
rb_define_module_function(mEtc, "nprocessors", etc_nprocessors, 0);
|
|
1196
1219
|
|
|
1197
1220
|
sPasswd = rb_struct_define_under(mEtc, "Passwd",
|
|
1198
1221
|
"name",
|
|
@@ -1303,4 +1326,8 @@ Init_etc(void)
|
|
|
1303
1326
|
rb_extend_object(sGroup, rb_mEnumerable);
|
|
1304
1327
|
rb_define_singleton_method(sGroup, "each", etc_each_group, 0);
|
|
1305
1328
|
#endif
|
|
1329
|
+
|
|
1330
|
+
#if defined(HAVE_GETPWENT) || defined(HAVE_GETGRENT)
|
|
1331
|
+
(void)safe_setup_str;
|
|
1332
|
+
#endif
|
|
1306
1333
|
}
|
data/ext/etc/extconf.rb
CHANGED
|
@@ -7,11 +7,32 @@ headers = []
|
|
|
7
7
|
headers << h
|
|
8
8
|
end
|
|
9
9
|
}
|
|
10
|
-
have_library("sun", "getpwnam") # NIS (== YP) interface for IRIX 4
|
|
11
10
|
have_func("uname((struct utsname *)NULL)", headers)
|
|
12
11
|
have_func("getlogin")
|
|
13
|
-
have_func("getpwent")
|
|
14
|
-
|
|
12
|
+
if have_func("getpwent")
|
|
13
|
+
have_struct_member('struct passwd', 'pw_gecos', 'pwd.h')
|
|
14
|
+
have_struct_member('struct passwd', 'pw_change', 'pwd.h')
|
|
15
|
+
have_struct_member('struct passwd', 'pw_quota', 'pwd.h')
|
|
16
|
+
if have_struct_member('struct passwd', 'pw_age', 'pwd.h')
|
|
17
|
+
case what_type?('struct passwd', 'pw_age', 'pwd.h')
|
|
18
|
+
when "string"
|
|
19
|
+
f = "safe_setup_str"
|
|
20
|
+
when "long long"
|
|
21
|
+
f = "LL2NUM"
|
|
22
|
+
else
|
|
23
|
+
f = "INT2NUM"
|
|
24
|
+
end
|
|
25
|
+
$defs.push("-DPW_AGE2VAL="+f)
|
|
26
|
+
end
|
|
27
|
+
have_struct_member('struct passwd', 'pw_class', 'pwd.h')
|
|
28
|
+
have_struct_member('struct passwd', 'pw_comment', 'pwd.h') unless /cygwin/ === RUBY_PLATFORM
|
|
29
|
+
have_struct_member('struct passwd', 'pw_expire', 'pwd.h')
|
|
30
|
+
have_struct_member('struct passwd', 'pw_passwd', 'pwd.h')
|
|
31
|
+
end
|
|
32
|
+
if have_func("getgrent")
|
|
33
|
+
have_struct_member('struct group', 'gr_passwd', 'grp.h')
|
|
34
|
+
end
|
|
35
|
+
|
|
15
36
|
if (sysconfdir = RbConfig::CONFIG["sysconfdir"] and
|
|
16
37
|
!RbConfig.expand(sysconfdir.dup, "prefix"=>"", "DESTDIR"=>"").empty?)
|
|
17
38
|
$defs.push("-DSYSCONFDIR=#{Shellwords.escape(sysconfdir.dump)}")
|
|
@@ -21,26 +42,6 @@ have_func("sysconf")
|
|
|
21
42
|
have_func("confstr")
|
|
22
43
|
have_func("fpathconf")
|
|
23
44
|
|
|
24
|
-
have_struct_member('struct passwd', 'pw_gecos', 'pwd.h')
|
|
25
|
-
have_struct_member('struct passwd', 'pw_change', 'pwd.h')
|
|
26
|
-
have_struct_member('struct passwd', 'pw_quota', 'pwd.h')
|
|
27
|
-
if have_struct_member('struct passwd', 'pw_age', 'pwd.h')
|
|
28
|
-
case what_type?('struct passwd', 'pw_age', 'pwd.h')
|
|
29
|
-
when "string"
|
|
30
|
-
f = "safe_setup_str"
|
|
31
|
-
when "long long"
|
|
32
|
-
f = "LL2NUM"
|
|
33
|
-
else
|
|
34
|
-
f = "INT2NUM"
|
|
35
|
-
end
|
|
36
|
-
$defs.push("-DPW_AGE2VAL="+f)
|
|
37
|
-
end
|
|
38
|
-
have_struct_member('struct passwd', 'pw_class', 'pwd.h')
|
|
39
|
-
have_struct_member('struct passwd', 'pw_comment', 'pwd.h') unless /cygwin/ === RUBY_PLATFORM
|
|
40
|
-
have_struct_member('struct passwd', 'pw_expire', 'pwd.h')
|
|
41
|
-
have_struct_member('struct passwd', 'pw_passwd', 'pwd.h')
|
|
42
|
-
have_struct_member('struct group', 'gr_passwd', 'grp.h')
|
|
43
|
-
|
|
44
45
|
# for https://github.com/ruby/etc
|
|
45
46
|
srcdir = File.expand_path("..", __FILE__)
|
|
46
47
|
constdefs = "#{srcdir}/constdefs.h"
|
|
@@ -58,7 +59,7 @@ end
|
|
|
58
59
|
# TODO: remove when dropping 2.7 support, as exported since 3.0
|
|
59
60
|
have_func('rb_deprecate_constant(Qnil, "None")')
|
|
60
61
|
|
|
61
|
-
have_func("rb_io_descriptor")
|
|
62
|
+
have_func("rb_io_descriptor", "ruby/io.h")
|
|
62
63
|
|
|
63
64
|
$distcleanfiles << "constdefs.h"
|
|
64
65
|
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
-*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
commit 041c4a0cc91ce9140cc41641f4a16016349ecf30
|
|
4
|
+
Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
5
|
+
AuthorDate: 2018-05-26 09:13:47 +0900
|
|
6
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
7
|
+
CommitDate: 2018-05-26 09:13:47 +0900
|
|
8
|
+
|
|
9
|
+
bump version to 1.0.1
|
|
10
|
+
|
|
11
|
+
commit 4a7571b310da6a40a337421412e2db6ad379d066
|
|
12
|
+
Author: k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
|
13
|
+
AuthorDate: 2018-02-27 11:12:23 +0000
|
|
14
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
15
|
+
CommitDate: 2018-05-26 08:29:39 +0900
|
|
16
|
+
|
|
17
|
+
Refactor ERB version checking for keyword arguments
|
|
18
|
+
|
|
19
|
+
Improving code like r62590. See r62529 for details.
|
|
20
|
+
|
|
21
|
+
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
22
|
+
|
|
23
|
+
commit 5903c2ff093fc176a564053aa3b6a09e7ef7b5a3
|
|
24
|
+
Author: k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
|
25
|
+
AuthorDate: 2018-02-22 13:28:25 +0000
|
|
26
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
27
|
+
CommitDate: 2018-05-26 08:29:15 +0900
|
|
28
|
+
|
|
29
|
+
erb.rb: deprecate safe_level of ERB.new
|
|
30
|
+
|
|
31
|
+
Also, as it's in the middle of the list of 4 arguments, 3rd and 4th arguments
|
|
32
|
+
(trim_mode, eoutvar) are changed to keyword arguments.
|
|
33
|
+
Old ways to specify arguments are deprecated and warned now.
|
|
34
|
+
|
|
35
|
+
bin/erb: deprecate -S option.
|
|
36
|
+
|
|
37
|
+
We'll remove all of deprecated ones at Ruby 2.7+.
|
|
38
|
+
|
|
39
|
+
enc/make_encmake.rb: stopped using deprecated interface
|
|
40
|
+
ext/etc/mkconstants.rb: ditto
|
|
41
|
+
ext/socket/mkconstants.rb: ditto
|
|
42
|
+
sample/ripper/ruby2html.rb: ditto
|
|
43
|
+
spec/ruby/library/erb/defmethod/def_erb_method_spec.rb: ditto
|
|
44
|
+
spec/ruby/library/erb/new_spec.rb: ditto
|
|
45
|
+
test/erb/test_erb.rb: ditto
|
|
46
|
+
test/erb/test_erb_command.rb: ditto
|
|
47
|
+
tool/generic_erb.rb: ditto
|
|
48
|
+
tool/ruby_vm/helpers/dumper.rb: ditto
|
|
49
|
+
tool/transcode-tblgen.rb: ditto
|
|
50
|
+
lib/rdoc/erbio.rb: ditto
|
|
51
|
+
lib/rdoc/generator/darkfish.rb: ditto
|
|
52
|
+
|
|
53
|
+
[Feature #14256]
|
|
54
|
+
|
|
55
|
+
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
56
|
+
|
|
57
|
+
commit 16aba3206fb5335638f40d0a3969bf93e73af64b
|
|
58
|
+
Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
59
|
+
AuthorDate: 2018-01-05 09:23:48 +0900
|
|
60
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
61
|
+
CommitDate: 2018-01-05 09:23:48 +0900
|
|
62
|
+
|
|
63
|
+
Fixed installation error with standalone gem.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
-*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
commit 78987ce56a489cb7ee82595c8354469f712195ce
|
|
4
|
+
Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
5
|
+
AuthorDate: 2019-11-30 18:03:57 +0900
|
|
6
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
7
|
+
CommitDate: 2019-11-30 18:03:57 +0900
|
|
8
|
+
|
|
9
|
+
Bump version to 1.1.0
|
|
10
|
+
|
|
11
|
+
commit b6a02c1193c0bfb89b71fdfe3fe9b282e61465cd
|
|
12
|
+
Author: Jeremy Evans <code@jeremyevans.net>
|
|
13
|
+
AuthorDate: 2019-10-18 12:10:03 -0700
|
|
14
|
+
Commit: Jeremy Evans <code@jeremyevans.net>
|
|
15
|
+
CommitDate: 2019-10-30 13:49:52 -0700
|
|
16
|
+
|
|
17
|
+
Remove taint support
|
|
18
|
+
|
|
19
|
+
Ruby 2.7 deprecates taint and it no longer has an effect.
|
|
20
|
+
The lack of taint support should not cause a problem in
|
|
21
|
+
previous Ruby versions.
|
|
22
|
+
|
|
23
|
+
Still untaint the tmpdir object on Ruby <2.7, as returning
|
|
24
|
+
a tainted string there could cause problems.
|
|
25
|
+
|
|
26
|
+
commit 5157aeaa08b60561a036d7c8269a514430cdd16f
|
|
27
|
+
Author: 卜部昌平 <shyouhei@ruby-lang.org>
|
|
28
|
+
AuthorDate: 2019-08-28 17:48:48 +0900
|
|
29
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
30
|
+
CommitDate: 2019-10-26 06:55:50 +0900
|
|
31
|
+
|
|
32
|
+
drop-in type check for rb_define_module_function
|
|
33
|
+
|
|
34
|
+
We can check the function pointer passed to rb_define_module_function
|
|
35
|
+
like how we do so in rb_define_method. The difference is that this
|
|
36
|
+
changeset reveales lots of atiry mismatches.
|
|
37
|
+
|
|
38
|
+
commit 8c93da18680cd1421cb52cd9b15aeb2b593cdb02
|
|
39
|
+
Author: 卜部昌平 <shyouhei@ruby-lang.org>
|
|
40
|
+
AuthorDate: 2019-08-26 15:20:15 +0900
|
|
41
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
42
|
+
CommitDate: 2019-10-26 06:55:33 +0900
|
|
43
|
+
|
|
44
|
+
rb_ensure now free from ANYARGS
|
|
45
|
+
|
|
46
|
+
After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is
|
|
47
|
+
dangerous and should be extinct. This commit deletes ANYARGS from
|
|
48
|
+
rb_ensure, which also revealed many arity / type mismatches.
|
|
49
|
+
|
|
50
|
+
commit 941b2e47a5511bfcb306fe24c021e5cf2b5f8eed
|
|
51
|
+
Author: hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
|
52
|
+
AuthorDate: 2018-10-20 10:30:42 +0000
|
|
53
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
54
|
+
CommitDate: 2019-10-26 06:55:15 +0900
|
|
55
|
+
|
|
56
|
+
Retry r65211.
|
|
57
|
+
|
|
58
|
+
* Maybe, RbConfig.ruby only provides after Ruby installation.
|
|
59
|
+
|
|
60
|
+
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
61
|
+
|
|
62
|
+
commit b344460f8fc13cb3c71780e997582df2431bccfb
|
|
63
|
+
Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
|
|
64
|
+
AuthorDate: 2019-06-19 21:06:57 +1200
|
|
65
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
66
|
+
CommitDate: 2019-07-12 10:39:00 +0900
|
|
67
|
+
|
|
68
|
+
Remove IA64 support.
|
|
69
|
+
|
|
70
|
+
commit e9a48c774672a1bb5de5905aa7b5ac2becf895c3
|
|
71
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
72
|
+
AuthorDate: 2019-07-10 12:27:25 +0900
|
|
73
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
74
|
+
CommitDate: 2019-07-10 12:27:25 +0900
|
|
75
|
+
|
|
76
|
+
Update binary versions
|
|
77
|
+
|
|
78
|
+
commit f622b5a6ae2939af0338b043aca90ffd335fa90d
|
|
79
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
80
|
+
AuthorDate: 2019-07-10 10:51:24 +0900
|
|
81
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
82
|
+
CommitDate: 2019-07-10 10:55:21 +0900
|
|
83
|
+
|
|
84
|
+
Make constdefs.h with rake
|
|
85
|
+
|
|
86
|
+
`RbConfig.ruby` is not runnable but the target platform binary
|
|
87
|
+
when cross-compiling in rake-compiler-dock.
|
|
88
|
+
|
|
89
|
+
commit e1674c18f5a0faf881b362363f428d139baef3b4
|
|
90
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
91
|
+
AuthorDate: 2019-07-10 10:50:29 +0900
|
|
92
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
93
|
+
CommitDate: 2019-07-10 10:51:01 +0900
|
|
94
|
+
|
|
95
|
+
Added build:mingw
|
|
96
|
+
|
|
97
|
+
commit 4f791590d95a410d4225b71f35b27d0f14dc2acd
|
|
98
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
99
|
+
AuthorDate: 2019-07-10 10:44:10 +0900
|
|
100
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
101
|
+
CommitDate: 2019-07-10 10:44:10 +0900
|
|
102
|
+
|
|
103
|
+
Added Etc::VERSION
|
|
104
|
+
|
|
105
|
+
commit 37bf414e7031e77eea82f0a72d461a6c09383797
|
|
106
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
107
|
+
AuthorDate: 2019-07-10 10:42:45 +0900
|
|
108
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
109
|
+
CommitDate: 2019-07-10 10:42:45 +0900
|
|
110
|
+
|
|
111
|
+
Unnecessary files for gem packages
|
|
112
|
+
|
|
113
|
+
commit 63da66202ff93060f6fc2fb92e257809d59661e5
|
|
114
|
+
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
115
|
+
AuthorDate: 2019-07-10 08:22:37 +0900
|
|
116
|
+
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
117
|
+
CommitDate: 2019-07-10 08:22:37 +0900
|
|
118
|
+
|
|
119
|
+
Removed unused files
|
|
120
|
+
|
|
121
|
+
commit f1fad5e4ae6e5eadd4d7a9a9d9e8868f18acbef8
|
|
122
|
+
Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
123
|
+
AuthorDate: 2018-10-20 19:26:59 +0900
|
|
124
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
125
|
+
CommitDate: 2018-10-20 19:26:59 +0900
|
|
126
|
+
|
|
127
|
+
Prefer to use File.exist?
|
|
128
|
+
|
|
129
|
+
commit 07ab6655d07c5b9cd5f115e5ebe449c90777b349
|
|
130
|
+
Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
131
|
+
AuthorDate: 2018-10-20 19:26:00 +0900
|
|
132
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
133
|
+
CommitDate: 2018-10-20 19:26:00 +0900
|
|
134
|
+
|
|
135
|
+
Use `depend` file insted of dependency target file.
|
|
136
|
+
|
|
137
|
+
commit 5a9187a647db1a11588082e63607edcc975a9170
|
|
138
|
+
Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
139
|
+
AuthorDate: 2018-10-20 16:37:05 +0900
|
|
140
|
+
Commit: SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
|
141
|
+
CommitDate: 2018-10-20 16:37:05 +0900
|
|
142
|
+
|
|
143
|
+
Added comments for constdefs.h.
|