#890046 jruby support broken on several architectures

#890046#5
Date:
2018-02-10 13:26:31 UTC
From:
To:
arm64:
dpkg-buildpackage: info: host architecture arm64
 fakeroot debian/rules clean
dh clean --buildsystem=ruby --with ruby
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<BUILDDIR>>/ruby-json-2.1.0+dfsg'
dh_auto_clean
	dh_ruby --clean
   dh_ruby --clean
jruby -S rake clean
rake aborted!
Errno::EACCES: Permission denied - /usr/bin/make
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:26:in `block in (root)'
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:26:in `<main>'
(See full trace by running task with --trace)
debian/rules:16: recipe for target 'override_dh_auto_clean' failed
make[1]: *** [override_dh_auto_clean] Error 1
make[1]: Leaving directory '/<<BUILDDIR>>/ruby-json-2.1.0+dfsg'
debian/rules:9: recipe for target 'clean' failed
make: *** [clean] Error 2


armhf:
cd java/src/json/ext
ragel -x Parser.rl |  -J
/bin/sh: 1: ragel: not found
/bin/sh: 1: -J: not found
rake aborted!
Command failed with status (127): [ragel -x Parser.rl |  -J...]
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:222:in `block in (root)'
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:218:in `block in (root)'
Tasks: TOP => build => jruby_gem => create_jar => create_parser_jar =>
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/lib/json/ext/parser.jar => compile =>
java/src/json/ext/Parser.class => java/src/json/ext/Parser.java
(See full trace by running task with --trace)
debian/rules:12: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 1
make[1]: Leaving directory '/<<BUILDDIR>>/ruby-json-2.1.0+dfsg'
debian/rules:9: recipe for target 'build-arch' failed
make: *** [build-arch] Error 2

mips*:

cd java/src
jar cf parser.jar json/ext/ByteListTranscoder.class json/ext/OptionsReader.class
json/ext/Parser$1.class json/ext/Parser$ParserResult.class
json/ext/Parser$ParserSession$1.class json/ext/Parser$ParserSession.class
json/ext/Parser.class json/ext/ParserService.class json/ext/RuntimeInfo.class
json/ext/StringDecoder.class json/ext/Utils.class
/usr/lib/ruby/vendor_ruby/rake/file_utils.rb:54: warning: executable? does not
in this environment and will return a dummy value
mv parser.jar /<<BUILDDIR>>/ruby-json-2.1.0+dfsg/lib/json/ext
rake aborted!
SystemCallError: Unknown error (SystemCallError) - Unknown Error (0) -
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/lib/json/ext/parser.jar
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:281:in `block in (root)'
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/Rakefile:271:in `block in (root)'
Tasks: TOP => build => jruby_gem => create_jar => create_parser_jar =>
/<<BUILDDIR>>/ruby-json-2.1.0+dfsg/lib/json/ext/parser.jar
(See full trace by running task with --trace)
debian/rules:12: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 1

#890046#10
Date:
2018-02-10 14:04:25 UTC
From:
To:
there are no build artifacts included in ruby-json, built for jruby. Except for
an additional README.  So what is that additional b-d used for?

#890046#15
Date:
2018-02-25 16:46:45 UTC
From:
To:
yes, there are:

$ dpkg -L ruby-json | grep jar
/usr/lib/ruby/vendor_ruby/json/ext/generator.jar
/usr/lib/ruby/vendor_ruby/json/ext/parser.jar

#890046#20
Date:
2018-02-25 17:24:07 UTC
From:
To:
Hi,

ruby-json currently FTBFS, and is blocking the Ruby transition, as
reported in bug #890046 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890046)

All failures are related to the jruby support, but this same version has
been in testing for ages, so somehow jruby became broken since then.

In order to unblock the migration, I'm uploading ruby-json 2.1.0+dfsg-2
with the jruby support removed, because I don't have the cycles
available to hunt down 3 different issues with jruby, including the fact
that system() is broken on arm64 (#891449). However, I don't have
anything against having jruby support back in once these issues have
been fixed.

#890046#29
Date:
2018-02-26 19:05:53 UTC
From:
To:
Hi,

Sorry if my slow reaction to this bug was blocking people with the
transition.

ruby-json Java extension should not being built in archs like mips,
since those files are arch-independent anyway. Given ruby-json is arch
any, what I propose to avoid this in the future is to do the same I did
with ruby-psych source package: build two packages, ruby-psych (any) and
libpsych-java (all).

Since MRI users usually don't care about JRuby extensions, it seems to me
like a good compromise to introduce a new package libruby-json-java (all) in
ruby-json source package.

That way ruby-json could add a Suggests on the -java package for JRuby
users and jruby itself would add a Recommends on the -java package as
well.

Once the switch to ruby2.5 is complete, I'll resume my work on jruby and
related packages. I'll upload the new package to experimental first in
any case.

Cheers,
Miguel.