El 29/10/20 a las 13:14, Antonio Terceiro escribió:

On Thu, Oct 29, 2020 at 11:17:59AM +0100, David Rodríguez wrote:
Hi!

Just to clarify why I prefer the second solution, I think what debian does is 
shipping precompiled versions of extensions, so technically the gemspec shipped 
in the debian should include no extensions at all. This is something some 
upstream gems already do. Take, for example, google-protobuf. It has a 
precompiled version for linux: 
https://rubygems.org/gems/google-protobuf/versions/3.13.0-x86_64-linux. If we 
fetch and unpack this package, we can see it includes the prebuilt `.so` 
extension, but no extensions in its gemspec:

$ gem fetch google-protobuf
Fetching google-protobuf-3.13.0-x86_64-linux.gem
Downloaded google-protobuf-3.13.0-x86_64-linux

$ gem unpack google-protobuf-3.13.0-x86_64-linux.gem
Unpacked gem: '/home/deivid/Code/playground/google-protobuf-3.13.0-x86_64-linux'

$ find google-protobuf-3.13.0-x86_64-linux -name '*.so'
google-protobuf-3.13.0-x86_64-linux/lib/google/2.6/protobuf_c.so
google-protobuf-3.13.0-x86_64-linux/lib/google/2.4/protobuf_c.so
google-protobuf-3.13.0-x86_64-linux/lib/google/2.7/protobuf_c.so
google-protobuf-3.13.0-x86_64-linux/lib/google/2.5/protobuf_c.so
google-protobuf-3.13.0-x86_64-linux/lib/google/2.3/protobuf_c.so

$ gem unpack google-protobuf-3.13.0-x86_64-linux.gem --spec && grep extensions 
google-protobuf-3.13.0-x86_64-linux.gemspec
extensions: []

I think the cleanest solution would be for debian to do the same thing.
Fair enough. Now that I think about it, extensions is supposed to be
a list of extensions that need to be built, so indeed dropping it from
the gemspec included in the Debian packages make sense.
Yeah, that's exactly how I expect the `extensions` field to be interpreted.

Thanks!

No problem, if you run into other issues, let me know!

Reply via email to