Add projects below that you're thinking of working on. If you see someone else's project that you'd like to help on, add your name, but email them as well please.
Dot has left @INC in perl 5.26, with wide-ranging repercussions for the toolchain. In particular, how do we deal with PERL_USE_UNSAFE_INC in the future. And what can we do to make CPAN more compliant with a world without dot in @INC?
I'd like the way the PTS runs to be a bit more transparent. If others are interested I'd like to run through how I've been running (certain parts of) PTS for the last 2 years, and get input on what works well and what could be improved, so we can document "how we think PTS should work", for whoever runs it in subsequent years.
We got rid of all module-list permissions (the 'm' in 06perms.txt), but the UI still has the bits for module-list perms. We should get rid of this, to reduce confusion for end-users.
Try and resolve the last few case-sensitive permissions conflicts, and work with ANDK to get my proposed change merged, so they can't happen in the future.
We've had a few times recently where the CPAN master has stopped mirroring PAUSE. Eventually someone notices and the NOC are nudged. Andreas and I have outlined a way to monitor this, so we can alert much sooner. I'd like to implement our idea.
Rakudo's default Angular profiler's performance and memory footprint make it unsuitable for any serious development. A Qt profiler frontend (written in C++) is a partial replacement, though its missing features compared to its web-based counterpart. Needs to be updated to the new profiling data format and the SQL storage.
A sub-idea: port it to Perl 6 and see if it turns out to be more performant than the JS one? :)
Our current installation mechanism is very flexible (in a Turing complete way), but most of the time that isn't necessary. It could be useful if this dependency on shelling out to Makefile.PL/Build.PL could be eliminated where possible.
There are several conflicting pull requests that are still in progress of being applied to Module::Metadata, to pull out its version parsing into its own package, using a Safe compartment, and improving the large corpus of tests. Additionally, we would like to explore shipping the version parsing component in its own distribution and also potentially calling it from ExtUtils::MakeMaker so we can eliminate EUMM's own (slightly different) version of parse_version().
CPAN clients don't try and install recommends prereqs by default, because this has historically resulted in dependency cycles. I'd like to find all such cases, and think about whether there's a way the default behaviour for recommends could be changed, possibly discussing with ANDK (for CPAN) and MIYAGAWA (for cpanm).
Not sure if I'll be working on this but it's my fall back.
While researching Makefile.PL related failures due to dotless @INC, we developed a proof of concept that I think could be generally useful if maintained. It potentially could replace or enhance http://grep.cpan.me but be more stable in that it'd be available on github.
The big advantage is I could in a shorter amount of time walk all of the directories and test a certain thing like running Makefile.PL and seeing if it failed or not.
The proof of concept can be found here: https://github.com/toddr/minicpan_grep
Not sure if I'll be working on this but it's my fall back project.
We are currently building RPMs using some internal tools, that might also be used by the perl community. The goal is to clean and provide a these tools via a CPAN distro.
This is an extensible Build.PL implementation intended as a replacement for Module::Build.
This the minimalist authoring counterpart to Module::Build::Tiny. It's slowly gaining features and becoming a more complete authoring tool.
Rewritten changelog parser better reflects the reality of CPAN. Nearly complete.
Github Project - Kanban for PTS
Replace the syntax highlighter with a hopefully faster, more robust, and more maintained library.
A shim layer to handle cpanm requests to the v0 API. Could be expanded to handle other v0 clients if needed. Should allow us to drop the v0 indexes/servers without breaking common clients.
Improved search.mcpan.org redirection, supporting many additional URLs not handled by the current naive URL rewriting.
So rollouts do not cause network blips, Server starter config might also be useful
We have a framework for testing changes now, work on actually doing changes
I would like to have a client that can show all available endpoints and autocomplete them. Can do that with API::CLI. Would have to write an OpenAPI file for the MetaCPAN API.
Other To-Do items not listed here: https://gist.github.com/preaction/adc680973c5ec7dc70c80ad4808e1429
Fix outstanding bugs in the queue, specially those preventing tests from being sent or not giving out accurate and complete information on the results.
Integrate CPAN::Reporter with CPAN::Testers::Common::Client so both cpan and cpanm benefit from a common codebase (and remove tons of duplicate code).
Send other Metabase facts and get them to be properly parsed and manipulated by the CPAN Testers' servers. This will (hopefully) allow for much more granular query and analysis of test reports.
Look at the sync-from-git code.
The Amazon SimpleDB is costly, unwieldy, and does not allow good querying (because of the costs). Moving the primary incoming test report database to MySQL's JSON field will improve the queries we can run while removing the SimpleDB cost completely. https://github.com/cpan-testers/cpantesters-api/issues/3
The main processing task that reads incoming test reports and compiles the basic pass/fail statistics about them is too slow, often up to days behind the actual incoming test reports. There seems to be no low-hanging fruit to improve serial performance, so it will need to be parallelized and preferably distributed. I've written a couple modules to help: Beam::Runner and Beam::Minion. https://github.com/cpan-testers/cpantesters-backend/issues/1 https://github.com/cpan-testers/cpantesters-backend/issues/2 and https://github.com/cpan-testers/cpantesters-backend/issues/5
Make "cpan" (the app) actually look at the -x option when either Text::Levenshtein or Text::Levenshtein::Damerau are installed in order to make it go on instead of taking gigabytes of memory and causing the machine to halt.
Chat about getting Perl 6 authors to use CPAN (PAUSE already supports Perl6 modules), I'd be interested in talking with anyone who can help on this. I already run https://github.com/perl6modules but this should not be a long term solution.
Half a year ago, Nine has started collecting thoughts on a declarative build system for Perl 6 modules to replace Build.pm. The goal is to avoid touring complete build steps as much as possible which seems to align very well with "Static CPAN installation".
I've been generating the river data as a side effect of the mess of scripts I use to run the pull request challenge, build the adoption list, and some other stuff.
I'm working on a stand-alone generator for this data, and hoping to also have it generator lists like "dists that have changed bucket", etc. I was hoping to have it complete before PTS, but work and other Perl-related yak shaving probably means I'll work on it there.
As an experiment, I thought about running an inspection of Try::Tiny. There wasn't enough interest in this, and I have enough other things on my todo list, so I'm not going to do this.
All kinds of YAML related stuff
The current Release Manager's Guide is generated by a script that still contains steps you don't need to do, and sometimes in a different order than needed to be performed. I want to clean that up and generate a more fluent one. It might allow automating more of the release.
I want to possibly introduce a web interface to it as well, based on Renee's work here:
https://github.com/reneeb/5-25-10
version 48 saved on 09/05/17 21:25 by Doug Bell (preaction)