Telephone +44(0)1524 64544
Email: info@shadowcat.co.uk

The PSIXDISTS experiment

Tue Aug 30 20:20:00 2016

The PSIXDISTS experiment

Because we have to start somewhere, and this somewhere looks sunny.

Where we're currently at

CPAN itself has for as long as the question has been under consideration been intended to be an archive network for all perls - or, for the moment, both.

PAUSE has for many years ignored the /Perl6/ directory inside each author directory, so that perl6 distributions don't get inadvertantly picked up and indexed as perl5 dists.

However, so far, perl6 module installation is almost entirely dependent on github - and while that's working for the moment, it doesn't strike us as necessarily being the optimal long term solution, at the very least.

What we are, and aren't, currently pondering

While www.cpan.org hosts both the index (i.e. the 02packages.details.txt.gz file) and the tarballs, those are effectively two separate concerns - the index changes regularly whereas the tarballs are immutable once written (hence why you'll find many of my dists have at least one release with a changes entry of "I screwed up building the tarball").

The part we're currently looking at is the tarball part, since that relies only on CPAN proper, and since P6AUSE is, in so far as it's planned at all, mostly a flock of open questions flying in close formation.

i.e. the object of the exercise here is to look at www.cpan.org as a distribution substrate for perl6 code, rather than to attempt to figure out how one decides which tarballs one wants to install. So .tar.gz files, yes, indexes, 'what indexes?' (yet).

The great experiment

So, in order to get an idea of how this would shake out, what we started doing was uploading github-hosted perl6 modules' releases into /PSIXDISTS/ - as dev releases, so nothing should accidentally index them.

PAUSE dealt with this fine, and the first experiments at a perl6 version of the metacpan indexer were starting to run against it, and there was much rejoicing.

Unfortunately, a number of downstream tools got epically confused because they didn't have the /Perl6/ exemption in place, and so we decided to pause (no pun intended) the uploads to give people a chance to fix stuff.

However, at this point there's very little to be done to try and find downstream consumers of e.g. the RECENT files that don't handle this correctly except to restart the uploads - so this blog post should be considered to be notice that, unless somebody can suggest other amelioration activities to perform first, we'll be restarting the uploads in two weeks (i.e. no sooner than Tuesday 13 September 2016).

If you've got feedback and/or suggestions to offer before then I can be reached as 'mst' on irc.perl.org and irc.freenode.net and you can email me at mst [at] shadowcat.co.uk - if you email, please put PSIXDISTS in the subject line to make things a bit easier to spot.

Summary

PSIXDISTS uploads to P/PS/PSIXDISTS/Perl6/ will resume soon, but no sooner than Tuesday 13 September 2016.

These will be dev-release only for the moment to minimise confusion. 02packages will be entirely unaffected and no other indexing is going to be being done within the CPAN infrastructure itself for the immediate future.

If you have tools consuming CPAN, you need to update them to understand that the /Perl6/ subdirectory of an author directory is perl6 code, not perl5, and to either skip those dists or handle them accordingly.

This is only a test. Do not adjust your phablet.

-- mst, out.