Perl QA Hackathon 2016: Configure
I write this from sunny Rugby, England, where I’m attending the QA Hackathon 2016. It’s always great to spend time with people who are active in the Perl community, not just socialising, but working on the software we all depend on.
I’ve been spending my time so far pairing with Tux (H.Merijn Brand) on Perl 5’s Configure system. There’s been a lot to learn. The script that’s run by people installing Perl is generated from a set of “units” that define how to probe for the relevant portability-related properties of the machine that's being compiled for, using a system called metaconfig, aka “dist”. But it wouldn’t be ideal if everyone working on Perl 5 itself had to learn about the intricacies of metaconfig just to be able to add a portability probe. So the current workflow is that the Configure script in Perl 5’s Git repo can be freely edited — but then the changes to it have to get backported to the separate metaconfig units. Then there’s a further set of backporting work needed to synchronise Perl’s modified copies of standard metaconfig units with their upstream versions.
Lately, Tux has been single-handedly taking on this huge and important task, and there doesn’t seem to be anyone else around with both the time and knowledge to do it. So I’ve volunteered to learn what’s involved, and hopefully I should be able to lend a hand in future. There have been a couple of minor roadblocks, unsurprisingly. Notably, it turns out that some of the metaconfig units have names that conflict on case-insensitive filesystems, including the default root filesystem on a Mac. And we’re just in the middle of trying to track the cause of a mysterious ordering change in the regenerated Configure script. But we’ve fairly rapidly backported the last year or so’s worth of Configure changes to the metaconfig units, and we’re moving on to upstream metaconfig synchronisation.
Beyond that, the last item of business for all attendees yesterday evening was to present Ricardo Signes with a Silver Camel award (and some other goodies), in recognition of the huge amount of work he’s done for both Perl 5 itself, p5p, and the Perl community during the four or five years he’s been serving as the pumpking. Thanks, Rik — we’re all incredibly grateful!
I should also take this opportunity to thank the QA Hackathon’s many sponsors for funding this event. It’s hugely valuable for people to work on the toolchain and all its surrounding components with such focus, and to have the opportunity to discuss future changes face-to-face.