On Sat, Aug 20, 2022 at 01:45:38PM -0300, Antonio Terceiro wrote: > Hello, > > Today, we have XS-Ruby-Versions and XB-Ruby-Versions: fields in our > source packages. There are two fields: > > - XS-Ruby-Versions is required by gem2deb to even build the package, and > is supposed to indicate which Ruby versions the package _should_ be > built for. For native (arch: any) packages, this influences for which > Ruby versions C extensions are even attempted to be built for. For all > packages, this also indicates which versions the package should be > tested against. > > - XB-Ruby-Versions is optional, and is usually filled by the expansion > of ${ruby:Versions}. This indicates which versions the package was > built and tested for. This could in principle be used during Ruby > transitions to known which ones need to be rebuilt, but in practice we > use the packages dependencies for that. > > Given that 1) we don't really support packages not working with all > available Ruby versions, 2) multiple ruby versions are only present > simultaneously during transitions, and 3) we only release with a single > version, I propose that we drop these entirely, and always build and > test for all supported Ruby versions. We would then consider packages > that don't work with all versions to be buggy. > > So I ask: is anyone using this Ruby-Versions mechanism to do something > valuable, and would miss if we just drop it?
Given all feedback that I got for this so far was positive, I have implemented and commited some changes to gem2deb in git to ignore the value of XS-Ruby-Versions: and print a warning in case it's found. Deprecating XB-Ruby-Versions: and ${ruby:Versions} is still TODO. Starting with the next gem2deb upload, it will be possible to drop XS-Ruby-Versions. But note that doing that would make packages non-backportable, because the gem2deb in stable still requires XS-Ruby-Versions.
signature.asc
Description: PGP signature