Package: libparse-recdescent-perl Version: 1.967006+dfsg-1 X-Debbugs-Cc: debian-p...@lists.debian.org
[cc'ing the debian-perl list as this issue potentially affects many libparse-recdescent-perl reverse dependencies.] As seen in #662599, recent libparse-recdescent-perl versions introduced backwards incompatible changes that broke precompiled grammar modules in the libmail-imapclient-perl package. So it looks like libparse-recdescent-perl should break libmail-imapclient-perl (<< 3.30-2) to make sure the regressions don't occur with partial upgrades from squeeze. The breakage also happens the other way around, so the new libmail-imapclient-perl needs to depend on the newer libparse-recdescent-perl. I'll clone and reassign this bug once I get the ack. This may well not be the only case of a precompiled grammar breaking on Parse::RecDescent upgrades. The libtm-perl changelog indicates that one had problems too, although I don't see a bug filed. It would be good if somebody could go through the libparse-recdescent-perl reverse dependencies and check if there are other ones with precompiled grammars and if they're still working. Fortunately things are improving; see the documentation quote below . Embedding Parse::RecDescent and recompiling the grammars every time during the Debian package build would be the best long term solution AFAICS. Due to the 'experimental' part, I suppose we should not adopt this in Debian quite yet unless this kind breakage is very widespread, but it's worth keeping an eye on. Standalone Precompiled Parsers Until version 1.967003 of Parse::RecDescent, parser modules built with "Precompile" were dependent on Parse::RecDescent. Future Parse::RecDescent releases with different internal implementations would break pre-existing precompiled parsers. Version 1.967_005 added the ability for Parse::RecDescent to include itself in the resulting .pm file if you pass the boolean option "-standalone" to "Precompile": Parse::RecDescent->Precompile({ -standalone = 1, }, $grammar, "My::New::Parser"); Parse::RecDescent is included as Parse::RecDescent::_Runtime in order to avoid conflicts between an installed version of Parse::RecDescent and a precompiled, standalone parser made with another version of Parse::RecDescent. This renaming is experimental, and is subject to change in future versions. Precompiled parsers remain dependent on Parse::RecDescent by default, as this feature is still considered experimental. In the future, standalone parsers will become the default. -- Niko Tyni nt...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org