[Pkg-puppet-devel] Bug#888145: r10k: FTBFS on ruby2.5: undefined method `features' for Rugged:Module

Chris West (Faux) debian at fau.xxx
Tue Jan 23 17:02:49 UTC 2018


Source: r10k
Version: 2.6.1-1
Severity: important
User: debian-ruby at lists.debian.org
Usertags: ruby2.5

Dear Maintainer,

This package fails to build against ruby2.5. Soon, there will
be a transition to ruby2.5, and this package will FTBFS in sid.

There may be some details on the wiki about common problems:
https://wiki.debian.org/Teams/Ruby/Ruby25Transition

Build log excerpt:


Finished in 7.41 seconds (files took 0.74599 seconds to load)
707 examples, 0 failures, 3 pending

/usr/bin/ruby2.5 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby2.5 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=/build/r10k-2.6.1/debian/r10k/usr/lib/ruby/vendor_ruby:. GEM_PATH=debian/r10k/usr/share/rubygems-integration/all:/root/.gem/ruby/2.5.0:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby2.5 /usr/bin/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb  --exclude-pattern ./spec/unit/forge/module_release_spec.rb
...............................................................................*...................................................................................................................................................................................................FFF.............................................................*.............*...........................................................................................................................................................................................................................................................................................#<Thread:0x000056216eb4e638@/build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:30 run> terminated with exception (report_on_exception is true):
/build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:53:in `select': closed stream (IOError)
	from /build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:53:in `rescue in pump'
	from /build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:48:in `pump'
	from /build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:30:in `block in start'
#<Thread:0x000056216eb4e430@/build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:30 run> terminated with exception (report_on_exception is true):
<internal:prelude>:74:in `__read_nonblock': stream closed in another thread (IOError)
	from <internal:prelude>:74:in `read_nonblock'
	from /build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:49:in `pump'
	from /build/r10k-2.6.1/lib/r10k/util/subprocess/runner/pump.rb:30:in `block in start'
.......................

Pending: (Failures listed here are expected and do not affect your suite's status)

...

Failures:

  1) R10K::Git explicitly setting the provider under c-based rubies sets the current provider if the provider exists and is functional
     Failure/Error: if !::Rugged.features.include?(transport)

     NoMethodError:
       undefined method `features' for Rugged:Module
     # ./lib/r10k/git.rb:31:in `block (2 levels) in <module:Git>'
     # ./lib/r10k/git.rb:30:in `each'
     # ./lib/r10k/git.rb:30:in `block in <module:Git>'
     # ./lib/r10k/git.rb:92:in `provider='
     # ./spec/unit/git_spec.rb:59:in `block (4 levels) in <top (required)>'

  2) R10K::Git retrieving the current provider under c-based rubies uses the default if a provider has not been set
     Failure/Error: raise R10K::Error, _("Git provider '%{name}' is not functional.") % {name: name}

     R10K::Error:
       Git provider 'rugged' is not functional.
     # ./lib/r10k/git.rb:89:in `provider='
     # ./lib/r10k/git.rb:106:in `provider'
     # ./spec/unit/git_spec.rb:77:in `block (4 levels) in <top (required)>'

  3) R10K::Git retrieving the current provider under c-based rubies uses an explicitly set provider
     Failure/Error: if !::Rugged.features.include?(transport)

     NoMethodError:
       undefined method `features' for Rugged:Module
     # ./lib/r10k/git.rb:31:in `block (2 levels) in <module:Git>'
     # ./lib/r10k/git.rb:30:in `each'
     # ./lib/r10k/git.rb:30:in `block in <module:Git>'
     # ./lib/r10k/git.rb:92:in `provider='
     # ./spec/unit/git_spec.rb:82:in `block (4 levels) in <top (required)>'

Finished in 3.97 seconds (files took 0.70702 seconds to load)
660 examples, 3 failures, 3 pending

Failed examples:

rspec ./spec/unit/git_spec.rb:57 # R10K::Git explicitly setting the provider under c-based rubies sets the current provider if the provider exists and is functional
rspec ./spec/unit/git_spec.rb:75 # R10K::Git retrieving the current provider under c-based rubies uses the default if a provider has not been set
rspec ./spec/unit/git_spec.rb:80 # R10K::Git retrieving the current provider under c-based rubies uses an explicitly set provider

/usr/bin/ruby2.5 /usr/bin/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb  --exclude-pattern ./spec/unit/forge/module_release_spec.rb failed
ERROR: Test "ruby2.5" failed. Exiting.
dh_auto_install: dh_ruby --install /build/r10k-2.6.1/debian/r10k returned exit code 1
make: *** [binary] Error 1
debian/rules:5: recipe for target 'binary' failed
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Full build log:
https://rbuild.fau.xxx/2018-01-23/r10k.log

Please fix it!

Cheers,
Chris.



More information about the Pkg-puppet-devel mailing list