Skip to content

RMG: Simplify the corelist section #23401

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: blead
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 13 additions & 45 deletions Porting/release_managers_guide.pod
Original file line number Diff line number Diff line change
Expand Up @@ -717,55 +717,23 @@ F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>

=head4 Update C<Module::CoreList> with module version data for the new release

Note that if this is a MAINT release, you should run the following actions
from the maint branch, but commit the C<CoreList.pm> changes in
I<blead> and subsequently cherry-pick any releases since the last
maint release and then your recent commit. XXX need a better example

[ Note that the procedure for handling Module::CoreList in maint branches
is a bit complex, and the RMG currently don't describe a full and
workable approach. The main issue is keeping Module::CoreList
and its version number synchronised across all maint branches, blead and
CPAN, while having to bump its version number for every RC release.
See this brief p5p thread:

Message-ID: <[email protected]>

If you can devise a workable system, feel free to try it out, and to
update the RMG accordingly!

DAPM May 2013 ]

F<corelist.pl> uses www.cpan.org to verify information about dual-lived
modules on CPAN. It can use a full, local CPAN mirror and/or fall back
on HTTP::Tiny to fetch package metadata remotely.

(If you'd prefer to have a full CPAN mirror, see
L<How to mirror CPAN|https://www.cpan.org/misc/how-to-mirror.html>)

Change to your perl checkout, and if necessary,

$ make

Then, If you have a local CPAN mirror, run:

$ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror

Otherwise, run:
In most cases, run:

$ ./perl -Ilib Porting/corelist.pl cpan

This will chug for a while, possibly reporting various warnings about
badly-indexed CPAN modules unrelated to the modules actually in core.
Assuming all goes well, it will update
F<dist/Module-CoreList/lib/Module/CoreList.pm> and possibly
F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>.

Check those files over carefully:

$ git diff dist/Module-CoreList/lib/Module/CoreList.pm
$ git diff dist/Module-CoreList/lib/Module/CoreList/Utils.pm

If you have a L<local CPAN mirror|https://www.cpan.org/misc/how-to-mirror.html>, run:

$ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror

The procedure for MAINT releases is not straighforward and implies to pick past
updates (e.g. from BLEAD-POINT) into the corelist. See
L<Handling Module::CoreList in MAINT branches (Dave Mitchell)|https://www.nntp.perl.org/group/perl.perl5.porters/2013/03/msg200007.html>.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Highlights from the linked message:

I think its happened this way (i.e. people haven't followed the "official"
instructions) because the instructions are impossible to actually follow
in practice.

But I don't really know what's best.

I‡ don't think a procedural checklist for doing a release is the correct time/place for philosophical debate, especially when the debate is about how difficult it is to follow the documented procedure(s)

__
‡. somebody with a github account who's never done a perl release


=head4 Bump version in Module::CoreList F<Changes>

Also edit Module::CoreList's new version number in its F<Changes> file.
Expand Down Expand Up @@ -1567,13 +1535,13 @@ and F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>.

=item *

If you have a local CPAN mirror, run:
In most cases, run:

$ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror
$ ./perl -Ilib Porting/corelist.pl cpan

Otherwise, run:
If you have a L<local CPAN mirror|https://www.cpan.org/misc/how-to-mirror.html>, run:

$ ./perl -Ilib Porting/corelist.pl cpan
$ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror

This will update F<dist/Module-CoreList/lib/Module/CoreList.pm> and
F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm> as it did before,
Expand Down
Loading