Perl Toolchain Summit 2023 in Lyon
Four years have passed since the last Perl Toolchain Summit (PTS) in Marlow. I planned to continue working on PAUSE's web UI, but I didn't exactly remember what to do. So the first thing I did at home before the PTS was to read through the PAUSE issues and do some triage. I also resumed a virtual machine that held PAUSE clones I had worked on. There I found an untracked docker-compose.yml. It was incomplete. I must have given it up because I already had a working environment. However, I remembered a few people wanted an easier way to install PAUSE. It would be helpful if they could run PAUSE on docker. Thus I started filling missing parts of the YAML file. After making a few serious mistakes, I made a draft pull request on the first day of the PTS. Matthew Horsfall took it over then.
On that day, I also released a new version of Parse::PMFile that could get package/version information from the newly-introduced "class NAME VERSION" statement, hoping to apply the exact change to the PAUSE itself. Unfortunately, that didn't happen this year because we were not yet sure what would (unexpectedly) happen by the change. I'll do some investigation by the next time. I also wanted to make Perl::PrereqScanner::NotQuiteLite recognize the native class statement, but as it turned out to need more work than I expected, I just updated it to see new ":isa/:does" attributes of Object::Pad.
Having made a few more minor improvements for PAUSE on docker, I started another experimentation on day 2: multi-factor authentication for PAUSE. I didn't think we could use MFA when we log into PAUSE because PAUSE still uses basic authentication, but at least we could ask people to send an extra token when they upload modules or edit their accounts. So I made another draft pull request on top of PAUSE on docker as a proof of concept. We still have much to do on both sides (i.e., PAUSE and uploaders). Comments are welcome.
Meanwhile, I made a few pull requests to fix issues found while testing.
My PAUSE on docker was based on Debian bullseye, whose Perl was 5.32, but it turned out that the current PAUSE was running with Perl 5.16. So, on day 3, I made another draft pull request that used CentOS 7 as a base, which revealed a few dependency issues.
And it was about time for us to start merging stuff. I sat next to Andreas König and showed him what seemed ready to merge one by one. I fixed several more minor issues on days three and four.
Many thanks to Philippe Bruhat, Laurent Boivin, and Neil Bowers for organizing this event again and to our generous sponsors: Booking.com, Deriv, Grant Street Group, Fastmail, cPanel, Perl Careers, MaxMind, Fastly Inc., Perl Maven, OpenCage, Perl Services, Oetiker+Partner, Procura.