[DRE-maint] Bug#1000972: ruby-jaeger-client: Depends on ruby-thrift:amd64 which isn't available on other architectures

Antonio Terceiro terceiro at debian.org
Mon Dec 6 14:30:08 GMT 2021


Control: clone -1 -2
Control: reassign -2 gem2deb
Control: retitle -2 gem2deb: includes architecture qualifiers in ${ruby:Depends}

On Wed, Dec 01, 2021 at 09:16:13PM +0100, Paul Gevers wrote:
> Package: ruby-jaeger-client
> Version: 1.2.0-1
> Severity: serious
> Justification: uninstallable
> 
> ruby-jaeger-client is on my radar because it doesn't migrate for a
> long time. I was very puzzled by the output of britney:
> > ruby-jaeger-client/amd64 has unsatisfiable dependency
> > ruby-jaeger-client/arm64 has unsatisfiable dependency
> 
> Turns out this is probably a bug in britney, but it does point out an
> issue on all architectures but amd64. ruby-jaeger-client has a arch
> specifier in its depends: ruby-thrift:amd64. As I couldn't find this
> in the d/control file, I guess it's a tool chain issue (or a logical
> flow inside this package).
> 
> You can see the uninstallability in action on ci.debian.net where all
> architectures fail in unstable except amd64.
> 
> See below, grabbed from the arm64 Packages.
> 
> Paul
> 
> Package: ruby-jaeger-client
> Version: 1.2.0-1
> Installed-Size: 183
> Maintainer: Debian Ruby Team <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
> Architecture: all
> Depends: ruby:any, ruby-opentracing (>= 0.3), ruby-thrift:amd64
> Description: OpenTracing Tracer implementation for Jaeger
> Homepage: https://github.com/salemove/jaeger-client-ruby
> Description-md5: a7ce2ef441d13cf5a973833acaa48379
> Ruby-Versions: all
> Section: ruby
> Priority: optional
> Filename: pool/main/r/ruby-jaeger-client/ruby-jaeger-client_1.2.0-1_all.deb
> Size: 32476
> MD5sum: 0d382dbd396d9496ce63cd2aa3360ec8
> SHA256: 6df406498b9d15f095ece5355255c0a980ca70263c17bb0d3ab694261365d230

This happens because the mapping between Rubygems package names and
Debian packages sometimes will include an architecture qualifier,
because it uses the output of dpkg -S. I'm not sure why it doesn't
happen for all arch:any packages, though:

$ dpkg -S /usr/share/rubygems-integration/*/specifications/* | grep ruby-thrift
ruby-thrift:amd64: /usr/share/rubygems-integration/2.7.0/specifications/thrift-0.14.0.gemspec
ruby-thrift:amd64: /usr/share/rubygems-integration/3.0.0/specifications/thrift-0.14.0.gemspec
$ dpkg -S /usr/share/rubygems-integration/*/specifications/* | grep ruby-ffi:
ruby-ffi: /usr/share/rubygems-integration/2.7.0/specifications/ffi-1.12.2.gemspec
ruby-ffi: /usr/share/rubygems-integration/3.0.0/specifications/ffi-1.12.2.gemspec

gem2deb needs to be modified to strip the architecture off the package
name, and then ruby-jaeger-client needs to build depend on a new version
of gem2deb that contains the fix.
-------------- 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/20211206/a8d55ce9/attachment-0001.sig>


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