diff --git a/.gitignore b/.gitignore index 528f30b..9649f3e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ -json-1.1.7.gem -/json-1.4.6.gem -/json-1.6.5.gem -/json-1.7.7.gem +/json-*.gem +/rubygem-json-*-missing-files.tar.gz diff --git a/json-create-tarball-missing-files.sh b/json-create-tarball-missing-files.sh new file mode 100644 index 0000000..b980a86 --- /dev/null +++ b/json-create-tarball-missing-files.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -x +set -e + +if [ $# -lt 1 ] +then + echo "$0 " + exit 1 +fi + +NAME=json + +CURRDIR=$(pwd) + +TMPDIRPATH=$(mktemp -d /var/tmp/${NAME}-tar-XXXXXX) +pushd $TMPDIRPATH + +VERSION=$1 + +git clone https://github.com/flori/${NAME}.git +pushd json +git reset --hard v${VERSION} || false +popd + +ln -sf ${NAME} ${NAME}-${VERSION} +tar czf ${CURRDIR}/rubygem-${NAME}-${VERSION}-missing-files.tar.gz \ + ${NAME}-${VERSION}/./test/ + +popd + +rm -rf $TMPDIRPATH + diff --git a/rubygem-json.spec b/rubygem-json.spec index 66fc4cc..5bd931e 100644 --- a/rubygem-json.spec +++ b/rubygem-json.spec @@ -1,23 +1,31 @@ %global gem_name json +%global pkg_version_num 2.18.0 +%dnl %global pkg_version_alpha +%global gem_version() %{pkg_version_num}%{?pkg_version_alpha:.%pkg_version_alpha} + Name: rubygem-%{gem_name} -Version: 1.7.7 -Release: 104%{?dist} +Version: %{pkg_version_num}%{?pkg_version_alpha:~%pkg_version_alpha} +Release: 1%{?dist} Summary: A JSON implementation in Ruby -Group: Development/Languages +# SPDX confirmed +License: Ruby OR BSD-2-Clause +URL: https://github.com/flori/json +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 -License: Ruby or GPLv2 -URL: http://json.rubyforge.org -Source0: http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem - -BuildRequires: ruby(release) -BuildRequires: ruby-devel +BuildRequires: gcc +BuildRequires: ruby(release) +BuildRequires: ruby-devel BuildRequires: rubygems-devel BuildRequires: rubygem(rake) -BuildRequires: rubygem(minitest4) -BuildRequires: rubygem(bigdecimal) +BuildRequires: rubygem(bigdecimal) +BuildRequires: rubygem(test-unit-ruby-core) +BuildRequires: rubygem(test-unit) Obsoletes: rubygem-%{gem_name}-gui < %{version} Obsoletes: ruby-%{gem_name}-gui < %{version} @@ -32,7 +40,6 @@ a network rather than use a verbose markup language. %package doc Summary: Documentation for %{name} -Group: Documentation Requires: %{name} = %{version}-%{release} @@ -40,38 +47,21 @@ Requires: %{name} = %{version}-%{release} This package contains documentation for %{name}. %prep -%setup -q -c -T +%global version %gem_version -# Gem repack -TOPDIR=$(pwd) -mkdir tmpunpackdir -pushd tmpunpackdir - -gem unpack %{SOURCE0} -cd %{gem_name}-%{version} +%setup -q -n %{gem_name}-%{gem_version} -a 1 +mv ./%{gem_name}-%{version}/test . +mv ../%{gem_name}-%{version}.gemspec . # Change cflags to honor Fedora compiler flags correctly find . -name extconf.rb | xargs sed -i -e 's|-O3|-O2|' -e 's|-O0|-O2|' -gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec -gem build %{gem_name}.gemspec -mv %{gem_name}-%{version}.gem $TOPDIR - -popd -rm -rf tmpunpackdir - - %build +gem build %{gem_name}-%{version}.gemspec %gem_install find . -name \*gem -exec chmod 0644 {} \; -# compile again -find . -name extconf.rb | while read f -do - make -C $(dirname $f) clean all install -done - # remove pure rm -fr .%{gem_instdir}/lib/json/pure* @@ -82,52 +72,267 @@ mkdir -p $RPM_BUILD_ROOT%{gem_extdir_mri} cp -a .%{gem_dir}/* %{buildroot}/%{gem_dir} cp -a .%{gem_extdir_mri}/{gem.build_complete,json} %{buildroot}/%{gem_extdir_mri}/ +mkdir -p %{buildroot}%{ruby_libdir} +mkdir -p %{buildroot}%{ruby_libarchdir} +ln -s %{gem_libdir}/json.rb %{buildroot}%{ruby_libdir}/json.rb +ln -s %{gem_libdir}/json %{buildroot}%{ruby_libdir}/json +ln -s %{gem_extdir_mri}/json/ %{buildroot}%{ruby_libarchdir}/json + find $RPM_BUILD_ROOT%{gem_instdir} -name \*.rb -print0 | \ xargs --null chmod 0644 # We don't need those files anymore. -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/ext -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/install.rb -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/{.require_paths,.gitignore,.travis.yml} -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/lib/json/ext/ -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/diagrams -rm -rf $RPM_BUILD_ROOT%{gem_docdir}/rdoc/classes/.src -rm -rf $RPM_BUILD_ROOT%{gem_docdir}/rdoc/classes/.html - -rm -rf $RPM_BUILD_ROOT%{gem_instdir}/java/ +pushd $RPM_BUILD_ROOT%{gem_instdir} +rm -rf \ + %{gem_name}.gemspec \ + Gemfile \ + ext \ + java \ + lib/json/truffle_ruby/ \ + test \ + %{nil} +popd %check +rm -rf .%{gem_instdir}/test +cp -a ./test .%{gem_instdir}/ + pushd .%{gem_instdir} -ruby -S testrb -Ilib:ext/%{gem_name}/ext $(ls -1 tests/test_*.rb | sort) +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 %files -%doc %{gem_instdir}/[A-Z]* %dir %{gem_instdir} %dir %{gem_libdir} %dir %{gem_libdir}/%{gem_name} -%{gem_instdir}/tools/ + +%license %{gem_instdir}/BSDL +%license %{gem_instdir}/COPYING +%license %{gem_instdir}/LEGAL +%doc %{gem_instdir}/CHANGES.md +%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 + +%{ruby_libdir}/json* +%{ruby_libarchdir}/json* %{gem_extdir_mri}/ %{gem_spec} + %exclude %{gem_cache} -%exclude %{gem_instdir}/Rakefile %files doc -%{gem_instdir}/Rakefile -%{gem_instdir}/data -%{gem_instdir}/*gemspec %{gem_docdir}/ -%exclude %{gem_instdir}/tests %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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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) + +* 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 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* Wed May 18 2022 Mamoru TASAKA - 2.6.2-200 +- 2.6.2 + +* Wed Jan 26 2022 Mamoru TASAKA - 2.6.1-202 +- F-36: rebuild against ruby31 + +* Fri Jan 21 2022 Fedora Release Engineering - 2.6.1-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Oct 24 2021 Mamoru TASAKA - 2.6.1-200 +- 2.6.1 + +* Fri Oct 22 2021 Mamoru TASAKA - 2.6.0-200 +- 2.6.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.5.1-202 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 2.5.1-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 6 2021 Mamoru TASAKA - 2.5.1-200 +- 2.5.1 + +* Wed Jul 29 2020 Fedora Release Engineering - 2.3.1-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 2 2020 Mamoru TASAKA - 2.3.1-200 +- 2.3.1 + +* Tue Apr 14 2020 Vít Ondruch - 2.3.0-202 +- Avoid unexpected JRuby dependency. + +* Thu Jan 30 2020 Fedora Release Engineering - 2.3.0-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 17 2020 Mamoru TASAKA - 2.3.0-200 +- 2.3.0 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.2.0-201 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Feb 26 2019 Mamoru TASAKA - 2.2.0-200 +- Update to 2.2.0 +- Bump release + +* Sat Feb 02 2019 Fedora Release Engineering - 2.1.0-107 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.1.0-106 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.1.0-105 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 2.1.0-104 +- Rebuilt for switch to libxcrypt + +* Wed Jan 03 2018 Vít Ondruch - 2.1.0-103 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.5 + +* Thu Aug 03 2017 Fedora Release Engineering - 2.1.0-102 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.1.0-101 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Apr 21 2017 Mamoru TASAKA - 2.1.0-100 +- Update to 2.1.0 + +* Thu Apr 13 2017 Mamoru TASAKA - 2.0.4-100 +- Update to 2.0.4 + +* Sat Feb 11 2017 Fedora Release Engineering - 2.0.3-101 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Jan 15 2017 Mamoru TASAKA - 2.0.3-100 +- Update to 2.0.3 + +* Tue Jul 12 2016 Vít Ondruch - 1.8.3-103 +- Make symlinks for json gem. + +* Thu Feb 04 2016 Fedora Release Engineering - 1.8.3-102 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 11 2016 Mamoru TASAKA - 1.8.3-101 +- F-24: rebuild against ruby23 + +* Thu Sep 24 2015 Mamoru TASAKA - 1.8.3-100 +- Update to 1.8.3 + +* Thu Jun 18 2015 Fedora Release Engineering - 1.8.2-101 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jan 16 2015 Mamoru TASAKA - 1.8.2-100 +- Update to 1.8.2 + * Mon Aug 18 2014 Fedora Release Engineering - 1.7.7-104 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild @@ -154,7 +359,7 @@ popd * Sat Jul 21 2012 Fedora Release Engineering - 1.6.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild -* Sun Jan 21 2012 Mamoru Tasaka - 1.6.5-1 +* Sun Jan 22 2012 Mamoru Tasaka - 1.6.5-1 - 1.6.5 * Sat Jan 14 2012 Fedora Release Engineering - 1.4.6-4 diff --git a/sources b/sources index acb3086..93dc102 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -9084ee2e853f55d956d043cba46e25fc json-1.7.7.gem +SHA512 (json-2.18.0.gem) = 02b25232a78f0da5bab6db01771385bb0bcefbd6f182314474ca23b61af6a2ec0a66b160ec7a9a3d6c75ccd3a57da08897400fe2673f5cca6a650e133029b884 +SHA512 (rubygem-json-2.18.0-missing-files.tar.gz) = 73453c9e4312ede95f5a3a794cf86f8d138be5425e40e410326fab3592c22710837e5e2c118c4e947466042e6d300a0bd7cb652a3325bb3b9e617705356411da