PTS 2019 Projects

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.

PAUSE

Implement the admin privilege

The admin privilege is described in the PAUSE Operating Model:

https://github.com/andk/pause/blob/master/doc/operating-model.md#32-admin-indexing-permission

There is an open ticket for this: https://github.com/andk/pause/issues/253

First order of business: agree what the permission should be called.

  • Charsbar
  • Andreas
  • NEILB

Charsbar projects

  • Kenichi Ishigaki (‎charsbar‎)
    • Merge mojo-wip branch into master
    • Implement permission manipulation per distribution
    • Prepare Dockerfile (or FakePAUSE?) to make it easier for others to test PAUSE/use PAUSE to test their tools

Pen testing of PAUSE

Using various tools to scan a local instance of PAUSE to check for any vulnerabilities and then looking into necessary changes. Depending on how long this takes this can also be done on other public facing tools/sites.

  • Lee

Update indexing permissions when case of package name changes

If people have perms on "foobar", and then one of them releases "Foobar", change all indexing permissions to refer to Foobar.

See: https://github.com/andk/pause/issues/250

* RJBS
* NEILB (providing encouragement to Rik)

MetaCPAN

Some MetaCPAN project

Benchmarking

Revive Perl::Formance

  • make it work for new Perl 5 releases
  • actually run new benchmarks
  • create results page and update http://perlformance.net
  • make the project more approachable for others

TAP::DOM in Elasticsearch

  • create mappings and code to put TAP::DOMs into Elasticsearch
  • planned as new base for my traditional Tapper query apis
  • ask for feedback, get tips from more experienced Elasticsearch users
  • this is mostly meant as discussion/prototype/kick-off work

Test2

  • Fix issues on Test2/Test-Simple
  • Fix issues on Test2-Suite
  • Work on Test2-Harness

CPAN Testers

  • Doug Bell (‎preaction‎)
    • Complete Github auth module (started at meta::hack 2018)
    • Create "Mark as Invalid" application
    • Start report management application

Devel::Cover

  • Paul Johnson (‎pjcj‎)
    • adapt Devel::Cover to handle signatures (currently loses branch coverage unless called with bad parameters)
    • get coverage of top-level statements (ie not within a sub) (enlist Aaron?)

cpancover

  • Paul Johnson (‎pjcj‎)
    • containerisation
    • put queue system live
    • look into failover/redundancy/backup with metacpan
    • allow user upload of coverage data
    • management of external dependencies (system libraries etc)

Test::Needs

  • Finish additions for non-module dependencies

Travis-CI Helpers

  • Revive perl build infrastructure
  • Address open issues and pull requests
  • investigate docker

CPAN.pm

  • option to disallow installation of distros based on various criteria, first of all outdated distros (aka issue https://rt.cpan.org/Ticket/Display.html?id=69694)

perldoc.pl

Dist::Zilla

CORE

  • H.Merijn Brand (‎Tux‎)
    • backporting Configure works in all the branches
    • completing infrastructure on dromedary - if disk permits
    • I also want to talk (again) about Release::Checklist

YAML

  • Tina Müller (‎tinita‎)
    • one or more of these:
    • Implement loading objects with YAML::PP (basically finished, except some details)
    • Implement loading binary data with YAML::PP via the !!binary tag
    • Write a YAML::PP DateTime plugin that can load/dump timestamps
    • Other feature requests related to YAML welcome! Have a look at the current issues and TODOs for YAML::PP: https://github.com/perlpunk/YAML-PP-p5/issues and feel free to add one

CPANTS

CPAN::Groonga

Tab Completion

cpm (a CPAN client)

Because we usually install all CPAN distributions at a certain directory, we cannot answer the question: "Which distribution does this module come from?". Additionally it makes reuse of distributions harder.

MIYAGAWA has proposed a concept "central repositories" in his project Carmel, where distributions were kept separately.

What happens if we adapt this concept for cpm more consistently?

Perl6 CompUnit::Repository::Installation improvements

Nick Logan (‎ugexe‎)

  • Figure out a backwards compatible way to upgrade the installation repository format, which specifically includes changing the structure of the META6.json data.
  • Integrate ecosystem module CompUnit::Repository::Lib to prototype a CompUnit::Repository::Installation that does not mangle file names, specifically to enable including C libraries that don't like be called something else.
  • Precompile installed perl6 scripts.

Perl6 zef improvements

Nick Logan (‎ugexe‎)

  • Refactor auto-update functionality out of the adapter class ::Ecosystems and into the aggregator class ::Repository. Allow disabling auto-update from the command line.
  • Test modules using CompUnit::Repository::Staging instead of CompUnit::Repository::FileSystem to avoid an additional precompilation.
  • Install modules using CompUnit::Repository::Staging + move(...) instead of CompUnit::Repository::Installation.install(...) to avoid a possible additional precompilation.