Ticket #2167 (new RFC)
Storable format breaks pmc2c when Perl is upgraded
Reported by: | allison | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | pmc2c | Version: | 3.6.0 |
Severity: | medium | Keywords: | |
Cc: | pmichaud, shockwave, cotto{{{ | Language: | |
Patch status: | Platform: |
Description
Downstream in Debian, the upgrade from Perl 5.10 to 5.12 broke Rakudo compiles, because the installed PMC .dump files were written using the 5.10 version of Storable, and could not be read using the 5.12 version of Storable. The upstream bugs (closed) related to this failure are:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634105
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634970
This is solved in the short-term, but in the longer-term, Storable is not a good format for installed, persistent metadata. (It was never intended to be installed, only to be a temporary build-process cache.)
We need to re-examine what metadata pmc2c actually needs for building PMCs that inherit from core Parrot PMCs. I suspect that it's actually much smaller than the current .dump files, and that installing some simple JSON metadata files for the core PMCs would actually be sufficient.
The work on M0 will eventually make this irrelevant, but that work would likely also benefit from some thought about abstracting the metadata needed to inherit from a PMC.