On 04/08/2012 11:08 AM, Alessandro Ghedini wrote: > I think I don't understand... NQP and Rakudo *do* ship compiled bytecode, and > would of course need to be rebuilt when a new Parrot release is uploaded. The > whole point of parrotapi-* is to make sure that Parrot and its libraries are > not updated on the users systems (or migrate to testing) until the rebuild of > the compilers is done. This way we avoid that Parrot-based compilers don't > break > in the period of time between the Parrot upload and the compilers rebuild > (which > may be more or less long). > > But the PBC libraries built from Parrot *do* break the compilers if they are > updated before the compilers themselves and the other Parrot packages, and > that > is why they need to be "constrained" by the parrotapi-* mechanism too. Making > them depend on parrotapi-* is just one way, the other would be to make parrot > striclty depend (as in (= X.Y.Z)) on them.
I'm agreeing with you, +1, we should go ahead. Use parrotapi-* both for external packages like NQP and Rakudo, and for binary packages built from the Parrot source package (if they contain compiled bytecode, or other version-dependent compiled output like dynpmcs, PMC .dump files, dynops, output of pmc2exe, etc...). Allison