[DRE-maint] Bug#996139: ruby-bluefeather: FTBFS with ruby3.0: ERROR: Test "ruby3.0" failed: NoMethodError:

Antonio Terceiro terceiro at debian.org
Mon Oct 11 14:04:44 BST 2021


Source: ruby-bluefeather
Version: 0.41-5.1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.0

Hi,

We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-bluefeather was found to fail to build in that situation.

To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.

Relevant part (hopefully):
>      NoMethodError:
>        undefined method `escape' for URI:Module
>      # ./lib/bluefeather.rb:2016:in `escape_to_header_id'
>      # ./lib/bluefeather.rb:1641:in `block in transform_headers'
>      # ./lib/bluefeather.rb:1588:in `gsub'
>      # ./lib/bluefeather.rb:1588:in `transform_headers'
>      # ./lib/bluefeather.rb:732:in `apply_block_transforms'
>      # ./lib/bluefeather.rb:546:in `parse_text'
>      # ./lib/bluefeather.rb:583:in `parse_text_with_render_state'
>      # ./spec/header-id.rb:42:in `block (2 levels) in <top (required)>'
> 
> Deprecation Warnings:
> 
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStderr implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:25:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStderr implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:32:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStderr implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:38:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> Too many similar deprecation messages reported, disregarding further reports. Pass `--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> 
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStdout implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:24:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStdout implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:31:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> CUIMatcher::WriteToStdout implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/cui.rb:37:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> Too many similar deprecation messages reported, disregarding further reports. Pass `--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:58:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:59:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:100:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:101:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:116:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:117:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:132:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:196:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:19:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:248:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:36:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/header-id.rb:19:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/header-id.rb:31:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:97:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:132:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/encoding.rb:32:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> Too many similar deprecation messages reported, disregarding further reports. Pass `--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElement implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/toc.rb:34:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:28:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:29:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:86:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/auto-link.rb:87:in `block (5 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:115:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:131:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:165:in `block (2 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:18:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:195:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:221:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:247:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:35:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:46:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:47:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/code-block.rb:99:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:88:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:89:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:122:in `block (3 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> Too many similar deprecation messages reported, disregarding further reports. Pass `--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> 
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:19:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:20:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> NokogiriMatcher::HaveElements implements a legacy RSpec matcher
> protocol. For the current protocol you should expose the failure messages
> via the `failure_message` and `failure_message_when_negated` methods.
> (Used from /<<PKGBUILDDIR>>/spec/dl.rb:21:in `block (4 levels) in <top (required)>')
> --------------------------------------------------------------------------------
> Too many similar deprecation messages reported, disregarding further reports. Pass `--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> 
> Using `should` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }` instead. Called from /<<PKGBUILDDIR>>/spec/auto-link.rb:28:in `block (5 levels) in <top (required)>'.
> 
> 
> If you need more of the backtrace for any of these deprecations to
> identify where to make the necessary changes, you can configure
> `config.raise_errors_for_deprecations!`, and it will turn the
> deprecation warnings into errors, giving you the full backtrace.
> 
> 77 deprecation warnings total
> 
> Finished in 0.26209 seconds (files took 0.31774 seconds to load)
> 184 examples, 1 failure, 2 pending
> 
> Failed examples:
> 
> rspec ./spec/header-id.rb:70 # Auto Generated Header ID: escape: pattern matched
> 
> /usr/bin/ruby3.0 -Ku -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern spec/\*.rb failed
> ERROR: Test "ruby3.0" failed: 


The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-bluefeather/ruby-bluefeather_0.41-5.1+rebuild1633375808_amd64.build.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211011/d98eb50d/attachment-0001.sig>


More information about the Pkg-ruby-extras-maintainers mailing list