From 6b2dd3d7a9a39221be8df0ef93f310ef39aac0cf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 01:45:54 +0000 Subject: [PATCH 01/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 77effa9..88b5d06 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.6.2 -Release: 200%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -131,6 +131,9 @@ popd %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 2.6.2-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed May 18 2022 Mamoru TASAKA - 2.6.2-200 - 2.6.2 From 4b7cbd8196cc7af5106c8f909ac49a16fcc4c927 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 5 Oct 2022 10:12:35 +0900 Subject: [PATCH 02/37] Remove no longer needed recompilation --- rubygem-json.spec | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 88b5d06..8a7ace0 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.6.2 -Release: 201%{?dist} +Release: 202%{?dist} Summary: A JSON implementation in Ruby @@ -53,14 +53,6 @@ gem build %{gem_name}-%{version}.gemspec find . -name \*gem -exec chmod 0644 {} \; -# compile again -pushd .%{gem_instdir} -find . -name extconf.rb | while read f -do - make -C $(dirname $f) clean all install -done -popd - # remove pure rm -fr .%{gem_instdir}/lib/json/pure* @@ -131,6 +123,9 @@ popd %changelog +* Wed Oct 5 2022 Mamoru TASAKA - 2.6.2-202 +- Remove no longer needed recompilation + * Sat Jul 23 2022 Fedora Release Engineering - 2.6.2-201 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 3443b995369069dee9bef824fa7125dcd4fcc7a7 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 5 Dec 2022 21:37:01 +0900 Subject: [PATCH 03/37] 2.6.3 --- rubygem-json.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 8a7ace0..6d2d968 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,8 +1,8 @@ %global gem_name json Name: rubygem-%{gem_name} -Version: 2.6.2 -Release: 202%{?dist} +Version: 2.6.3 +Release: 200%{?dist} Summary: A JSON implementation in Ruby @@ -123,6 +123,9 @@ popd %changelog +* Mon Dec 5 2022 Mamoru TASAKA - 2.6.3-200 +- 2.6.3 + * Wed Oct 5 2022 Mamoru TASAKA - 2.6.2-202 - Remove no longer needed recompilation diff --git a/sources b/sources index b720b84..383e6c6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.6.2.gem) = 4b0ac453d16436747ec6fe9ec777e7de84c78f0993d443f5ad0ca201e795b6ded4e2883aba52560676467736fe7f7e18bddb3dfc4be941a2b08fddaa79988530 -SHA512 (rubygem-json-2.6.2-missing-files.tar.gz) = 2dc0f199faea589998ca7d44a83cade045f8f939deca1a367529d564328747b5e3829bd6cd156efcf48a1e431658664665811128cb6240b2ce191c390a07b5eb +SHA512 (json-2.6.3.gem) = 10795b67403b03bf0780f9a34f3f1dd59cb797380bc28e8176890502b18fc064ad775b1472856400a1f75a75346fab1e9f63f799b6685d10363495c6a36b6911 +SHA512 (rubygem-json-2.6.3-missing-files.tar.gz) = 2819ff7450fac8d419c7ba731c216859417befa45feb4d768d5c5d802bed8cc58e2ce025b59928e05bb87d25a4b002bc62ebbe8b84e3aab9ce5e8e401b2e8698 From 5b4a293350e5852c1993033a525a570e7014ad64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 3 Jan 2023 15:14:07 +0100 Subject: [PATCH 04/37] Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.2 --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 6d2d968..8886bc7 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.6.3 -Release: 200%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -123,6 +123,9 @@ popd %changelog +* Tue Jan 03 2023 Vít Ondruch - 2.6.3-201 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.2 + * Mon Dec 5 2022 Mamoru TASAKA - 2.6.3-200 - 2.6.3 From fa12433854c4de0293886b42e11d46cbb20a06e2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 20:38:28 +0000 Subject: [PATCH 05/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 8886bc7..af11690 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.6.3 -Release: 201%{?dist} +Release: 202%{?dist} Summary: A JSON implementation in Ruby @@ -123,6 +123,9 @@ popd %changelog +* Fri Jan 20 2023 Fedora Release Engineering - 2.6.3-202 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Jan 03 2023 Vít Ondruch - 2.6.3-201 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.2 From 61329c7fa16b13c71499a2792fc8b3f371a9a59b Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 21 Apr 2023 10:23:43 +0900 Subject: [PATCH 06/37] SPDX migration --- rubygem-json.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index af11690..eddf8b6 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,11 +2,12 @@ Name: rubygem-%{gem_name} Version: 2.6.3 -Release: 202%{?dist} +Release: 203%{?dist} Summary: A JSON implementation in Ruby -License: Ruby or BSD +# SPDX confirmed +License: Ruby OR BSD-2-Clause URL: https://github.com/flori/json Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Source1: rubygem-%{gem_name}-%{version}-missing-files.tar.gz @@ -123,6 +124,9 @@ popd %changelog +* Fri Apr 21 2023 Mamoru TASAKA - 2.6.3-203 +- SPDX migration + * Fri Jan 20 2023 Fedora Release Engineering - 2.6.3-202 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 8b31707258da5a6b7c0fd9febd0c4704a89399aa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 17:50:17 +0000 Subject: [PATCH 07/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index eddf8b6..0823c6b 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.6.3 -Release: 203%{?dist} +Release: 204%{?dist} Summary: A JSON implementation in Ruby @@ -124,6 +124,9 @@ popd %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 2.6.3-204 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Apr 21 2023 Mamoru TASAKA - 2.6.3-203 - SPDX migration From 38b30f2a8fc767cab4f3fde50d217b4aa2387cce Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 1 Dec 2023 21:04:20 +0900 Subject: [PATCH 08/37] 2.7.0 --- rubygem-json.spec | 8 ++++++-- sources | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 0823c6b..bbfbb7e 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,8 +1,8 @@ %global gem_name json Name: rubygem-%{gem_name} -Version: 2.6.3 -Release: 204%{?dist} +Version: 2.7.0 +Release: 200%{?dist} Summary: A JSON implementation in Ruby @@ -20,6 +20,7 @@ BuildRequires: ruby-devel BuildRequires: rubygems-devel BuildRequires: rubygem(rake) BuildRequires: rubygem(bigdecimal) +BuildRequires: rubygem(test-unit-ruby-core) BuildRequires: rubygem(test-unit) Obsoletes: rubygem-%{gem_name}-gui < %{version} @@ -124,6 +125,9 @@ popd %changelog +* Fri Dec 1 2023 Mamoru TASAKA - 2.7.0-200 +- 2.7.0 + * Fri Jul 21 2023 Fedora Release Engineering - 2.6.3-204 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 383e6c6..7c07cb6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.6.3.gem) = 10795b67403b03bf0780f9a34f3f1dd59cb797380bc28e8176890502b18fc064ad775b1472856400a1f75a75346fab1e9f63f799b6685d10363495c6a36b6911 -SHA512 (rubygem-json-2.6.3-missing-files.tar.gz) = 2819ff7450fac8d419c7ba731c216859417befa45feb4d768d5c5d802bed8cc58e2ce025b59928e05bb87d25a4b002bc62ebbe8b84e3aab9ce5e8e401b2e8698 +SHA512 (json-2.7.0.gem) = 88b2aec93197764e47e27435112d4d3b6e7437c0b48fe2848a62fb637c4f356ad28d8ecbf9ba194bac5e567ec743cdebb3b15b91bcbd0788f3e417414c751218 +SHA512 (rubygem-json-2.7.0-missing-files.tar.gz) = 4b5d137248b0bbce99eb7832bab6267b13a18826e0fd1672de26d29739f6d72c9c58e9379c9f951c6ea0e1b99cf2cb07c0c448b7fde84d52312daef2d538c775 From 5dd82983bd195c2178a55a4217bfb0832d2646e0 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 3 Dec 2023 16:44:59 +0900 Subject: [PATCH 09/37] Backport upstream patch for JSON.dump regression for hash --- ...-pr554-JSON_dump-hash-regression-fix.patch | 64 +++++++++++++++++++ rubygem-json.spec | 13 +++- 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 json-pr554-JSON_dump-hash-regression-fix.patch diff --git a/json-pr554-JSON_dump-hash-regression-fix.patch b/json-pr554-JSON_dump-hash-regression-fix.patch new file mode 100644 index 0000000..9da187e --- /dev/null +++ b/json-pr554-JSON_dump-hash-regression-fix.patch @@ -0,0 +1,64 @@ +From 8e0076a3f2f8a7277e659607ab195845ce505a01 Mon Sep 17 00:00:00 2001 +From: Jean Boussier +Date: Fri, 1 Dec 2023 11:46:16 +0100 +Subject: [PATCH] JSON.dump: handle unenclosed hashes regression + +Fix: https://github.com/flori/json/issues/553 + +We can never add keyword arguments to `dump` otherwise +existing code using unenclosed hash will break. +--- + lib/json/common.rb | 10 ++++++++-- + tests/json_generator_test.rb | 4 ++++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/lib/json/common.rb b/lib/json/common.rb +index 53b66a9b..f51f02d4 100644 +--- a/lib/json/common.rb ++++ b/lib/json/common.rb +@@ -611,7 +611,7 @@ class << self + # puts File.read(path) + # Output: + # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} +- def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) ++ def dump(obj, anIO = nil, limit = nil, kwargs = nil) + if anIO and limit.nil? + anIO = anIO.to_io if anIO.respond_to?(:to_io) + unless anIO.respond_to?(:write) +@@ -621,7 +621,7 @@ def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) + end + opts = JSON.dump_default_options + opts = opts.merge(:max_nesting => limit) if limit +- opts[:strict] = strict if NOT_SET != strict ++ merge_dump_options(opts, **kwargs) if kwargs + result = generate(obj, opts) + if anIO + anIO.write result +@@ -637,6 +637,12 @@ def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) + def self.iconv(to, from, string) + string.encode(to, from) + end ++ ++ private ++ ++ def merge_dump_options(opts, strict: NOT_SET) ++ opts[:strict] = strict if NOT_SET != strict ++ end + end + + module ::Kernel +diff --git a/tests/json_generator_test.rb b/tests/json_generator_test.rb +index 46cbf9c7..0ce51423 100755 +--- a/tests/json_generator_test.rb ++++ b/tests/json_generator_test.rb +@@ -62,6 +62,10 @@ def test_generate + assert_equal '666', generate(666) + end + ++ def test_dump_unenclosed_hash ++ assert_equal '{"a":1,"b":2}', dump(a: 1, b: 2) ++ end ++ + def test_generate_pretty + json = pretty_generate({}) + assert_equal(<<'EOT'.chomp, json) diff --git a/rubygem-json.spec b/rubygem-json.spec index bbfbb7e..58bed80 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.0 -Release: 200%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -13,6 +13,9 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Source1: rubygem-%{gem_name}-%{version}-missing-files.tar.gz # Source1 is created by $ %%SOURCE2 v%%version Source2: json-create-tarball-missing-files.sh +# https://github.com/flori/json/pull/554 +Patch0: json-pr554-JSON_dump-hash-regression-fix.patch + BuildRequires: gcc BuildRequires: ruby(release) @@ -44,8 +47,11 @@ This package contains documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} -a 1 +mv ./%{gem_name}-%{version}/tests . mv ../%{gem_name}-%{version}.gemspec . +%patch -P0 -p1 + # Change cflags to honor Fedora compiler flags correctly find . -name extconf.rb | xargs sed -i -e 's|-O3|-O2|' -e 's|-O0|-O2|' @@ -88,7 +94,7 @@ popd %check rm -rf .%{gem_instdir}/tests -cp -a ./%{gem_name}-%{version}/tests .%{gem_instdir}/ +cp -a ./tests .%{gem_instdir}/ pushd .%{gem_instdir} ruby -Ilib:tests:tests/lib:$RPM_BUILD_ROOT%{gem_extdir_mri}:. \ @@ -125,6 +131,9 @@ popd %changelog +* Sun Dec 3 2023 Mamoru TASAKA - 2.7.0-201 +- Backport upstream patch for JSON.dump regression for hash + * Fri Dec 1 2023 Mamoru TASAKA - 2.7.0-200 - 2.7.0 From 4827cf8b4e0b9a5577f1cee3a3cc8382e72a979d Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Tue, 5 Dec 2023 15:57:45 +0900 Subject: [PATCH 10/37] 2.7.1 --- ...-pr554-JSON_dump-hash-regression-fix.patch | 64 ------------------- sources | 4 +- 2 files changed, 2 insertions(+), 66 deletions(-) delete mode 100644 json-pr554-JSON_dump-hash-regression-fix.patch diff --git a/json-pr554-JSON_dump-hash-regression-fix.patch b/json-pr554-JSON_dump-hash-regression-fix.patch deleted file mode 100644 index 9da187e..0000000 --- a/json-pr554-JSON_dump-hash-regression-fix.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 8e0076a3f2f8a7277e659607ab195845ce505a01 Mon Sep 17 00:00:00 2001 -From: Jean Boussier -Date: Fri, 1 Dec 2023 11:46:16 +0100 -Subject: [PATCH] JSON.dump: handle unenclosed hashes regression - -Fix: https://github.com/flori/json/issues/553 - -We can never add keyword arguments to `dump` otherwise -existing code using unenclosed hash will break. ---- - lib/json/common.rb | 10 ++++++++-- - tests/json_generator_test.rb | 4 ++++ - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/lib/json/common.rb b/lib/json/common.rb -index 53b66a9b..f51f02d4 100644 ---- a/lib/json/common.rb -+++ b/lib/json/common.rb -@@ -611,7 +611,7 @@ class << self - # puts File.read(path) - # Output: - # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} -- def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) -+ def dump(obj, anIO = nil, limit = nil, kwargs = nil) - if anIO and limit.nil? - anIO = anIO.to_io if anIO.respond_to?(:to_io) - unless anIO.respond_to?(:write) -@@ -621,7 +621,7 @@ def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) - end - opts = JSON.dump_default_options - opts = opts.merge(:max_nesting => limit) if limit -- opts[:strict] = strict if NOT_SET != strict -+ merge_dump_options(opts, **kwargs) if kwargs - result = generate(obj, opts) - if anIO - anIO.write result -@@ -637,6 +637,12 @@ def dump(obj, anIO = nil, limit = nil, strict: NOT_SET) - def self.iconv(to, from, string) - string.encode(to, from) - end -+ -+ private -+ -+ def merge_dump_options(opts, strict: NOT_SET) -+ opts[:strict] = strict if NOT_SET != strict -+ end - end - - module ::Kernel -diff --git a/tests/json_generator_test.rb b/tests/json_generator_test.rb -index 46cbf9c7..0ce51423 100755 ---- a/tests/json_generator_test.rb -+++ b/tests/json_generator_test.rb -@@ -62,6 +62,10 @@ def test_generate - assert_equal '666', generate(666) - end - -+ def test_dump_unenclosed_hash -+ assert_equal '{"a":1,"b":2}', dump(a: 1, b: 2) -+ end -+ - def test_generate_pretty - json = pretty_generate({}) - assert_equal(<<'EOT'.chomp, json) diff --git a/sources b/sources index 7c07cb6..2fe97d4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.7.0.gem) = 88b2aec93197764e47e27435112d4d3b6e7437c0b48fe2848a62fb637c4f356ad28d8ecbf9ba194bac5e567ec743cdebb3b15b91bcbd0788f3e417414c751218 -SHA512 (rubygem-json-2.7.0-missing-files.tar.gz) = 4b5d137248b0bbce99eb7832bab6267b13a18826e0fd1672de26d29739f6d72c9c58e9379c9f951c6ea0e1b99cf2cb07c0c448b7fde84d52312daef2d538c775 +SHA512 (json-2.7.1.gem) = c0f79f86b2550c8d4d985b2fec1d72eb16a9771ec3666ce1bc44557df3127d2ed3190d032e8644837e04fb54729be9235ec70bb498718f8cd381b937320fcde7 +SHA512 (rubygem-json-2.7.1-missing-files.tar.gz) = 25454bf4e31a95f604047ebf0090b3573c3a6c7f795235dbce463588aecdcac10aa328311edbf668a158dc9c113ffb11c973ca7b425576eeba66363982f6df36 From 3f40479a0cf43ddedf84f3abaf158f5385399a34 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 7 Dec 2023 10:54:02 +0900 Subject: [PATCH 11/37] actually commit spec file --- rubygem-json.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 58bed80..78d6d24 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,8 +1,8 @@ %global gem_name json Name: rubygem-%{gem_name} -Version: 2.7.0 -Release: 201%{?dist} +Version: 2.7.1 +Release: 200%{?dist} Summary: A JSON implementation in Ruby @@ -13,8 +13,6 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Source1: rubygem-%{gem_name}-%{version}-missing-files.tar.gz # Source1 is created by $ %%SOURCE2 v%%version Source2: json-create-tarball-missing-files.sh -# https://github.com/flori/json/pull/554 -Patch0: json-pr554-JSON_dump-hash-regression-fix.patch BuildRequires: gcc @@ -50,8 +48,6 @@ This package contains documentation for %{name}. mv ./%{gem_name}-%{version}/tests . mv ../%{gem_name}-%{version}.gemspec . -%patch -P0 -p1 - # Change cflags to honor Fedora compiler flags correctly find . -name extconf.rb | xargs sed -i -e 's|-O3|-O2|' -e 's|-O0|-O2|' @@ -110,7 +106,6 @@ popd %doc %{gem_instdir}/CHANGES.md %license %{gem_instdir}/LICENSE %doc %{gem_instdir}/README.md -%doc %{gem_instdir}/VERSION %{gem_libdir}/%{gem_name}.rb %{gem_libdir}/%{gem_name}/add @@ -131,6 +126,9 @@ popd %changelog +* Tue Dec 5 2023 Mamoru TASAKA - 2.7.1-200 +- 2.7.1 + * Sun Dec 3 2023 Mamoru TASAKA - 2.7.0-201 - Backport upstream patch for JSON.dump regression for hash From 555a5d9ee3ec256ea4390a73c48cbc31b3362407 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 3 Jan 2024 19:53:55 +0900 Subject: [PATCH 12/37] rebuild for ruby33 --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 78d6d24..c5a60d8 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.1 -Release: 200%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -126,6 +126,9 @@ popd %changelog +* Wed Jan 03 2024 Mamoru TASAKA - 2.7.1-201 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 + * Tue Dec 5 2023 Mamoru TASAKA - 2.7.1-200 - 2.7.1 From 919ab8e702c989ff97617dc3706416aa51630be3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 13:04:44 +0000 Subject: [PATCH 13/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index c5a60d8..40ed665 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.1 -Release: 201%{?dist} +Release: 202%{?dist} Summary: A JSON implementation in Ruby @@ -126,6 +126,9 @@ popd %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 2.7.1-202 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jan 03 2024 Mamoru TASAKA - 2.7.1-201 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 From 77cc0128a8102647c25c90b84217d2a45c04aedb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 17:01:25 +0000 Subject: [PATCH 14/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 40ed665..3906911 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.1 -Release: 202%{?dist} +Release: 203%{?dist} Summary: A JSON implementation in Ruby @@ -126,6 +126,9 @@ popd %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 2.7.1-203 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 2.7.1-202 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 919ebd95804d5f4ddd4a3ad9778c5169661313b2 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sat, 4 May 2024 16:01:33 +0900 Subject: [PATCH 15/37] 2.7.2 --- rubygem-json.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 3906911..798377c 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,8 +1,8 @@ %global gem_name json Name: rubygem-%{gem_name} -Version: 2.7.1 -Release: 203%{?dist} +Version: 2.7.2 +Release: 200%{?dist} Summary: A JSON implementation in Ruby @@ -126,6 +126,9 @@ popd %changelog +* Thu Apr 04 2024 Mamoru TASAKA - 2.7.2-200 +- 2.7.2 + * Fri Jan 26 2024 Fedora Release Engineering - 2.7.1-203 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 2fe97d4..9092219 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.7.1.gem) = c0f79f86b2550c8d4d985b2fec1d72eb16a9771ec3666ce1bc44557df3127d2ed3190d032e8644837e04fb54729be9235ec70bb498718f8cd381b937320fcde7 -SHA512 (rubygem-json-2.7.1-missing-files.tar.gz) = 25454bf4e31a95f604047ebf0090b3573c3a6c7f795235dbce463588aecdcac10aa328311edbf668a158dc9c113ffb11c973ca7b425576eeba66363982f6df36 +SHA512 (json-2.7.2.gem) = 99859ae93a19eca623011bf79136753f8c9c77e6ee809e9a978fec35614248644ebbfc20cfb870fac601b4403f1db6f54bbb32e9cd843207306c23f4beaa494b +SHA512 (rubygem-json-2.7.2-missing-files.tar.gz) = 89ba1d5143b209fb69d4cf1691875c00aedf69333fac145808a389a937f4bfd2a351315f657e54370497bde1087250fabb5af24fb5e25d31f7d80179845d067a From 8ad934d40805e8bee52b54ca044e36c98dab05e5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 19:29:32 +0000 Subject: [PATCH 16/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 798377c..196d8be 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.2 -Release: 200%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -126,6 +126,9 @@ popd %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 2.7.2-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Thu Apr 04 2024 Mamoru TASAKA - 2.7.2-200 - 2.7.2 From be45e5fe7dbeb96e895828d1cb01e7297f3f933e Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 1 Nov 2024 11:24:49 +0900 Subject: [PATCH 17/37] 2.7.5 --- json-create-tarball-missing-files.sh | 2 +- rubygem-json.spec | 27 +++++++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/json-create-tarball-missing-files.sh b/json-create-tarball-missing-files.sh index 8e41f98..b9a26ef 100644 --- a/json-create-tarball-missing-files.sh +++ b/json-create-tarball-missing-files.sh @@ -25,7 +25,7 @@ popd ln -sf ${NAME} ${NAME}-${VERSION} tar czf ${CURRDIR}/rubygem-${NAME}-${VERSION}-missing-files.tar.gz \ - ${NAME}-${VERSION}/./tests/ + ${NAME}-${VERSION}/./test/ popd diff --git a/rubygem-json.spec b/rubygem-json.spec index 196d8be..3ca9a7c 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,8 +1,8 @@ %global gem_name json Name: rubygem-%{gem_name} -Version: 2.7.2 -Release: 201%{?dist} +Version: 2.7.5 +Release: 199%{?dist} Summary: A JSON implementation in Ruby @@ -45,7 +45,7 @@ This package contains documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} -a 1 -mv ./%{gem_name}-%{version}/tests . +mv ./%{gem_name}-%{version}/test . mv ../%{gem_name}-%{version}.gemspec . # Change cflags to honor Fedora compiler flags correctly @@ -82,19 +82,18 @@ rm -rf \ %{gem_name}.gemspec \ Gemfile \ ext \ - lib/json/ext \ java \ - tests \ + test \ %{nil} popd %check -rm -rf .%{gem_instdir}/tests -cp -a ./tests .%{gem_instdir}/ +rm -rf .%{gem_instdir}/test +cp -a ./test .%{gem_instdir}/ pushd .%{gem_instdir} -ruby -Ilib:tests:tests/lib:$RPM_BUILD_ROOT%{gem_extdir_mri}:. \ - -e "gem 'test-unit'; require 'helper' ; Dir.glob('tests/test_*.rb').sort.each {|f| require f}" +ruby -Ilib:test:test/json:$RPM_BUILD_ROOT%{gem_extdir_mri}:. \ + -e "gem 'test-unit'; require 'test_helper' ; Dir.glob('test/json/*_test.rb').sort.each {|f| require f}" popd @@ -103,14 +102,19 @@ popd %dir %{gem_libdir} %dir %{gem_libdir}/%{gem_name} +%license %{gem_instdir}/BSDL +%license %{gem_instdir}/COPYING +%license %{gem_instdir}/LEGAL %doc %{gem_instdir}/CHANGES.md -%license %{gem_instdir}/LICENSE %doc %{gem_instdir}/README.md %{gem_libdir}/%{gem_name}.rb %{gem_libdir}/%{gem_name}/add %{gem_libdir}/%{gem_name}/common.rb %{gem_libdir}/%{gem_name}/ext.rb +%dir %{gem_libdir}/%{gem_name}/ext +%dir %{gem_libdir}/%{gem_name}/ext/generator/ +%{gem_libdir}/%{gem_name}/ext/generator/*.rb %{gem_libdir}/%{gem_name}/version.rb %{gem_libdir}/%{gem_name}/generic_object.rb @@ -126,6 +130,9 @@ popd %changelog +* Wed Oct 30 2024 Mamoru TASAKA - 2.7.5-199 +- 2.7.5 + * Fri Jul 19 2024 Fedora Release Engineering - 2.7.2-201 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 09418b54d35ae4a74de25165fe76c0e012ea2def Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 1 Nov 2024 19:27:41 +0900 Subject: [PATCH 18/37] apply upstream patch for JSON generator behavior --- json-pr668-json-generate-to_json.patch | 196 +++++++++++++++++++++++++ rubygem-json.spec | 13 +- 2 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 json-pr668-json-generate-to_json.patch diff --git a/json-pr668-json-generate-to_json.patch b/json-pr668-json-generate-to_json.patch new file mode 100644 index 0000000..2ff7a3c --- /dev/null +++ b/json-pr668-json-generate-to_json.patch @@ -0,0 +1,196 @@ +From 045e58d8310890c43bf48a3b9ed6062b781b52c2 Mon Sep 17 00:00:00 2001 +From: Jean Boussier +Date: Thu, 31 Oct 2024 08:52:19 +0100 +Subject: [PATCH] JSON.generate: call to_json on String subclasses + +Fix: https://github.com/ruby/json/issues/667 + +This is yet another behavior on which the various implementations +differed, but the C implementation used to call `to_json` on String +subclasses used as keys. + +This was optimized out in e125072130229e54a651f7b11d7d5a782ae7fb65 +but there is an Active Support test case for it, so it's best to +make all 3 implementation respect this behavior. +--- + CHANGES.md | 2 ++ + ext/json/ext/fbuffer/fbuffer.h | 4 +++ + ext/json/ext/generator/generator.c | 6 +++- + java/src/json/ext/Generator.java | 9 +++++- + lib/json/pure/generator.rb | 33 +++++++++++++++----- + test/json/json_generator_test.rb | 50 ++++++++++++++++++++++++++++++ + 6 files changed, 95 insertions(+), 9 deletions(-) + +diff --git a/CHANGES.md b/CHANGES.md +index 667958ea..1cab01ee 100644 +--- a/CHANGES.md ++++ b/CHANGES.md +@@ -1,5 +1,7 @@ + # Changes + ++* Fix a regression in JSON.generate when dealing with Hash keys that are string subclasses, call `to_json` on them. ++ + ### 2024-10-25 (2.7.5) + + * Fix a memory leak when `#to_json` methods raise an exception. +diff --git a/ext/json/ext/fbuffer/fbuffer.h b/ext/json/ext/fbuffer/fbuffer.h +index 76bd6ce1..4c62aa36 100644 +--- a/ext/json/ext/fbuffer/fbuffer.h ++++ b/ext/json/ext/fbuffer/fbuffer.h +@@ -36,6 +36,10 @@ static VALUE fbuffer_to_s(FBuffer *fb); + #define RB_UNLIKELY(expr) expr + #endif + ++#ifndef RB_LIKELY ++#define RB_LIKELY(expr) expr ++#endif ++ + static FBuffer *fbuffer_alloc(unsigned long initial_length) + { + FBuffer *fb; +diff --git a/ext/json/ext/generator/generator.c b/ext/json/ext/generator/generator.c +index ca48e0f1..ca9f1a9c 100644 +--- a/ext/json/ext/generator/generator.c ++++ b/ext/json/ext/generator/generator.c +@@ -678,7 +678,11 @@ json_object_i(VALUE key, VALUE val, VALUE _arg) + break; + } + +- generate_json_string(buffer, Vstate, state, key_to_s); ++ if (RB_LIKELY(RBASIC_CLASS(key_to_s) == rb_cString)) { ++ generate_json_string(buffer, Vstate, state, key_to_s); ++ } else { ++ generate_json(buffer, Vstate, state, key_to_s); ++ } + if (RB_UNLIKELY(state->space_before)) fbuffer_append(buffer, state->space_before, state->space_before_len); + fbuffer_append_char(buffer, ':'); + if (RB_UNLIKELY(state->space)) fbuffer_append(buffer, state->space, state->space_len); +diff --git a/lib/json/pure/generator.rb b/lib/json/pure/generator.rb +index 516ee287..0a563813 100644 +--- a/lib/json/pure/generator.rb ++++ b/lib/json/pure/generator.rb +@@ -301,19 +301,30 @@ def generate(obj) + + # Handles @allow_nan, @buffer_initial_length, other ivars must be the default value (see above) + private def generate_json(obj, buf) +- case obj +- when Hash ++ klass = obj.class ++ if klass == Hash + buf << '{' + first = true + obj.each_pair do |k,v| + buf << ',' unless first +- fast_serialize_string(k.to_s, buf) ++ ++ key_str = k.to_s ++ if key_str.is_a?(::String) ++ if key_str.class == ::String ++ fast_serialize_string(key_str, buf) ++ else ++ generate_json(key_str, buf) ++ end ++ else ++ raise TypeError, "#{k.class}#to_s returns an instance of #{key_str.class}, expected a String" ++ end ++ + buf << ':' + generate_json(v, buf) + first = false + end + buf << '}' +- when Array ++ elsif klass == Array + buf << '[' + first = true + obj.each do |e| +@@ -322,9 +333,9 @@ def generate(obj) + first = false + end + buf << ']' +- when String ++ elsif klass == String + fast_serialize_string(obj, buf) +- when Integer ++ elsif klass == Integer + buf << obj.to_s + else + # Note: Float is handled this way since Float#to_s is slow anyway +@@ -414,7 +425,15 @@ def json_transform(state) + each { |key, value| + result << delim unless first + result << state.indent * depth if indent +- result = +"#{result}#{key.to_s.to_json(state)}#{state.space_before}:#{state.space}" ++ ++ key_str = key.to_s ++ key_json = if key_str.is_a?(::String) ++ key_str = key_str.to_json(state) ++ else ++ raise TypeError, "#{key.class}#to_s returns an instance of #{key_str.class}, expected a String" ++ end ++ ++ result = +"#{result}#{key_json}#{state.space_before}:#{state.space}" + if state.strict? && !(false == value || true == value || nil == value || String === value || Array === value || Hash === value || Integer === value || Float === value) + raise GeneratorError, "#{value.class} not allowed in JSON" + elsif value.respond_to?(:to_json) +diff --git a/test/json/json_generator_test.rb b/test/json/json_generator_test.rb +index a83d730d..8e76bec3 100755 +--- a/test/json/json_generator_test.rb ++++ b/test/json/json_generator_test.rb +@@ -479,6 +479,56 @@ def test_invalid_encoding_string + end + end + ++ class MyCustomString < String ++ def to_json(_state = nil) ++ '"my_custom_key"' ++ end ++ ++ def to_s ++ self ++ end ++ end ++ ++ def test_string_subclass_as_keys ++ # Ref: https://github.com/ruby/json/issues/667 ++ # if key.to_s doesn't return a bare string, we call `to_json` on it. ++ key = MyCustomString.new("won't be used") ++ assert_equal '{"my_custom_key":1}', JSON.generate(key => 1) ++ end ++ ++ class FakeString ++ def to_json(_state = nil) ++ raise "Shouldn't be called" ++ end ++ ++ def to_s ++ self ++ end ++ end ++ ++ def test_custom_object_as_keys ++ key = FakeString.new ++ error = assert_raise(TypeError) do ++ JSON.generate(key => 1) ++ end ++ assert_match "FakeString", error.message ++ end ++ ++ def test_to_json_called_with_state_object ++ object = Object.new ++ called = false ++ argument = nil ++ object.singleton_class.define_method(:to_json) do |state| ++ called = true ++ argument = state ++ "" ++ end ++ ++ assert_equal "", JSON.dump(object) ++ assert called, "#to_json wasn't called" ++ assert_instance_of JSON::State, argument ++ end ++ + if defined?(JSON::Ext::Generator) and RUBY_PLATFORM != "java" + def test_valid_utf8_in_different_encoding + utf8_string = "€™" diff --git a/rubygem-json.spec b/rubygem-json.spec index 3ca9a7c..81a063c 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 2.7.5 -Release: 199%{?dist} +Release: 201%{?dist} Summary: A JSON implementation in Ruby @@ -13,6 +13,10 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Source1: rubygem-%{gem_name}-%{version}-missing-files.tar.gz # Source1 is created by $ %%SOURCE2 v%%version Source2: json-create-tarball-missing-files.sh +# https://github.com/ruby/json/pull/668 +# For 2.7.x branch: https://github.com/ruby/json/commit/045e58d8310890c43bf48a3b9ed6062b781b52c2 +# Fix activereport test failure with json handling +Patch0: json-pr668-json-generate-to_json.patch BuildRequires: gcc @@ -47,6 +51,7 @@ This package contains documentation for %{name}. %setup -q -n %{gem_name}-%{version} -a 1 mv ./%{gem_name}-%{version}/test . mv ../%{gem_name}-%{version}.gemspec . +%patch -P0 -p1 # Change cflags to honor Fedora compiler flags correctly find . -name extconf.rb | xargs sed -i -e 's|-O3|-O2|' -e 's|-O0|-O2|' @@ -130,7 +135,11 @@ popd %changelog -* Wed Oct 30 2024 Mamoru TASAKA - 2.7.5-199 +* Fri Nov 01 2024 Mamoru TASAKA - 2.7.5-201 +- Apply upstream patch for JSON.generate behavior, restoring activesupport json + usage + +* Wed Oct 30 2024 Mamoru TASAKA - 2.7.5-200 - 2.7.5 * Fri Jul 19 2024 Fedora Release Engineering - 2.7.2-201 From 36f14d289b3c488489077de2234761961faca522 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 1 Nov 2024 19:29:13 +0900 Subject: [PATCH 19/37] upload source --- sources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 9092219..cb4a830 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.7.2.gem) = 99859ae93a19eca623011bf79136753f8c9c77e6ee809e9a978fec35614248644ebbfc20cfb870fac601b4403f1db6f54bbb32e9cd843207306c23f4beaa494b -SHA512 (rubygem-json-2.7.2-missing-files.tar.gz) = 89ba1d5143b209fb69d4cf1691875c00aedf69333fac145808a389a937f4bfd2a351315f657e54370497bde1087250fabb5af24fb5e25d31f7d80179845d067a +SHA512 (json-2.7.5.gem) = 222ace249561ce4158b31408a2495a2b919d66b252b24ffffe4ac842c8d06b177389dbf1a4946a2238d57948165f59542e84f1cd36b991cc2897193bf31e7a40 +SHA512 (rubygem-json-2.7.5-missing-files.tar.gz) = 0440e0048a16bd5d924bd08cc6d93f65733e0b2496c0bb5f81981d0de1edc4f5882ca91667544dc4b2ff260721acb3bce4653c096470ea3e4b524a8a9354737f From 60386f65dd91b667f4ccf79ee05498c25375f921 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sat, 2 Nov 2024 16:06:19 +0900 Subject: [PATCH 20/37] create ruby34 branch --- json-create-tarball-missing-files.sh | 2 +- rubygem-json.spec | 25 ++++++++++++++----------- sources | 4 ++-- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/json-create-tarball-missing-files.sh b/json-create-tarball-missing-files.sh index b9a26ef..7ef442b 100644 --- a/json-create-tarball-missing-files.sh +++ b/json-create-tarball-missing-files.sh @@ -20,7 +20,7 @@ VERSION=$1 git clone https://github.com/flori/${NAME}.git pushd json -git reset --hard v${VERSION} +git reset --hard v${VERSION} || true popd ln -sf ${NAME} ${NAME}-${VERSION} diff --git a/rubygem-json.spec b/rubygem-json.spec index 81a063c..d448932 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,23 +1,22 @@ %global gem_name json +%global pkg_version_num 2.8.0 +%global pkg_version_alpha alpha1 +%global gem_version %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} + Name: rubygem-%{gem_name} -Version: 2.7.5 -Release: 201%{?dist} +Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} +Release: 99%{?dist} Summary: A JSON implementation in Ruby # SPDX confirmed License: Ruby OR BSD-2-Clause URL: https://github.com/flori/json -Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem -Source1: rubygem-%{gem_name}-%{version}-missing-files.tar.gz +Source0: https://rubygems.org/gems/%{gem_name}-%{gem_version}.gem +Source1: rubygem-%{gem_name}-%{gem_version}-missing-files.tar.gz # Source1 is created by $ %%SOURCE2 v%%version Source2: json-create-tarball-missing-files.sh -# https://github.com/ruby/json/pull/668 -# For 2.7.x branch: https://github.com/ruby/json/commit/045e58d8310890c43bf48a3b9ed6062b781b52c2 -# Fix activereport test failure with json handling -Patch0: json-pr668-json-generate-to_json.patch - BuildRequires: gcc BuildRequires: ruby(release) @@ -48,10 +47,11 @@ Requires: %{name} = %{version}-%{release} This package contains documentation for %{name}. %prep -%setup -q -n %{gem_name}-%{version} -a 1 +%global version %gem_version + +%setup -q -n %{gem_name}-%{gem_version} -a 1 mv ./%{gem_name}-%{version}/test . mv ../%{gem_name}-%{version}.gemspec . -%patch -P0 -p1 # Change cflags to honor Fedora compiler flags correctly find . -name extconf.rb | xargs sed -i -e 's|-O3|-O2|' -e 's|-O0|-O2|' @@ -135,6 +135,9 @@ popd %changelog +* Sat Nov 02 2024 Mamoru TASAKA - 2.8.0~alpha1-99 +- 2.8.0 alpha1 (e660b61) + * Fri Nov 01 2024 Mamoru TASAKA - 2.7.5-201 - Apply upstream patch for JSON.generate behavior, restoring activesupport json usage diff --git a/sources b/sources index cb4a830..272a6cc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.7.5.gem) = 222ace249561ce4158b31408a2495a2b919d66b252b24ffffe4ac842c8d06b177389dbf1a4946a2238d57948165f59542e84f1cd36b991cc2897193bf31e7a40 -SHA512 (rubygem-json-2.7.5-missing-files.tar.gz) = 0440e0048a16bd5d924bd08cc6d93f65733e0b2496c0bb5f81981d0de1edc4f5882ca91667544dc4b2ff260721acb3bce4653c096470ea3e4b524a8a9354737f +SHA512 (rubygem-json-2.8.0.alpha1-missing-files.tar.gz) = dbbfbc8344153719b2bdc8c87c6dbc85087ac4b71a542acd68af961cfcb8b34616ca1dd7090392745bd91f551ac202fa1984322b3545a692c00ebf721832a496 +SHA512 (json-2.8.0.alpha1.gem) = bc5d47b8a0c6cb355e82ad7829c3f432b6dc72471b62b7eed67b617126dcd5e24e1305f2cf74701778fe2660c31322de00235e0532ffa30801ddafb261b3a553 From 5e452c62a5dc075f3a3cc7d7c092547ec3dc25b6 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 4 Nov 2024 23:16:40 +0900 Subject: [PATCH 21/37] lower release for now --- rubygem-json.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index d448932..a1971dc 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -6,7 +6,7 @@ Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 99%{?dist} +Release: 14%{?dist} Summary: A JSON implementation in Ruby @@ -135,7 +135,7 @@ popd %changelog -* Sat Nov 02 2024 Mamoru TASAKA - 2.8.0~alpha1-99 +* Sat Nov 02 2024 Mamoru TASAKA - 2.8.0~alpha1-14 - 2.8.0 alpha1 (e660b61) * Fri Nov 01 2024 Mamoru TASAKA - 2.7.5-201 From d69ad33cda90ce1bbc51c93391e7544cc3030544 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 7 Nov 2024 12:15:33 +0900 Subject: [PATCH 22/37] 2.8.1 --- json-create-tarball-missing-files.sh | 2 +- rubygem-json.spec | 10 +++++++--- sources | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/json-create-tarball-missing-files.sh b/json-create-tarball-missing-files.sh index 7ef442b..b980a86 100644 --- a/json-create-tarball-missing-files.sh +++ b/json-create-tarball-missing-files.sh @@ -20,7 +20,7 @@ VERSION=$1 git clone https://github.com/flori/${NAME}.git pushd json -git reset --hard v${VERSION} || true +git reset --hard v${VERSION} || false popd ln -sf ${NAME} ${NAME}-${VERSION} diff --git a/rubygem-json.spec b/rubygem-json.spec index a1971dc..182fd50 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,12 +1,12 @@ %global gem_name json -%global pkg_version_num 2.8.0 -%global pkg_version_alpha alpha1 +%global pkg_version_num 2.8.1 +%dnl %global pkg_version_alpha %global gem_version %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 14%{?dist} +Release: 1%{?dist} Summary: A JSON implementation in Ruby @@ -88,6 +88,7 @@ rm -rf \ Gemfile \ ext \ java \ + lib/json/truffle_ruby/ \ test \ %{nil} popd @@ -135,6 +136,9 @@ popd %changelog +* Thu Nov 07 2024 Mamoru TASAKA - 2.8.1-1 +- 2.8.1 + * Sat Nov 02 2024 Mamoru TASAKA - 2.8.0~alpha1-14 - 2.8.0 alpha1 (e660b61) diff --git a/sources b/sources index 272a6cc..1f72406 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rubygem-json-2.8.0.alpha1-missing-files.tar.gz) = dbbfbc8344153719b2bdc8c87c6dbc85087ac4b71a542acd68af961cfcb8b34616ca1dd7090392745bd91f551ac202fa1984322b3545a692c00ebf721832a496 -SHA512 (json-2.8.0.alpha1.gem) = bc5d47b8a0c6cb355e82ad7829c3f432b6dc72471b62b7eed67b617126dcd5e24e1305f2cf74701778fe2660c31322de00235e0532ffa30801ddafb261b3a553 +SHA512 (json-2.8.1.gem) = e28224ea7a5e676e6a06a02de16f5c21888b18eb172f677965798591209328ab0f7812192803df8779142c77fff2d57fdce937054f29fea9ab57810e46f28479 +SHA512 (rubygem-json-2.8.1-missing-files.tar.gz) = d3a744edbecdd6ae5b3684c5b9bcf7a5cbcab8d3ffa1cd573a8d598a737f5c5dbf3e3e8b1b941a5971c492a2e254732d1348284b0347ca01858b13103b60a173 From 8ad8e659c311d36503546e73ec87ed2687cf7ad0 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 5 Dec 2024 23:28:37 +0900 Subject: [PATCH 23/37] update to 2.9.0 (ruby34 test branch) --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 182fd50..7d06d04 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.8.1 +%global pkg_version_num 2.9.0 %dnl %global pkg_version_alpha %global gem_version %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Thu Dec 05 2024 Mamoru TASAKA - 2.9.0-1 +- 2.9.0 + * Thu Nov 07 2024 Mamoru TASAKA - 2.8.1-1 - 2.8.1 diff --git a/sources b/sources index 1f72406..cf36824 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.8.1.gem) = e28224ea7a5e676e6a06a02de16f5c21888b18eb172f677965798591209328ab0f7812192803df8779142c77fff2d57fdce937054f29fea9ab57810e46f28479 -SHA512 (rubygem-json-2.8.1-missing-files.tar.gz) = d3a744edbecdd6ae5b3684c5b9bcf7a5cbcab8d3ffa1cd573a8d598a737f5c5dbf3e3e8b1b941a5971c492a2e254732d1348284b0347ca01858b13103b60a173 +SHA512 (json-2.9.0.gem) = 20b0f2645f12e0848d851e2af754c1a579c32d6b59d0f63bfc768187ebf53c8d5a7372c61e86ba04e263534a18ae45c9bf86e525f6b1e2a2ce2977d7480e628b +SHA512 (rubygem-json-2.9.0-missing-files.tar.gz) = c08b544d7b9dc1c4865d32226fd26edd90eb2126696cc85eaaa96eaa202704b055d3c4ea6c7ece81731255faae44241fd169ffd630a329db8689cd1e873a823b From bd695c01ad9078eb99a14ee8ed92921d16ffb9e1 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 19 Dec 2024 12:19:24 +0900 Subject: [PATCH 24/37] 2.9.1 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 7d06d04..0425660 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.9.0 +%global pkg_version_num 2.9.1 %dnl %global pkg_version_alpha %global gem_version %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Thu Dec 19 2024 Mamoru TASAKA - 2.9.1-1 +- 2.9.1 + * Thu Dec 05 2024 Mamoru TASAKA - 2.9.0-1 - 2.9.0 diff --git a/sources b/sources index cf36824..1bc2644 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.9.0.gem) = 20b0f2645f12e0848d851e2af754c1a579c32d6b59d0f63bfc768187ebf53c8d5a7372c61e86ba04e263534a18ae45c9bf86e525f6b1e2a2ce2977d7480e628b -SHA512 (rubygem-json-2.9.0-missing-files.tar.gz) = c08b544d7b9dc1c4865d32226fd26edd90eb2126696cc85eaaa96eaa202704b055d3c4ea6c7ece81731255faae44241fd169ffd630a329db8689cd1e873a823b +SHA512 (json-2.9.1.gem) = 96b7de437f3bdc93f0de2ff04e1f666008a2debb96e0c55f64de79ecb111a786601436ef44e7b7f89125d1d7eb13c31680f45a5002826c99d2b378bc4f465699 +SHA512 (rubygem-json-2.9.1-missing-files.tar.gz) = ee7fa79da9e90a79c62e5eb0895caedf7f76b863842adf0cc92bde7730bd0ae8f7bd421ed7c583c910f1f8ba414126955956beea39d7e47a6e42568adb41f056 From 1b3433d4bc33230fa47222a54c508236032fb402 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 8 Jan 2025 08:16:56 +0900 Subject: [PATCH 25/37] Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 0425660..c7dbf9a 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -6,7 +6,7 @@ Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 1%{?dist} +Release: 2%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Tue Jan 07 2025 Mamoru TASAKA - 2.9.1-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 + * Thu Dec 19 2024 Mamoru TASAKA - 2.9.1-1 - 2.9.1 From 51a7e0e68e251117fd2ed9bf6f9b5d3fcee2d455 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 23:29:21 +0000 Subject: [PATCH 26/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index c7dbf9a..c76b505 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -6,7 +6,7 @@ Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 2%{?dist} +Release: 3%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 2.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Tue Jan 07 2025 Mamoru TASAKA - 2.9.1-2 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 From 079d8c64bb83f5265cc34257bf9c0a3ada782204 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 12 Feb 2025 16:07:09 +0900 Subject: [PATCH 27/37] 2.10.1 --- rubygem-json.spec | 9 ++++++--- sources | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index c76b505..9d893e8 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,12 +1,12 @@ %global gem_name json -%global pkg_version_num 2.9.1 +%global pkg_version_num 2.10.1 %dnl %global pkg_version_alpha -%global gem_version %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} +%global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 3%{?dist} +Release: 1%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Tue Feb 11 2025 Mamoru TASAKA - 2.10.1-1 +- 2.10.1 + * Sat Jan 18 2025 Fedora Release Engineering - 2.9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 1bc2644..e54ebbd 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.9.1.gem) = 96b7de437f3bdc93f0de2ff04e1f666008a2debb96e0c55f64de79ecb111a786601436ef44e7b7f89125d1d7eb13c31680f45a5002826c99d2b378bc4f465699 -SHA512 (rubygem-json-2.9.1-missing-files.tar.gz) = ee7fa79da9e90a79c62e5eb0895caedf7f76b863842adf0cc92bde7730bd0ae8f7bd421ed7c583c910f1f8ba414126955956beea39d7e47a6e42568adb41f056 +SHA512 (json-2.10.1.gem) = a65bc7895f5bce5b3e6333c064e67bba6b7ed390ad25e624e909cff5952eaf4bdbecc5f627725ad71e042a649ad549a00f263c0e623e975f97440144ff7e2c39 +SHA512 (rubygem-json-2.10.1-missing-files.tar.gz) = bb2ae551e87fcb5777796ba95854e6977c9c7e0b2fda44f6abe29fc7b6faeecb1ff2ef0e9ebc246ed97c8bcb82174c59503c1bbb2605b8951b142b3bbd87ff47 From a6f8d01189165e05cc92137d6ae0f239260b9abe Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 13 Mar 2025 10:12:57 +0900 Subject: [PATCH 28/37] 2.10.2 --- json-pr668-json-generate-to_json.patch | 196 ------------------------- rubygem-json.spec | 5 +- sources | 4 +- 3 files changed, 6 insertions(+), 199 deletions(-) delete mode 100644 json-pr668-json-generate-to_json.patch diff --git a/json-pr668-json-generate-to_json.patch b/json-pr668-json-generate-to_json.patch deleted file mode 100644 index 2ff7a3c..0000000 --- a/json-pr668-json-generate-to_json.patch +++ /dev/null @@ -1,196 +0,0 @@ -From 045e58d8310890c43bf48a3b9ed6062b781b52c2 Mon Sep 17 00:00:00 2001 -From: Jean Boussier -Date: Thu, 31 Oct 2024 08:52:19 +0100 -Subject: [PATCH] JSON.generate: call to_json on String subclasses - -Fix: https://github.com/ruby/json/issues/667 - -This is yet another behavior on which the various implementations -differed, but the C implementation used to call `to_json` on String -subclasses used as keys. - -This was optimized out in e125072130229e54a651f7b11d7d5a782ae7fb65 -but there is an Active Support test case for it, so it's best to -make all 3 implementation respect this behavior. ---- - CHANGES.md | 2 ++ - ext/json/ext/fbuffer/fbuffer.h | 4 +++ - ext/json/ext/generator/generator.c | 6 +++- - java/src/json/ext/Generator.java | 9 +++++- - lib/json/pure/generator.rb | 33 +++++++++++++++----- - test/json/json_generator_test.rb | 50 ++++++++++++++++++++++++++++++ - 6 files changed, 95 insertions(+), 9 deletions(-) - -diff --git a/CHANGES.md b/CHANGES.md -index 667958ea..1cab01ee 100644 ---- a/CHANGES.md -+++ b/CHANGES.md -@@ -1,5 +1,7 @@ - # Changes - -+* Fix a regression in JSON.generate when dealing with Hash keys that are string subclasses, call `to_json` on them. -+ - ### 2024-10-25 (2.7.5) - - * Fix a memory leak when `#to_json` methods raise an exception. -diff --git a/ext/json/ext/fbuffer/fbuffer.h b/ext/json/ext/fbuffer/fbuffer.h -index 76bd6ce1..4c62aa36 100644 ---- a/ext/json/ext/fbuffer/fbuffer.h -+++ b/ext/json/ext/fbuffer/fbuffer.h -@@ -36,6 +36,10 @@ static VALUE fbuffer_to_s(FBuffer *fb); - #define RB_UNLIKELY(expr) expr - #endif - -+#ifndef RB_LIKELY -+#define RB_LIKELY(expr) expr -+#endif -+ - static FBuffer *fbuffer_alloc(unsigned long initial_length) - { - FBuffer *fb; -diff --git a/ext/json/ext/generator/generator.c b/ext/json/ext/generator/generator.c -index ca48e0f1..ca9f1a9c 100644 ---- a/ext/json/ext/generator/generator.c -+++ b/ext/json/ext/generator/generator.c -@@ -678,7 +678,11 @@ json_object_i(VALUE key, VALUE val, VALUE _arg) - break; - } - -- generate_json_string(buffer, Vstate, state, key_to_s); -+ if (RB_LIKELY(RBASIC_CLASS(key_to_s) == rb_cString)) { -+ generate_json_string(buffer, Vstate, state, key_to_s); -+ } else { -+ generate_json(buffer, Vstate, state, key_to_s); -+ } - if (RB_UNLIKELY(state->space_before)) fbuffer_append(buffer, state->space_before, state->space_before_len); - fbuffer_append_char(buffer, ':'); - if (RB_UNLIKELY(state->space)) fbuffer_append(buffer, state->space, state->space_len); -diff --git a/lib/json/pure/generator.rb b/lib/json/pure/generator.rb -index 516ee287..0a563813 100644 ---- a/lib/json/pure/generator.rb -+++ b/lib/json/pure/generator.rb -@@ -301,19 +301,30 @@ def generate(obj) - - # Handles @allow_nan, @buffer_initial_length, other ivars must be the default value (see above) - private def generate_json(obj, buf) -- case obj -- when Hash -+ klass = obj.class -+ if klass == Hash - buf << '{' - first = true - obj.each_pair do |k,v| - buf << ',' unless first -- fast_serialize_string(k.to_s, buf) -+ -+ key_str = k.to_s -+ if key_str.is_a?(::String) -+ if key_str.class == ::String -+ fast_serialize_string(key_str, buf) -+ else -+ generate_json(key_str, buf) -+ end -+ else -+ raise TypeError, "#{k.class}#to_s returns an instance of #{key_str.class}, expected a String" -+ end -+ - buf << ':' - generate_json(v, buf) - first = false - end - buf << '}' -- when Array -+ elsif klass == Array - buf << '[' - first = true - obj.each do |e| -@@ -322,9 +333,9 @@ def generate(obj) - first = false - end - buf << ']' -- when String -+ elsif klass == String - fast_serialize_string(obj, buf) -- when Integer -+ elsif klass == Integer - buf << obj.to_s - else - # Note: Float is handled this way since Float#to_s is slow anyway -@@ -414,7 +425,15 @@ def json_transform(state) - each { |key, value| - result << delim unless first - result << state.indent * depth if indent -- result = +"#{result}#{key.to_s.to_json(state)}#{state.space_before}:#{state.space}" -+ -+ key_str = key.to_s -+ key_json = if key_str.is_a?(::String) -+ key_str = key_str.to_json(state) -+ else -+ raise TypeError, "#{key.class}#to_s returns an instance of #{key_str.class}, expected a String" -+ end -+ -+ result = +"#{result}#{key_json}#{state.space_before}:#{state.space}" - if state.strict? && !(false == value || true == value || nil == value || String === value || Array === value || Hash === value || Integer === value || Float === value) - raise GeneratorError, "#{value.class} not allowed in JSON" - elsif value.respond_to?(:to_json) -diff --git a/test/json/json_generator_test.rb b/test/json/json_generator_test.rb -index a83d730d..8e76bec3 100755 ---- a/test/json/json_generator_test.rb -+++ b/test/json/json_generator_test.rb -@@ -479,6 +479,56 @@ def test_invalid_encoding_string - end - end - -+ class MyCustomString < String -+ def to_json(_state = nil) -+ '"my_custom_key"' -+ end -+ -+ def to_s -+ self -+ end -+ end -+ -+ def test_string_subclass_as_keys -+ # Ref: https://github.com/ruby/json/issues/667 -+ # if key.to_s doesn't return a bare string, we call `to_json` on it. -+ key = MyCustomString.new("won't be used") -+ assert_equal '{"my_custom_key":1}', JSON.generate(key => 1) -+ end -+ -+ class FakeString -+ def to_json(_state = nil) -+ raise "Shouldn't be called" -+ end -+ -+ def to_s -+ self -+ end -+ end -+ -+ def test_custom_object_as_keys -+ key = FakeString.new -+ error = assert_raise(TypeError) do -+ JSON.generate(key => 1) -+ end -+ assert_match "FakeString", error.message -+ end -+ -+ def test_to_json_called_with_state_object -+ object = Object.new -+ called = false -+ argument = nil -+ object.singleton_class.define_method(:to_json) do |state| -+ called = true -+ argument = state -+ "" -+ end -+ -+ assert_equal "", JSON.dump(object) -+ assert called, "#to_json wasn't called" -+ assert_instance_of JSON::State, argument -+ end -+ - if defined?(JSON::Ext::Generator) and RUBY_PLATFORM != "java" - def test_valid_utf8_in_different_encoding - utf8_string = "€™" diff --git a/rubygem-json.spec b/rubygem-json.spec index 9d893e8..bd1149e 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.10.1 +%global pkg_version_num 2.10.2 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Wed Mar 12 2025 Mamoru TASAKA - 2.10.2-1 +- 2.10.2 + * Tue Feb 11 2025 Mamoru TASAKA - 2.10.1-1 - 2.10.1 diff --git a/sources b/sources index e54ebbd..0847247 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.10.1.gem) = a65bc7895f5bce5b3e6333c064e67bba6b7ed390ad25e624e909cff5952eaf4bdbecc5f627725ad71e042a649ad549a00f263c0e623e975f97440144ff7e2c39 -SHA512 (rubygem-json-2.10.1-missing-files.tar.gz) = bb2ae551e87fcb5777796ba95854e6977c9c7e0b2fda44f6abe29fc7b6faeecb1ff2ef0e9ebc246ed97c8bcb82174c59503c1bbb2605b8951b142b3bbd87ff47 +SHA512 (json-2.10.2.gem) = ba45552fd36ea02ee2d47f05598cb45833694502156a1b6703a4d1ee75ec7bd8378c155d79f0aa39cac52aed068348cb7daf2cbf94f9111881e7cbfa7abb5496 +SHA512 (rubygem-json-2.10.2-missing-files.tar.gz) = 79d923ebf43835f2f49d7ad009d002a0b2f2fefaef3c4910145aac624bc22cbbfbcceb1d2c3134a7e6b79f66729fb77f8511fc5c5b68945f029eeb7e8ceff58d From bd335bb9c7cc79fff2a9b94aa04ecc14616ac6b7 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 30 Apr 2025 10:48:14 +0900 Subject: [PATCH 29/37] 2.11.3 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index bd1149e..4573d40 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.10.2 +%global pkg_version_num 2.11.3 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Tue Apr 29 2025 Mamoru TASAKA - 2.11.3-1 +- 2.11.3 + * Wed Mar 12 2025 Mamoru TASAKA - 2.10.2-1 - 2.10.2 diff --git a/sources b/sources index 0847247..272fd4c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.10.2.gem) = ba45552fd36ea02ee2d47f05598cb45833694502156a1b6703a4d1ee75ec7bd8378c155d79f0aa39cac52aed068348cb7daf2cbf94f9111881e7cbfa7abb5496 -SHA512 (rubygem-json-2.10.2-missing-files.tar.gz) = 79d923ebf43835f2f49d7ad009d002a0b2f2fefaef3c4910145aac624bc22cbbfbcceb1d2c3134a7e6b79f66729fb77f8511fc5c5b68945f029eeb7e8ceff58d +SHA512 (json-2.11.3.gem) = ed63004e9c310311bf316f7cec437e4d916fa5294d8ab46aea13b22add2bfc2cb96bc13c8847adb34b9198bbea4896bb85119aa33483b4a778eec9e66c140d5b +SHA512 (rubygem-json-2.11.3-missing-files.tar.gz) = e25e6bc56424a4959554ab277847ee4e1bb2146e1f08fa8012dd799cf73de4ae535c0ab347598e9def3a8bc2fe0259bdd8edc504197482e28592ff1c8d850eca From 3cc8a57e37c14abda0e345ad97946d5b53c3e286 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sat, 17 May 2025 09:51:07 +0900 Subject: [PATCH 30/37] 2.12.0 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 4573d40..57c8d24 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.11.3 +%global pkg_version_num 2.12.0 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Fri May 16 2025 Mamoru TASAKA - 2.12.0-1 +- 2.12.0 + * Tue Apr 29 2025 Mamoru TASAKA - 2.11.3-1 - 2.11.3 diff --git a/sources b/sources index 272fd4c..5ae31e6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.11.3.gem) = ed63004e9c310311bf316f7cec437e4d916fa5294d8ab46aea13b22add2bfc2cb96bc13c8847adb34b9198bbea4896bb85119aa33483b4a778eec9e66c140d5b -SHA512 (rubygem-json-2.11.3-missing-files.tar.gz) = e25e6bc56424a4959554ab277847ee4e1bb2146e1f08fa8012dd799cf73de4ae535c0ab347598e9def3a8bc2fe0259bdd8edc504197482e28592ff1c8d850eca +SHA512 (json-2.12.0.gem) = 34e0a36cb4bbea2eabfb14ea361e69e54af40a8ce872899a786538dfd08bc6c5902da919feda0391f19733f9d2447c45cc9f7be5364a17fc0895b2452ab75844 +SHA512 (rubygem-json-2.12.0-missing-files.tar.gz) = 15b0438ee971bd550d11921b8683eadc452e4db92137700da136064576d54a0fee0a4b67e3e19461dcc3720c716cfe3c14351bfd0f50f97c920582eaf1a144eb From 745cbb15b1a3a851a8723974655938946e3bfc9a Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 28 May 2025 09:52:23 +0900 Subject: [PATCH 31/37] 2.12.2 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 57c8d24..b2faabf 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.12.0 +%global pkg_version_num 2.12.2 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Tue May 27 2025 Mamoru TASAKA - 2.12.2-1 +- 2.12.2 + * Fri May 16 2025 Mamoru TASAKA - 2.12.0-1 - 2.12.0 diff --git a/sources b/sources index 5ae31e6..c006cb1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.12.0.gem) = 34e0a36cb4bbea2eabfb14ea361e69e54af40a8ce872899a786538dfd08bc6c5902da919feda0391f19733f9d2447c45cc9f7be5364a17fc0895b2452ab75844 -SHA512 (rubygem-json-2.12.0-missing-files.tar.gz) = 15b0438ee971bd550d11921b8683eadc452e4db92137700da136064576d54a0fee0a4b67e3e19461dcc3720c716cfe3c14351bfd0f50f97c920582eaf1a144eb +SHA512 (json-2.12.2.gem) = 4f53c32db5f8b14fd753ef1184d3cff4c1ac3c59dfb7e5fc4d9d1521256b20c533c5c982d2e28ce5bbeb375a97221ca3babe5fa6c00969870b18d8d7165dfb3f +SHA512 (rubygem-json-2.12.2-missing-files.tar.gz) = ee6de935dfb6bdd4cb4791838963a83e9b6c208b6b48f7c66ba7d0e13d39f000cfab71a4cbd60cce650f93772f17c73e8ed1362fcd77c7529ad96743dd2cafec From c4693bbb66a3b9b546570397faf04385829f3e1f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 12:31:45 +0000 Subject: [PATCH 32/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- rubygem-json.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index b2faabf..df55af9 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -6,7 +6,7 @@ Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 1%{?dist} +Release: 2%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 2.12.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue May 27 2025 Mamoru TASAKA - 2.12.2-1 - 2.12.2 From c8995f0291379fe145f76e1c0c13a3a0f816a428 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 31 Jul 2025 20:57:36 +0900 Subject: [PATCH 33/37] 2.13.2 --- rubygem-json.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index df55af9..82ff6f3 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,12 +1,12 @@ %global gem_name json -%global pkg_version_num 2.12.2 +%global pkg_version_num 2.13.2 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 2%{?dist} +Release: 1%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Thu Jul 31 2025 Mamoru TASAKA - 2.13.2-1 +- 2.13.2 + * Fri Jul 25 2025 Fedora Release Engineering - 2.12.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index c006cb1..b14c7c6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.12.2.gem) = 4f53c32db5f8b14fd753ef1184d3cff4c1ac3c59dfb7e5fc4d9d1521256b20c533c5c982d2e28ce5bbeb375a97221ca3babe5fa6c00969870b18d8d7165dfb3f -SHA512 (rubygem-json-2.12.2-missing-files.tar.gz) = ee6de935dfb6bdd4cb4791838963a83e9b6c208b6b48f7c66ba7d0e13d39f000cfab71a4cbd60cce650f93772f17c73e8ed1362fcd77c7529ad96743dd2cafec +SHA512 (json-2.13.2.gem) = 51df90c01abeade45dc4805dd0666e6898581cab6f2e3b712a2e253fd6eabea50405c533b5897a29c9cc54fc52d56c9f3207e8ec480113c3528903dde66a9cfe +SHA512 (rubygem-json-2.13.2-missing-files.tar.gz) = 516ceddcdc36d4d44d79215b9df27a96200b335b8b1c61de9fa0a0151437fed47a2173cbd749d13b104e3fb7df834dc78f448bec5ef1fdd0a540f735447a3d6a From 12253f7294ecad9c432f7e396e5c17251b8e3181 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 26 Sep 2025 09:55:07 +0900 Subject: [PATCH 34/37] 2.15.0 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 82ff6f3..42f9f7d 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.13.2 +%global pkg_version_num 2.15.0 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Thu Sep 25 2025 Mamoru TASAKA - 2.15.0-1 +- 2.15.0 + * Thu Jul 31 2025 Mamoru TASAKA - 2.13.2-1 - 2.13.2 diff --git a/sources b/sources index b14c7c6..d54b27b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.13.2.gem) = 51df90c01abeade45dc4805dd0666e6898581cab6f2e3b712a2e253fd6eabea50405c533b5897a29c9cc54fc52d56c9f3207e8ec480113c3528903dde66a9cfe -SHA512 (rubygem-json-2.13.2-missing-files.tar.gz) = 516ceddcdc36d4d44d79215b9df27a96200b335b8b1c61de9fa0a0151437fed47a2173cbd749d13b104e3fb7df834dc78f448bec5ef1fdd0a540f735447a3d6a +SHA512 (json-2.15.0.gem) = f0107699389fb4b8ccb405018477a8ca25643f3f627fe5d3b29d122dd220e718abf661571dd5baa69a9bc8f9fd0a15cc8e7829f11fc3e16eb2d7e8487a51f2ba +SHA512 (rubygem-json-2.15.0-missing-files.tar.gz) = 515f15151fc5531008b4dddf3e11de9dc70b4d4ba69d54bd7ef3c08c32c7cc4843b1360723a62d369a4efef14e951edbda34a9d82c3157532e6c7a1823b7e051 From 5dd12f04eb0d4f25189c317003daa2a69cbee1f1 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Tue, 7 Oct 2025 20:58:41 +0900 Subject: [PATCH 35/37] 2.15.1 --- rubygem-json.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 42f9f7d..09f710c 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,12 +1,12 @@ %global gem_name json -%global pkg_version_num 2.15.0 +%global pkg_version_num 2.15.1 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 1%{?dist} +Release: 0.100%{?dist} Summary: A JSON implementation in Ruby @@ -136,6 +136,9 @@ popd %changelog +* Tue Oct 07 2025 Mamoru TASAKA - 2.15.1-1 +- 2.15.1 + * Thu Sep 25 2025 Mamoru TASAKA - 2.15.0-1 - 2.15.0 diff --git a/sources b/sources index d54b27b..fe71a19 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.15.0.gem) = f0107699389fb4b8ccb405018477a8ca25643f3f627fe5d3b29d122dd220e718abf661571dd5baa69a9bc8f9fd0a15cc8e7829f11fc3e16eb2d7e8487a51f2ba -SHA512 (rubygem-json-2.15.0-missing-files.tar.gz) = 515f15151fc5531008b4dddf3e11de9dc70b4d4ba69d54bd7ef3c08c32c7cc4843b1360723a62d369a4efef14e951edbda34a9d82c3157532e6c7a1823b7e051 +SHA512 (json-2.15.1.gem) = 04952b7f1b584112b2303a0427405ab91a97e3f1121ce3e7c378dd142dd793f2e56cf841fda2f9a5b2eb07a78b82760d0764733095a5c641c301b6157486bf00 +SHA512 (rubygem-json-2.15.1-missing-files.tar.gz) = 1ae0c5d37c4479d54c10a0275ebe4f9ee4e394de320589f9054c984f306fe89abc429327c6e511ee193d111ff2654140f06b35c5823cd303ec772d84a7d0c180 From af402fae1d55dc058aa3831cb9062736417f4b32 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Tue, 7 Oct 2025 21:00:37 +0900 Subject: [PATCH 36/37] fix release --- rubygem-json.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index 09f710c..a2f8a03 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -6,7 +6,7 @@ Name: rubygem-%{gem_name} Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} -Release: 0.100%{?dist} +Release: 1%{?dist} Summary: A JSON implementation in Ruby From 3d429ea59d296926a6d2fdb353b3c10bf735ea15 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 9 Jan 2026 20:40:51 +0900 Subject: [PATCH 37/37] 2.18.0 --- rubygem-json.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rubygem-json.spec b/rubygem-json.spec index a2f8a03..5bd931e 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,6 +1,6 @@ %global gem_name json -%global pkg_version_num 2.15.1 +%global pkg_version_num 2.18.0 %dnl %global pkg_version_alpha %global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} @@ -136,6 +136,9 @@ popd %changelog +* Fri Jan 09 2026 Mamoru TASAKA - 2.18.0-1 +- 2.18.0 + * Tue Oct 07 2025 Mamoru TASAKA - 2.15.1-1 - 2.15.1 diff --git a/sources b/sources index fe71a19..93dc102 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (json-2.15.1.gem) = 04952b7f1b584112b2303a0427405ab91a97e3f1121ce3e7c378dd142dd793f2e56cf841fda2f9a5b2eb07a78b82760d0764733095a5c641c301b6157486bf00 -SHA512 (rubygem-json-2.15.1-missing-files.tar.gz) = 1ae0c5d37c4479d54c10a0275ebe4f9ee4e394de320589f9054c984f306fe89abc429327c6e511ee193d111ff2654140f06b35c5823cd303ec772d84a7d0c180 +SHA512 (json-2.18.0.gem) = 02b25232a78f0da5bab6db01771385bb0bcefbd6f182314474ca23b61af6a2ec0a66b160ec7a9a3d6c75ccd3a57da08897400fe2673f5cca6a650e133029b884 +SHA512 (rubygem-json-2.18.0-missing-files.tar.gz) = 73453c9e4312ede95f5a3a794cf86f8d138be5425e40e410326fab3592c22710837e5e2c118c4e947466042e6d300a0bd7cb652a3325bb3b9e617705356411da