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

Reply via email to