Control: tag -1 + patch
Control: retitle -1 FTBFS with ruby-sinatra >= 3.0: gemspec has strict 
dependency on sinatra ~> 2

On Sat, Dec 24, 2022 at 12:50:51PM -0300, Antonio Terceiro wrote:
> Source: schleuder
> Version: 4.0.3-6
> Severity: important
> Justification: FTBFS
> Tags: sid ftbfs
> User: debian-r...@lists.debian.org
> Usertags: sinatra-3
> 
> Hi,
> 
> While trying rebuilds with src:ruby-sinatra 3.0.5-1, your package failed to
> build on amd64. Please try to support sinatra 3 as soon as possible, as we
> would like to have that version in bookworm.
> 
> Relevant part (hopefully):
> >       NoMethodError:
> >         undefined method `first_plaintext_part' for nil:NilClass
> > 
> >               expect(mail.first_plaintext_part.decoded).to 
> > include("Refreshing all keys from the keyring of list #{list.email} 
> > resulted in this")
> >                          ^^^^^^^^^^^^^^^^^^^^^
> >       # ./spec/schleuder/integration/cli_spec.rb:56:in `block (3 levels) in 
> > <top (required)>'
> >       # ./spec/spec_helper.rb:64:in `block (3 levels) in <top (required)>'
> >       # ./spec/spec_helper.rb:63:in `block (2 levels) in <top (required)>'
> > 
> > Finished in 3 minutes 13.9 seconds (files took 0.93149 seconds to load)
> > 543 examples, 18 failures
> > 
> > Failed examples:
> > 
> > rspec ./spec/schleuder/unit/list_spec.rb:512 # Schleuder::List#fetch_keys 
> > fetches one key by fingerprint
> > rspec ./spec/schleuder/unit/list_spec.rb:526 # Schleuder::List#fetch_keys 
> > fetches one key by URL
> > rspec ./spec/schleuder/unit/list_spec.rb:540 # Schleuder::List#fetch_keys 
> > fetches one key by email address
> > rspec ./spec/schleuder/unit/list_spec.rb:554 # Schleuder::List#fetch_keys 
> > does not import non-self-signatures
> > rspec ./spec/schleuder/unit/gpgme_ctx_spec.rb:212 # GPGME::Ctx#refresh_keys 
> > does not import non-self-signatures
> > rspec ./spec/schleuder/unit/gpgme_ctx_spec.rb:200 # GPGME::Ctx#refresh_keys 
> > reports errors from refreshing keys
> > rspec ./spec/schleuder/unit/gpgme_ctx_spec.rb:186 # GPGME::Ctx#refresh_keys 
> > updates keys from the keyserver
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1444 # user sends 
> > keyword x-fetch-key with fingerprint
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1516 # user sends 
> > keyword x-fetch-key without arguments
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1480 # user sends 
> > keyword x-fetch-key with fingerprint of unchanged key
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1330 # user sends 
> > keyword x-fetch-key with URL
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1408 # user sends 
> > keyword x-fetch-key with unknown fingerprint
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1294 # user sends 
> > keyword x-fetch-key with unknown email-address
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1258 # user sends 
> > keyword x-fetch-key with email address
> > rspec ./spec/schleuder/integration/keywords_spec.rb:1368 # user sends 
> > keyword x-fetch-key with invalid URL
> > rspec ./spec/schleuder/integration/cli_spec.rb:25 # cli #refresh_keys 
> > updates keys from the keyserver for only a specific list
> > rspec ./spec/schleuder/integration/cli_spec.rb:5 # cli #refresh_keys 
> > updates keys from the keyserver
> > rspec ./spec/schleuder/integration/cli_spec.rb:48 # cli #refresh_keys 
> > reports errors from refreshing keys
> > 
> > Randomized with seed 37252
> > 
> > /usr/bin/ruby3.1 
> > -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib
> >  /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec 
> > --format documentation failed
> > ERROR: Test "ruby3.1" failed: 

Actually, all of those failures are related to an issue on my local
system. I had something else running on 9999, so the test suite could
not start spec/sks-mock.rb.

The only blocker, really, to taking sinatra 3 is the dependency
declaration in the gemspec, which says sinatra ~> 2. If I replace that
~> with a >=, then everything just works (at least all the tests pass).

I'm making an upload with a patch relaxing this dependency.
From: Antonio Terceiro <terce...@debian.org>
Date: Mon, 26 Dec 2022 15:20:34 -0300
Subject: gemspec: accept sinatra 3

All the tests pass, so it should be fine.
---
 schleuder.gemspec | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/schleuder.gemspec b/schleuder.gemspec
index 277b5d2..c28e28f 100644
--- a/schleuder.gemspec
+++ b/schleuder.gemspec
@@ -32,8 +32,8 @@ Gem::Specification.new do |s|
   s.add_runtime_dependency 'mail', '~> 2.7.1'
   s.add_runtime_dependency 'mail-gpg', '~> 0.3'
   s.add_runtime_dependency 'rake', '>= 10.5.0'
-  s.add_runtime_dependency 'sinatra', '~> 2'
-  s.add_runtime_dependency 'sinatra-contrib', '~> 2'
+  s.add_runtime_dependency 'sinatra', '>= 2'
+  s.add_runtime_dependency 'sinatra-contrib', '>= 2'
   s.add_runtime_dependency 'sqlite3', '~> 1.4.2'
   s.add_runtime_dependency 'thin', '~> 1'
   s.add_runtime_dependency 'thor', '~> 1'

Attachment: signature.asc
Description: PGP signature

Reply via email to