Project:Perl/How to version-bump dev-perl

From Gentoo Wiki
Jump to:navigation Jump to:search

Here's a recipe for version-bumping dev-perl packages, with reasonable time expenditure. Please improve.

Preparations

  • Add typical dependencies to your installation (i.e., world)
dev-perl/CGI
dev-perl/File-ShareDir-Install
dev-perl/Module-Build-Tiny
dev-perl/Test-Base
dev-perl/Test-Differences
dev-perl/Test-Exception
dev-perl/Test-Fatal
dev-perl/Test-MockObject
dev-perl/Test-NoWarnings
dev-perl/Test-Pod
dev-perl/Test-Requires
dev-perl/Test-Warn
dev-perl/Test-Warnings
  • If you're on stable, update all your perl packages to ~arch
FILE /etc/portage/package.accept_keywords
perl-core/*
virtual/perl-*
dev-perl/*
dev-lang/perl
  • enable tests for perl-core, dev-perl, and dev-lang/perl:
FILE /etc/portage/package.env
perl-core/* tests
dev-perl/* tests
dev-lang/perl tests

# Foo::Bar has a broken test, but we need it
dev-perl/Foo-Bar -tests
FILE /etc/portage/env/tests
FEATURES=test

Bumping a package

  • Pick a package to be bumped, say dev-perl/foo-bar
  • Search on CPAN for it (foo::bar), and open the corresponding page of the latest version, say 1.05
  • Copy latest existing ebuild version to new version, i.e. foo-bar-1.50.0.ebuild (use gentoo-modperl-version.pl if you're not sure about the conversion)
  • ekeyword ~all foo-bar-1.50.0.ebuild
  • Open foo-bar-1.50.0.ebuild in an editor.
  • Set EAPI=8
  • In the CPAN tab, open META.json or META.yml
  • Compare the contents there with the specified dependencies. Add whatever is missing (always convert the version numbers). corelist and CPAN search help.
  • ...

(This is so far very vague. Needs a lot more text...)

pkgcheck

First, install our handy package:

root #emerge --ask dev-perl/Gentoo-PerlMod-Version

Then setup pkgcheck:

FILE ~/.config/pkgcheck/pkgcheck.conf
[DEFAULT]
checks = +PerlCheck

This will give warnings on incorrect DIST_VERSION values in ebuilds.