Hello, ruby-sig folks:
Recently I wanted to update packages I maintain, so I tried
rebuilding gem-based packages, and now I see some gem-based
packages began to FTBFS newly, and it seems that they are
not related to the packages I was going to update.
Also koschei shows they began to FTBFS recently.
Some pickups:
=====================================================
* rubygem-prawn-svg
https://koschei.fedoraproject.org/package/rubygem-prawn-svg
Failures:
1) Prawn::SVG::Document#initialize when unparsable XML is provided raises an
exception
Failure/Error:
expect do
Prawn::SVG::Document.new(svg, bounds, options)
end.to raise_error Prawn::SVG::Document::InvalidSVGData, 'The data
supplied is not a valid SVG document.'
expected Prawn::SVG::Document::InvalidSVGData with "The data supplied is not a valid SVG
document.", got #<REXML::ParseException:"Malformed XML: Content at the start of the document
(got 'this isn't SVG data')\nLine: 1\nPosition: 19\nLast 80 unconsumed characters:\n"> with
backtrace:
I've reported this to the upstream:
https://github.com/mogest/prawn-svg/pull/171
This is because of rubygem-rexml update (in ruby.src):
v3.2.8 -> 3.3.6 , especially:
https://github.com/ruby/rexml/commit/2bca7bd84a5cf13af8f5633dd7d3d519fc990d67
(Add support for detecting invalid XML that has unsupported
content before root element)
=====================================================
* rubygem-railties
https://koschei.fedoraproject.org/package/rubygem-railties
+ find test -type f -name '*_test.rb' -print0
+ sort -z
+ xargs -0 -n1 -i sh -c 'echo '\''* Test file: {}'\''; env -u NOTIFY_SOCKET
bundle exec ruby -Itest -- '\''{}'\'' || exit 255'
F
Failure:
ApplicationTests::BinSetupTest#test_bin_setup_output
[test/application/bin_setup_test.rb:51]:
--- expected
+++ actual
@@ -2,10 +2,16 @@
The Gemfile's dependencies are satisfied
== Preparing database ==
+/usr/share/gems/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/concern/deprecation.rb:1:
warning: logger was loaded from the standard library, but will no longer be
part of the default gems starting from Ruby 3.5.0.
+You can add logger to your Gemfile or gemspec to silence this warning.
Created database 'app_development'
Created database 'app_test'
Most probably due to ruby 3.3.4 -> 3.3.5 change, expecially:
https://github.com/ruby/ruby/commit/9ae91eb2aa8a82315026e72fb58d89bc23432335
The following change to rubygem-railties.spec seems to workaround this:
diff --git a/rubygem-railties.spec b/rubygem-railties.spec
index 90b5037..9a8adf6 100644
--- a/rubygem-railties.spec
+++ b/rubygem-railties.spec
@@ -160,6 +160,7 @@ echo 'gem "dalli"' >> ../Gemfile
echo 'gem "importmap-rails"' >> ../Gemfile
echo 'gem "irb"' >> ../Gemfile
echo 'gem "listen"' >> ../Gemfile
+echo 'gem "logger"' >> ../Gemfile
echo 'gem "method_source"' >> ../Gemfile
echo 'gem "mysql2"' >> ../Gemfile
echo 'gem "pg"' >> ../Gemfile
=====================================================
* rubygem-shoulda-matchers
https://koschei.fedoraproject.org/package/rubygem-shoulda-matchers
+ bundle exec rspec spec/unit
An error occurred while loading
./spec/unit/shoulda/matchers/action_controller/callback_matcher_spec.rb.
Failure/Error: require 'unit_spec_helper'
NoMethodError:
undefined method `join' for nil
#
/builddir/build/BUILD/rubygem-shoulda-matchers-5.1.0-build/spec/support/tests/command_runner.rb:165:in
`ensure in run'
#
/builddir/build/BUILD/rubygem-shoulda-matchers-5.1.0-build/spec/support/tests/command_runner.rb:165:in
`run'
....
....
spec/support/tests/command_runner.rb reads:
149 def run
150 pid = spawn(env, *command, options)
151 t = Thread.new do
152 loop do
153 @command_output += reader.read_nonblock(4096)
154 rescue IO::WaitReadable
155 IO.select([reader])
156 retry
157 rescue EOFError
158 break
159 end
160 end
161 Process.waitpid(pid)
162 @status = $?
163 ensure
164 writer.close unless writer.closed?
165 t.join <=====================
166 end
So Thread.join is now failing. I think this is related to ruby.src 3.3.4 ->
3.3.5 change
(looking at koschei changelog), however I have no idea why this is now
failing...
(BTW now I saw that Vít has posted another mail about rubygem-shoulda-matchers
failure,
not sure if this is related to bundler issue)
=====================================================
* rubygem-shoulda-context
https://koschei.fedoraproject.org/package/rubygem-shoulda-context
+ BUNDLE_GEMFILE=gemfiles/test.gemfile
+ bundle install --local
Resolving dependencies...
....
....
In test.gemfile:
mocha was resolved to 2.1.0, which depends on
ruby2_keywords
error: Bad exit status from /var/tmp/rpm-tmp.vi0IhZ (%check)
Maybe related to rubygem-bundler update (in ruby.src):
v2.5.11 -> 2.5.16 , not knowing for now how to fix this.
=====================================================
* rubygem-webmock
https://koschei.fedoraproject.org/package/rubygem-webmock
1) WebMock::RequestPattern when matching when matching requests with body
when body in pattern is declared as a hash for request with xml body and
content type is set to xml standard application/xml behaves like a xml body
should not match when body is not xml
Failure/Error: Crack::XML.parse(body)
REXML::ParseException:
Malformed XML: Content at the start of the document (got 'foo bar')
Line: 1
Position: 7
Last 80 unconsumed characters:
Shared Example Group: "a xml body" called from
./spec/unit/request_pattern_spec.rb:630
# /usr/share/gems/gems/rexml-3.3.6/lib/rexml/parsers/baseparser.rb:511:in
`pull_event'
# /usr/share/gems/gems/rexml-3.3.6/lib/rexml/parsers/baseparser.rb:237:in
`pull'
# /usr/share/gems/gems/crack-1.0.0/lib/crack/xml.rb:203:in `parse'
# /usr/share/gems/gems/crack-1.0.0/lib/crack/xml.rb:235:in `parse'
# ./lib/webmock/request_pattern.rb:306:in `body_as_hash'
# ./lib/webmock/request_pattern.rb:283:in `matches?'
# ./lib/webmock/request_pattern.rb:38:in `matches?'
# ./spec/unit/request_pattern_spec.rb:68:in `match'
# ./spec/unit/request_pattern_spec.rb:615:in `block (7 levels) in <top
(required)>'
# ./lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'
This also seems related to rubygem-rexml update as written in
rubygem-prawn-svg .
The problem here is that I have no idea currently where to fix error
(that is, fix in crack library / fix in webmock library / or fix in webmock
test code??)
=====================================================
I would appreciate it if some would investigate these FTBFS issues.
Regards,
Mamoru
--
_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue