PAUSE ran out of diskspace this weekend, so we're asking everyone to delete old releases from their author directory. Every release you do to CPAN stays in your author directory until you choose to delete it. Sometimes you might want your old releases to stay available, but most of the time you could happily delete them (they're always available on BackPAN). Below I'll explain how you can do this.
Read more ...My current PAUSE tidy-up project is to resolve inconsistent first-come permissions on indexed distributions. In working on this I've created several scripts, and updated some modules. In this post I'll go through the most recent things I've done.
Read more ...In the past, if multiple people released the same distribution, and each of them added new modules to the distribution, then you'd end up with different people having ownership of modules making up a single distribution. That's a pain if you want to give co-maint to someone. PAUSE has been fixed now, to ensure consistent permissions, but there are historical inconsistencies. I'll describe the problem, and how we're fixing it.
Read more ...For the first 20 or so years, PAUSE treated indexing permissions case sensitively. So Foobar was considered a different module from foobar. This caused problems on operating systems with case insensitive filesystems like MacOS and Windows. So at previous QA Hackathons and Toolchain Summits, it was decided that PAUSE should treat indexing permissions case insensitively. In 2016, at the Rugby QA Hackathon, I started a project to resolve the historical clashes in indexing permissions.
Read more ...A recent change to PAUSE means that examples included in a CPAN release are no longer scanned for package names to index, and aren't checked for permissions. This simplifies the rules about indexing and permissions, and also helps us resolve some historical permissions conflicts. In this post I'll present the problem(s), explain what has changed, and what this means for CPAN authors.
Read more ...Andreas König and I have been working to remove the modulelist
permissions from the PAUSE database.
At the QA Hackathon we worked through the remaining cases,
where relevant reviewing them with RJBS,
and most of them were removed on the last day of the QAH.
Following the QAH we've resolved the last handful, so there are
no longer any 'm' permissions in 06perms.txt
.
This means that the relevant parts of PAUSE can be removed,
and a number of modules can be simplified.
This is the first part of a series about what happens when you upload a release to CPAN, via PAUSE. I started writing it as a single post, but it became way too long before I was even half way. This post will try to be the executive summary, or Reader's Digest condensed version if you like. Subsequent posts will dive into the details; I'll be filling gaps in my knowledge as I go, and expecting to be corrected on plenty of points as well.
Read more ...Last year I created PAUSE::Packages, which lets you iterate over all dists that PAUSE believes are still on CPAN. For a number of projects, including the CPAN Report 2013, I need to iterate over all releases of all dists. Yesterday I made the first release of CPAN::ReleaseHistory, which makes it easy to do that, in a similar way to PAUSE::Packages.
Read more ...I had a patch accepted which adds an is_core()
function
to Module::CoreList.
This was my first attempt at modifying a core module.
This post describes the function, why I wanted it, and my experience
adding it to a core module. And then fixing the bug I introduced!
I recently released a new version of my PAUSE::Packages module, which caches information about releases on CPAN and makes it easy to iterate over it. In this post I'll cover the motivation for this module, why I decided to transform the existing PAUSE export file, and how David Golden nudged me to use JSON.
Read more ...