Package: src:ruby-json Version: 2.0.1+dfsg-3 Severity: normal Tags: patch Hi,
I noticed ruby-json Java extension was not being built from this package. So, since I need that to get JRuby unit tests passing and it should be useful for real-world users, I added that missing component to this package. If there are no objections to my approach (please see the debdiff below), I was planning to merge this and do an upload to experimental very soon. This builds OK in sbuild and I'm using it locally to build and test recent JRuby releases. I'm also attaching the build log if anyone is curious about this. diff -Nru ruby-json-2.0.1+dfsg/debian/changelog ruby-json-2.0.1+dfsg/debian/changelog --- ruby-json-2.0.1+dfsg/debian/changelog 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/changelog 2017-03-13 18:31:15.000000000 +0000 @@ -1,3 +1,10 @@ +ruby-json (2.0.1+dfsg-4) experimental; urgency=medium + + * Team upload. + * Build java extension and add new binary package jruby-json for it. + + -- Miguel Landaeta <nomad...@debian.org> Mon, 13 Mar 2017 18:31:15 +0000 + ruby-json (2.0.1+dfsg-3) unstable; urgency=medium * Add Conflicts: ruby-json-pure (Closes: #847141) diff -Nru ruby-json-2.0.1+dfsg/debian/control ruby-json-2.0.1+dfsg/debian/control --- ruby-json-2.0.1+dfsg/debian/control 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/control 2017-03-13 11:54:41.000000000 +0000 @@ -6,7 +6,11 @@ Antonio Terceiro <terce...@softwarelivre.org>, Cédric Boutillier <bou...@debian.org> Build-Depends: debhelper (>= 9~), + default-jdk, gem2deb, + git, + jruby, + locales-all, ruby-test-unit Standards-Version: 3.9.8 Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-json.git @@ -26,3 +30,19 @@ Ruby, allowing the developer to easily convert data between Ruby and JSON. You can think of it as a low fat alternative to XML, if you want to store data to disk or transmit it over a network rather than use a verbose markup language. + +Package: jruby-json +Architecture: all +Depends: ${misc:Depends}, + ${shlibs:Depends} +Enhances: jruby +Description: JSON library for Ruby - java extension + This library implements the JSON (JavaScript Object Notation) specification in + Ruby, allowing the developer to easily convert data between Ruby and JSON. You + can think of it as a low fat alternative to XML, if you want to store data to + disk or transmit it over a network rather than use a verbose markup language. + . + This package contains an implementation of JSON Ruby specification written in + Java and is suitable for use with JRuby interpreter since provides a better + performance than the "pure" JSON gem written in Ruby and available in ruby-json + package. diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.docs ruby-json-2.0.1+dfsg/debian/jruby-json.docs --- ruby-json-2.0.1+dfsg/debian/jruby-json.docs 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.docs 2017-03-13 12:11:36.000000000 +0000 @@ -0,0 +1,2 @@ +README-json-jruby.md +README.md diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.examples ruby-json-2.0.1+dfsg/debian/jruby-json.examples --- ruby-json-2.0.1+dfsg/debian/jruby-json.examples 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.examples 2017-03-13 12:12:42.000000000 +0000 @@ -0,0 +1 @@ +tools/* diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.install ruby-json-2.0.1+dfsg/debian/jruby-json.install --- ruby-json-2.0.1+dfsg/debian/jruby-json.install 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.install 2017-03-12 23:24:37.000000000 +0000 @@ -0,0 +1 @@ +lib/json usr/share/jruby/lib/ruby/stdlib diff -Nru ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch --- ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 2017-03-13 12:21:51.000000000 +0000 @@ -4,56 +4,10 @@ This is required so that autopkgtest finds the correct gemspec. --- - json-java.gemspec | 38 -------------------------------------- json_pure.gemspec | 37 ------------------------------------- - 2 files changed, 75 deletions(-) - delete mode 100644 json-java.gemspec + 1 files changed, 37 deletions(-) delete mode 100644 json_pure.gemspec -diff --git a/json-java.gemspec b/json-java.gemspec -deleted file mode 100644 -index 1524b1f..0000000 ---- a/json-java.gemspec -+++ /dev/null -@@ -1,38 +0,0 @@ --#!/usr/bin/env jruby --require "rubygems" -- --spec = Gem::Specification.new do |s| -- s.name = "json" -- s.version = File.read("VERSION").chomp -- s.summary = "JSON implementation for JRuby" -- s.description = "A JSON implementation as a JRuby extension." -- s.author = "Daniel Luz" -- s.email = "dev+r...@mernen.com" -- s.homepage = "http://json-jruby.rubyforge.org/" -- s.platform = 'java' -- s.rubyforge_project = "json-jruby" -- s.licenses = ["Ruby"] -- -- s.files = Dir["{docs,lib,tests}/**/*"] -- -- if s.respond_to? :specification_version then -- s.specification_version = 4 -- -- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then -- s.add_development_dependency(%q<rake>, [">= 0"]) -- s.add_development_dependency(%q<test-unit>, ["~> 2.0"]) -- else -- s.add_dependency(%q<rake>, [">= 0"]) -- s.add_dependency(%q<test-unit>, ["~> 2.0"]) -- end -- else -- s.add_dependency(%q<rake>, [">= 0"]) -- s.add_dependency(%q<test-unit>, ["~> 2.0"]) -- end --end -- --if $0 == __FILE__ -- Gem::Builder.new(spec).build --else -- spec --end diff --git a/json_pure.gemspec b/json_pure.gemspec deleted file mode 100644 index bf7dc79..0000000 diff -Nru ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch --- ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch 2017-03-13 12:18:06.000000000 +0000 @@ -0,0 +1,13 @@ +Description: Disable rubygems usage for dependencies management +Author: Miguel Landaeta <nomad...@debian.org> +Forwarded: no +Last-Update: 2017-03-12 + +--- ruby-json-2.0.1+dfsg.orig/tests/test_helper.rb ++++ ruby-json-2.0.1+dfsg/tests/test_helper.rb +@@ -1,4 +1,4 @@ +-gem 'json', File.read('VERSION').chomp ++# gem 'json', File.read('VERSION').chomp + + case ENV['JSON'] + when 'pure' diff -Nru ruby-json-2.0.1+dfsg/debian/patches/series ruby-json-2.0.1+dfsg/debian/patches/series --- ruby-json-2.0.1+dfsg/debian/patches/series 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/series 2017-03-13 11:05:59.000000000 +0000 @@ -1,3 +1,4 @@ 02-fix-fuzz.rb-shebang.patch 04-fix-tests-path.patch 0003-Remove-additional-gemspec-files.patch +0005-Disable-rubygems-usage-in-tests-helper.patch diff -Nru ruby-json-2.0.1+dfsg/debian/ruby-tests.rb ruby-json-2.0.1+dfsg/debian/ruby-tests.rb --- ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 2017-03-12 23:23:21.000000000 +0000 @@ -7,3 +7,6 @@ ENV['json'] = 'ext' puts "Ext version of the tests" system("#{ENV['RUBY_TEST_BIN']} #{inc} tests/*_test.rb") or raise +ENV['JSON'] = 'ext' +puts "Java ext version of the tests" +system("jruby -S rake test_ext") or raise diff -Nru ruby-json-2.0.1+dfsg/debian/rules ruby-json-2.0.1+dfsg/debian/rules --- ruby-json-2.0.1+dfsg/debian/rules 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/rules 2017-03-13 12:06:58.000000000 +0000 @@ -2,6 +2,21 @@ export DH_RUBY_GEMSPEC=json.gemspec export GEM2DEB_TEST_RUNNER = --check-dependencies +export JAVA_HOME = /usr/lib/jvm/default-java +export LC_ALL = en_US.UTF-8 %: dh $@ --buildsystem=ruby --with ruby + +override_dh_auto_build: + jruby -S rake build + +override_dh_install: + dh_install + find ./debian/ruby-json/ -type f -name '*.jar' -delete + find ./debian/jruby-json/ -type f -name '.keep' -size 0 -delete + +override_dh_auto_clean: + dh_auto_clean + jruby -S rake clean + -rm -r ./pkg/ Cheers, Miguel. -- System Information: Debian Release: 8.7 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.0.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) -- Miguel Landaeta, nomadium at debian.org secure email with PGP 0x6E608B637D8967E9 available at http://miguel.cc/key. "Faith means not wanting to know what is true." -- Nietzsche
diff -Nru ruby-json-2.0.1+dfsg/debian/changelog ruby-json-2.0.1+dfsg/debian/changelog --- ruby-json-2.0.1+dfsg/debian/changelog 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/changelog 2017-03-13 18:31:15.000000000 +0000 @@ -1,3 +1,10 @@ +ruby-json (2.0.1+dfsg-4) experimental; urgency=medium + + * Team upload. + * Build java extension and add new binary package jruby-json for it. + + -- Miguel Landaeta <nomad...@debian.org> Mon, 13 Mar 2017 18:31:15 +0000 + ruby-json (2.0.1+dfsg-3) unstable; urgency=medium * Add Conflicts: ruby-json-pure (Closes: #847141) diff -Nru ruby-json-2.0.1+dfsg/debian/control ruby-json-2.0.1+dfsg/debian/control --- ruby-json-2.0.1+dfsg/debian/control 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/control 2017-03-13 11:54:41.000000000 +0000 @@ -6,7 +6,11 @@ Antonio Terceiro <terce...@softwarelivre.org>, Cédric Boutillier <bou...@debian.org> Build-Depends: debhelper (>= 9~), + default-jdk, gem2deb, + git, + jruby, + locales-all, ruby-test-unit Standards-Version: 3.9.8 Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-json.git @@ -26,3 +30,19 @@ Ruby, allowing the developer to easily convert data between Ruby and JSON. You can think of it as a low fat alternative to XML, if you want to store data to disk or transmit it over a network rather than use a verbose markup language. + +Package: jruby-json +Architecture: all +Depends: ${misc:Depends}, + ${shlibs:Depends} +Enhances: jruby +Description: JSON library for Ruby - java extension + This library implements the JSON (JavaScript Object Notation) specification in + Ruby, allowing the developer to easily convert data between Ruby and JSON. You + can think of it as a low fat alternative to XML, if you want to store data to + disk or transmit it over a network rather than use a verbose markup language. + . + This package contains an implementation of JSON Ruby specification written in + Java and is suitable for use with JRuby interpreter since provides a better + performance than the "pure" JSON gem written in Ruby and available in ruby-json + package. diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.docs ruby-json-2.0.1+dfsg/debian/jruby-json.docs --- ruby-json-2.0.1+dfsg/debian/jruby-json.docs 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.docs 2017-03-13 12:11:36.000000000 +0000 @@ -0,0 +1,2 @@ +README-json-jruby.md +README.md diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.examples ruby-json-2.0.1+dfsg/debian/jruby-json.examples --- ruby-json-2.0.1+dfsg/debian/jruby-json.examples 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.examples 2017-03-13 12:12:42.000000000 +0000 @@ -0,0 +1 @@ +tools/* diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.install ruby-json-2.0.1+dfsg/debian/jruby-json.install --- ruby-json-2.0.1+dfsg/debian/jruby-json.install 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/jruby-json.install 2017-03-12 23:24:37.000000000 +0000 @@ -0,0 +1 @@ +lib/json usr/share/jruby/lib/ruby/stdlib diff -Nru ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch --- ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 2017-03-13 12:21:51.000000000 +0000 @@ -4,56 +4,10 @@ This is required so that autopkgtest finds the correct gemspec. --- - json-java.gemspec | 38 -------------------------------------- json_pure.gemspec | 37 ------------------------------------- - 2 files changed, 75 deletions(-) - delete mode 100644 json-java.gemspec + 1 files changed, 37 deletions(-) delete mode 100644 json_pure.gemspec -diff --git a/json-java.gemspec b/json-java.gemspec -deleted file mode 100644 -index 1524b1f..0000000 ---- a/json-java.gemspec -+++ /dev/null -@@ -1,38 +0,0 @@ --#!/usr/bin/env jruby --require "rubygems" -- --spec = Gem::Specification.new do |s| -- s.name = "json" -- s.version = File.read("VERSION").chomp -- s.summary = "JSON implementation for JRuby" -- s.description = "A JSON implementation as a JRuby extension." -- s.author = "Daniel Luz" -- s.email = "dev+r...@mernen.com" -- s.homepage = "http://json-jruby.rubyforge.org/" -- s.platform = 'java' -- s.rubyforge_project = "json-jruby" -- s.licenses = ["Ruby"] -- -- s.files = Dir["{docs,lib,tests}/**/*"] -- -- if s.respond_to? :specification_version then -- s.specification_version = 4 -- -- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then -- s.add_development_dependency(%q<rake>, [">= 0"]) -- s.add_development_dependency(%q<test-unit>, ["~> 2.0"]) -- else -- s.add_dependency(%q<rake>, [">= 0"]) -- s.add_dependency(%q<test-unit>, ["~> 2.0"]) -- end -- else -- s.add_dependency(%q<rake>, [">= 0"]) -- s.add_dependency(%q<test-unit>, ["~> 2.0"]) -- end --end -- --if $0 == __FILE__ -- Gem::Builder.new(spec).build --else -- spec --end diff --git a/json_pure.gemspec b/json_pure.gemspec deleted file mode 100644 index bf7dc79..0000000 diff -Nru ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch --- ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch 1970-01-01 00:00:00.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch 2017-03-13 12:18:06.000000000 +0000 @@ -0,0 +1,13 @@ +Description: Disable rubygems usage for dependencies management +Author: Miguel Landaeta <nomad...@debian.org> +Forwarded: no +Last-Update: 2017-03-12 + +--- ruby-json-2.0.1+dfsg.orig/tests/test_helper.rb ++++ ruby-json-2.0.1+dfsg/tests/test_helper.rb +@@ -1,4 +1,4 @@ +-gem 'json', File.read('VERSION').chomp ++# gem 'json', File.read('VERSION').chomp + + case ENV['JSON'] + when 'pure' diff -Nru ruby-json-2.0.1+dfsg/debian/patches/series ruby-json-2.0.1+dfsg/debian/patches/series --- ruby-json-2.0.1+dfsg/debian/patches/series 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/patches/series 2017-03-13 11:05:59.000000000 +0000 @@ -1,3 +1,4 @@ 02-fix-fuzz.rb-shebang.patch 04-fix-tests-path.patch 0003-Remove-additional-gemspec-files.patch +0005-Disable-rubygems-usage-in-tests-helper.patch diff -Nru ruby-json-2.0.1+dfsg/debian/ruby-tests.rb ruby-json-2.0.1+dfsg/debian/ruby-tests.rb --- ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 2017-03-12 23:23:21.000000000 +0000 @@ -7,3 +7,6 @@ ENV['json'] = 'ext' puts "Ext version of the tests" system("#{ENV['RUBY_TEST_BIN']} #{inc} tests/*_test.rb") or raise +ENV['JSON'] = 'ext' +puts "Java ext version of the tests" +system("jruby -S rake test_ext") or raise diff -Nru ruby-json-2.0.1+dfsg/debian/rules ruby-json-2.0.1+dfsg/debian/rules --- ruby-json-2.0.1+dfsg/debian/rules 2016-12-05 23:33:24.000000000 +0000 +++ ruby-json-2.0.1+dfsg/debian/rules 2017-03-13 12:06:58.000000000 +0000 @@ -2,6 +2,21 @@ export DH_RUBY_GEMSPEC=json.gemspec export GEM2DEB_TEST_RUNNER = --check-dependencies +export JAVA_HOME = /usr/lib/jvm/default-java +export LC_ALL = en_US.UTF-8 %: dh $@ --buildsystem=ruby --with ruby + +override_dh_auto_build: + jruby -S rake build + +override_dh_install: + dh_install + find ./debian/ruby-json/ -type f -name '*.jar' -delete + find ./debian/jruby-json/ -type f -name '.keep' -size 0 -delete + +override_dh_auto_clean: + dh_auto_clean + jruby -S rake clean + -rm -r ./pkg/
ruby-json_2.0.1+dfsg-4_amd64.build.gz
Description: application/gzip
signature.asc
Description: Digital signature