Bug#1023576: Need to change the way raku-api is built (will breaks modules)
Dominique Dumont
dod at debian.org
Sat Nov 19 17:49:49 GMT 2022
Hi
Following bug #1023576 and [1], the dependency between raku modules and rakudo
version needs to be tightened.
Until now, every raku-module depends on raku-api-<rakuversion> (currently is
raku-api-2022-07). The idea is to lock the pre-compiled files contained in a
raku-module package to a specific rakudo version.
Turns out this is not enough. The pre-compiled files are specific to raku
compiler id, which changes whenever nqp or rakudo sources are changed.
This source change occurred only on nqp or rakudo upgrades, until I had to
patch rakudo source code to fix a bug (#1019579).
To fix this, I need to make sure that a module is dependent on a rakudo version
with a matching compiler-id.
I see no other solution than to change the way rakudo is built to include the
compiler id in raku-api (well, only the first 8 chars, because compiler id is
quite long).
I.e. the next version of rakudo will have this in its control file:
Provides: raku-api-2022.07+a6fe09f2
And dh-raku-build will be modified to inject this dependency in raku modules.
E.g.:
Depends: raku-api-2022.07+a6fe09f2
So, the plan is:
- upload a new dh-raku (which will produce non installable raku module package
until rakudo is updated)
- upload a new version of rakudo in experimental
- trigger a transition so that all raku modules are rebuilt with new rakudo
and new dh-raku
Until the transition is complete, raku in Debian/unstable will be a mess.
If anyone has a better idea, I'm all ears ...
Dod
[1] https://github.com/rakudo/rakudo/issues/5099
More information about the Pkg-rakudo-devel
mailing list