This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
version has been upgraded from version 0.9904 to 0.9906
[perl5.git] / Porting / Maintainers.pl
index 6b69344..417bdcc 100755 (executable)
@@ -11,22 +11,6 @@ package Maintainers;
 use utf8;
 use File::Glob qw(:case);
 
-%Maintainers = (
-    'ABIGAIL'   => 'Abigail <abigail@abigail.be>',
-    'AVAR'      => 'Ævar Arnfjörð Bjarmason <avar@cpan.org>',
-    'CBERRY'    => 'Craig Berry <craigberry@mac.com>',
-    'ELIZABETH' => 'Elizabeth Mattijsen <liz@dijkmat.nl>',
-    'JDB'       => 'Jan Dubois <jand@activestate.com>',
-    'laun'      => 'Wolfgang Laun <Wolfgang.Laun@alcatel.at>',
-    'LWALL'     => 'Larry Wall <lwall@cpan.org>',
-    'MJD'       => 'Mark-Jason Dominus <mjd@plover.com>',
-    'PMQS'      => 'Paul Marquess <pmqs@cpan.org>',
-    'PVHP'      => 'Peter Prymmer <pvhp@best.com>',
-    'SARTAK'    => 'Shawn M Moore <sartak@gmail.com>',
-    'SBURKE'    => 'Sean Burke <sburke@cpan.org>',
-    'SMCCAM'    => 'Stephen McCamant <smccam@cpan.org>',
-);
-
 # IGNORABLE: files which, if they appear in the root of a CPAN
 # distribution, need not appear in core (i.e. core-cpan-diff won't
 # complain if it can't find them)
@@ -38,7 +22,7 @@ use File::Glob qw(:case);
     cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
     Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
     MYMETA.yml NEW NOTES perlcritic.rc ppport.h README README.PATCHING
-    SIGNATURE THANKS TODO Todo VERSION WHATSNEW
+    SIGNATURE THANKS TODO Todo VERSION WHATSNEW .perlcriticrc.perltidyrc
 );
 
 # Each entry in the  %Modules hash roughly represents a distribution,
@@ -53,27 +37,25 @@ use File::Glob qw(:case);
 # on the name of the distribution, e.g. 'Locale-Codes' for
 # Locale-Codes-N.NN.tar.gz'.
 
-# MAINTAINER indicates who the current maintainer of the module is.  For
-# modules with no MAINTAINER field given, this is understood to be either
-# the Perl 5 Porters if there is no DISTRIBUTION field or the UPSTREAM
-# field is set to 'blead', or else the CPAN author whose PAUSE user ID
-# forms the first part of the DISTRIBUTION value, e.g. 'BINGOS' in the
-# case of 'BINGOS/Archive-Tar-1.92.tar.gz'.  (PAUSE's View Permissions
-# page may be consulted to find other authors who have owner or co-maint
-# permissions for the module in question.)  The few explicitly listed
-# MAINTAINERs refer to authors whose email address is listed in the
-# %Maintainers hash above.
+# UPSTREAM indicates where patches should go.  This is generally now
+# inferred from the FILES: modules with files in dist/, ext/ and lib/
+# are understood to have UPSTREAM 'blead', meaning that the copy of the
+# module in the blead sources is to be considered canonical, while
+# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
+# meaning that the module on CPAN is to be patched first.
+
+# MAINTAINER has previously been used to indicate who the current maintainer
+# of the module is, but this is no longer stated explicitly. It is now
+# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
+# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
+# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.96.tar.gz'.
+# (PAUSE's View Permissions page may be consulted to find other authors who
+# have owner or co-maint permissions for the module in question.)
 
 # FILES is a list of filenames, glob patterns, and directory
 # names to be recursed down, which collectively generate a complete list
 # of the files associated with the distribution.
 
-# UPSTREAM indicates where patches should go. undef implies
-# that this hasn't been discussed for the module at hand.
-# "blead" indicates that the copy of the module in the blead
-# sources is to be considered canonical, "cpan" means that the
-# module on CPAN is to be patched first.
-
 # BUGS is an email or url to post bug reports.  For modules with
 # UPSTREAM => 'blead', use perl5-porters@perl.org.  rt.cpan.org
 # appears to automatically provide a URL for CPAN modules; any value
@@ -136,27 +118,15 @@ use File::Glob qw(:case);
 
 %Modules = (
 
-    'AnyDBM_File' => {
-        'FILES'       => q[lib/AnyDBM_File.{pm,t}],
-        'UPSTREAM'    => 'blead',
-    },
-
     'Archive::Tar' => {
-        'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.92.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.96.tar.gz',
         'FILES'        => q[cpan/Archive-Tar],
-        'UPSTREAM'     => 'cpan',
         'BUGS'         => 'bug-archive-tar@rt.cpan.org',
     },
 
     'Attribute::Handlers' => {
         'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
         'FILES'        => q[dist/Attribute-Handlers],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'attributes' => {
-        'FILES'      => q[ext/attributes],
-        'UPSTREAM'   => 'blead',
     },
 
     'autodie' => {
@@ -186,61 +156,29 @@ use File::Glob qw(:case);
             # Waiting to be merged upstream: see CPAN RT#87237
             qw(        t/utf8_open.t ),
         ],
-        'UPSTREAM'   => 'cpan',
     },
 
     'AutoLoader' => {
-        'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
+        'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
         'FILES'        => q[cpan/AutoLoader],
         'EXCLUDED'     => ['t/00pod.t'],
-        'UPSTREAM'     => 'cpan',
     },
 
     'autouse' => {
         'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
         'FILES'        => q[dist/autouse],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'B' => {
-        'FILES'      => q[ext/B],
-        'EXCLUDED'   => [
-            qw( B/Concise.pm
-                t/concise.t
-                ),
-        ],
-        'UPSTREAM' => 'blead',
-    },
-
-    'B::Concise' => {
-        'MAINTAINER' => 'SMCCAM',
-        'FILES'      => q[ext/B/B/Concise.pm ext/B/t/concise.t],
-        'UPSTREAM'   => 'blead',
     },
 
     'B::Debug' => {
-        'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
+        'DISTRIBUTION' => 'RURBAN/B-Debug-1.19.tar.gz',
         'FILES'        => q[cpan/B-Debug],
         'EXCLUDED'     => ['t/pod.t'],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'B::Deparse' => {
-        'MAINTAINER' => 'SMCCAM',
-        'FILES'      => q[dist/B-Deparse],
-        'UPSTREAM'   => 'blead',
     },
 
     'base' => {
         'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
         'FILES'        => q[dist/base],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'Benchmark' => {
-        'FILES'      => q[lib/Benchmark.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'bignum' => {
@@ -252,61 +190,52 @@ use File::Glob qw(:case);
                 t/pod_cov.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Carp' => {
         'DISTRIBUTION' => 'ZEFRAM/Carp-1.32.tar.gz',
         'FILES'        => q[dist/Carp],
-        'UPSTREAM'     => 'blead',
     },
 
     'CGI' => {
-        'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
+        'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.64.tar.gz',
         'FILES'        => q[cpan/CGI],
         'EXCLUDED'     => [
+            qr{^examples/},
             qw( cgi_docs.html
-                examples/WORLD_WRITABLE/18.157.1.253.sav
                 t/gen-tests/gen-start-end-tags.pl
                 t/fast.t
                 ),
         ],
-        'UPSTREAM'   => 'cpan',
-    },
-
-    'Class::Struct' => {
-        'FILES'      => q[lib/Class/Struct.{pm,t}],
-        'UPSTREAM'   => 'blead',
+        'DEPRECATED' => '5.019007',
     },
 
     'Compress::Raw::Bzip2' => {
-        'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.062.tar.gz',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.063.tar.gz',
         'FILES'        => q[cpan/Compress-Raw-Bzip2],
         'EXCLUDED'     => [
             qr{^t/Test/},
             'bzip2-src/bzip2-cpp.patch',
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Compress::Raw::Zlib' => {
-        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.062.tar.gz',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.063.tar.gz',
 
         'FILES'    => q[cpan/Compress-Raw-Zlib],
         'EXCLUDED' => [
+            qr{^examples/},
             qr{^t/Test/},
             qw( t/000prereq.t
                 t/99pod.t
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Config::Perl::V' => {
         'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
         'FILES'        => q[cpan/Config-Perl-V],
         'EXCLUDED'     => ['examples/show-v.pl'],
-        'UPSTREAM'     => 'cpan',
     },
 
     'constant' => {
@@ -320,7 +249,6 @@ use File::Glob qw(:case);
                 eg/synopsis.pl
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'CPAN' => {
@@ -369,13 +297,12 @@ use File::Glob qw(:case);
                 t/yaml_code.yml
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     # Note: When updating CPAN-Meta the META.* files will need to be regenerated
     # perl -Icpan/CPAN-Meta/lib Porting/makemeta
     'CPAN::Meta' => {
-        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132830.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.133380.tar.gz',
         'FILES'        => q[cpan/CPAN-Meta],
         'EXCLUDED'     => [
             qw(t/00-compile.t),
@@ -384,7 +311,6 @@ use File::Glob qw(:case);
             qr{^xt},
             qr{^history},
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'CPAN::Meta::Requirements' => {
@@ -394,9 +320,7 @@ use File::Glob qw(:case);
             qw(t/00-compile.t),
             qw(t/00-report-prereqs.t),
             qr{^xt},
-            qr{^history},
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'CPAN::Meta::YAML' => {
@@ -407,17 +331,15 @@ use File::Glob qw(:case);
             't/04_scalar.t',    # requires YAML.pm
             qr{^xt},
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Data::Dumper' => {
         'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
         'FILES'        => q[dist/Data-Dumper],
-        'UPSTREAM'     => 'blead',
     },
 
     'DB_File' => {
-        'DISTRIBUTION' => 'PMQS/DB_File-1.829.tar.gz',
+        'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz',
         'FILES'        => q[cpan/DB_File],
         'EXCLUDED'     => [
             qr{^patches/},
@@ -426,53 +348,37 @@ use File::Glob qw(:case);
                 fallback.xs
                 ),
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'DBM_Filter' => {
-        'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Devel::Peek' => {
-        'FILES'      => q[ext/Devel-Peek],
-        'UPSTREAM'   => 'blead',
     },
 
     'Devel::PPPort' => {
         'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
-        'FILES'        => q[cpan/Devel-PPPort],
-        'EXCLUDED'     => ['PPPort.pm'],    # we use PPPort_pm.PL instead
-
         # RJBS has asked MHX to have UPSTREAM be 'blead'
-        # (move this from cpan/ to dist/ if that happens)
-        'UPSTREAM'     => 'cpan',
+        # (i.e. move this from cpan/ to dist/)
+        'FILES'        => q[cpan/Devel-PPPort],
+        'EXCLUDED'     => [
+            'PPPort.pm',    # we use PPPort_pm.PL instead
+            'README.md',
+        ]
     },
 
     'Devel::SelfStubber' => {
         'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
         'FILES'        => q[dist/Devel-SelfStubber],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'diagnostics' => {
-        'FILES'      => q[lib/diagnostics.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Digest' => {
         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
         'FILES'        => q[cpan/Digest],
         'EXCLUDED'     => ['digest-bench'],
-        'UPSTREAM'     => "cpan",
     },
 
     'Digest::MD5' => {
         'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
         'FILES'        => q[cpan/Digest-MD5],
         'EXCLUDED'     => ['rfc1321.txt'],
-        'UPSTREAM'     => "cpan",
+        # Waiting to be merged upstream: see CPAN RT#89612
+        'CUSTOMIZED'   => ['t/files.t'],
     },
 
     'Digest::SHA' => {
@@ -484,30 +390,17 @@ use File::Glob qw(:case);
                 examples/dups
                 ),
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'DirHandle' => {
-        'FILES'      => q[lib/DirHandle.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Dumpvalue' => {
         'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
         'FILES'        => q[dist/Dumpvalue],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'DynaLoader' => {
-        'FILES'      => q[ext/DynaLoader],
-        'UPSTREAM'   => 'blead',
     },
 
     'Encode' => {
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.55.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.57.tar.gz',
         'FILES'        => q[cpan/Encode],
-        'UPSTREAM'     => 'cpan',
     },
 
     'encoding::warnings' => {
@@ -517,24 +410,12 @@ use File::Glob qw(:case);
             qr{^inc/Module/},
             qw(t/0-signature.t),
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'English' => {
-        'FILES'      => q[lib/English.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Env' => {
         'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
         'FILES'        => q[dist/Env],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'Errno' => {
-        'FILES'      => q[ext/Errno],
-        'UPSTREAM'   => 'blead',
     },
 
     'Exporter' => {
@@ -545,7 +426,6 @@ use File::Glob qw(:case);
                 t/use.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'ExtUtils::CBuilder' => {
@@ -555,14 +435,12 @@ use File::Glob qw(:case);
             qw(README.mkdn),
             qr{^xt},
         ],
-        'UPSTREAM'     => 'blead',
     },
 
     'ExtUtils::Command' => {
         'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
         'FILES'        => q[dist/ExtUtils-Command],
         'EXCLUDED'     => [qr{^t/release-}],
-        'UPSTREAM'     => 'blead',
     },
 
     'ExtUtils::Constant' => {
@@ -578,7 +456,6 @@ use File::Glob qw(:case);
                 examples/perl_regcomp_posix_keyword.pl
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'ExtUtils::Install' => {
@@ -593,11 +470,10 @@ use File::Glob qw(:case);
                 t/pod.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'ExtUtils::MakeMaker' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.80.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.86.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
@@ -605,62 +481,25 @@ use File::Glob qw(:case);
             qr{^t/Liblist_Kid.t},
             qr{^t/liblist/},
             qr{^\.perlcriticrc},
+            'PATCHING',
+            'README.packaging',
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'ExtUtils::Manifest' => {
         'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
         'FILES'        => q[dist/ExtUtils-Manifest],
         'EXCLUDED'     => [qr(t/release-.*\.t)],
-        'UPSTREAM'     => 'blead',
     },
 
     'ExtUtils::ParseXS' => {
         'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.22.tar.gz',
         'FILES'        => q[dist/ExtUtils-ParseXS],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'Fcntl' => {
-        'FILES'      => q[ext/Fcntl],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'File::Basename' => {
-        'FILES'      => q[lib/File/Basename.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'File::Compare' => {
-        'FILES'      => q[lib/File/Compare.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'File::Copy' => {
-        'FILES'      => q[lib/File/Copy.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'File::DosGlob' => {
-        'FILES'      => q[ext/File-DosGlob],
-        'UPSTREAM'   => 'blead',
     },
 
     'File::Fetch' => {
-        'DISTRIBUTION' => 'BINGOS/File-Fetch-0.44.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/File-Fetch-0.46.tar.gz',
         'FILES'        => q[cpan/File-Fetch],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'File::Find' => {
-        'FILES'      => q[ext/File-Find],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'File::Glob' => {
-        'FILES'      => q[ext/File-Glob],
-        'UPSTREAM'   => 'blead',
     },
 
     'File::Path' => {
@@ -675,12 +514,6 @@ use File::Glob qw(:case);
             ''   => 'cpan/File-Path/lib/File/',
             't/' => 'cpan/File-Path/t/',
         },
-        'UPSTREAM' => 'cpan',
-    },
-
-    'File::stat' => {
-        'FILES'      => q[lib/File/stat{.pm,*.t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'File::Temp' => {
@@ -693,17 +526,6 @@ use File::Glob qw(:case);
             qw[t/00-report-prereqs.t],
             qr{^xt},
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'FileCache' => {
-        'FILES'      => q[ext/FileCache],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'FileHandle' => {
-        'FILES'      => q[lib/FileHandle.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Filter::Simple' => {
@@ -712,7 +534,6 @@ use File::Glob qw(:case);
         'EXCLUDED'     => [
             qr{^demo/}
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Filter::Util::Call' => {
@@ -734,7 +555,6 @@ use File::Glob qw(:case);
                 t/decrypt.t
                 t/exec.t
                 t/order.t
-                t/pod.t
                 t/sh.t
                 t/tee.t
                 t/z_kwalitee.t
@@ -750,17 +570,6 @@ use File::Glob qw(:case);
             'perlfilter.pod' => 'pod/perlfilter.pod',
             ''               => 'cpan/Filter-Util-Call/',
         },
-        'UPSTREAM' => 'cpan',
-    },
-
-    'FindBin' => {
-        'FILES'      => q[lib/FindBin.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'GDBM_File' => {
-        'FILES'      => q[ext/GDBM_File],
-        'UPSTREAM'   => 'blead',
     },
 
     'Getopt::Long' => {
@@ -773,26 +582,10 @@ use File::Glob qw(:case);
                 t/gol-compat.t
                 ),
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'Getopt::Std' => {
-        'FILES'      => q[lib/Getopt/Std.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Hash::Util' => {
-        'FILES'      => q[ext/Hash-Util],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Hash::Util::FieldHash' => {
-        'FILES'      => q[ext/Hash-Util-FieldHash],
-        'UPSTREAM'   => 'blead',
     },
 
     'HTTP::Tiny' => {
-        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.036.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.039.tar.gz',
         'FILES'        => q[cpan/HTTP-Tiny],
         'EXCLUDED'     => [
             't/00-compile.t',
@@ -803,61 +596,49 @@ use File::Glob qw(:case);
             qr/^eg/,
             qr/^xt/
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'I18N::Collate' => {
         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
         'FILES'        => q[dist/I18N-Collate],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'I18N::Langinfo' => {
-        'FILES'      => q[ext/I18N-Langinfo],
-        'UPSTREAM'   => 'blead',
     },
 
     'I18N::LangTags' => {
         'FILES'        => q[dist/I18N-LangTags],
-        'UPSTREAM'     => 'blead',
     },
 
     'if' => {
         'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
         'FILES'        => q[dist/if],
-        'UPSTREAM'     => 'blead',
     },
 
     'IO' => {
         'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
         'FILES'        => q[dist/IO/],
         'EXCLUDED'     => ['t/test.pl'],
-        'UPSTREAM'     => 'blead',
     },
 
     'IO-Compress' => {
-        'DISTRIBUTION' => 'PMQS/IO-Compress-2.062.tar.gz',
+        'DISTRIBUTION' => 'PMQS/IO-Compress-2.063.tar.gz',
         'FILES'        => q[cpan/IO-Compress],
-        'EXCLUDED'     => [qr{t/Test/}],
-        'UPSTREAM'     => 'cpan',
+        'EXCLUDED'     => [
+            qr{^examples/},
+            qr{^t/Test/},
+            't/010examples-bzip2.t',
+            't/010examples-zlib.t',
+            't/cz-05examples.t',
+        ],
     },
 
     'IO::Zlib' => {
         'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
         'FILES'        => q[cpan/IO-Zlib],
-        'UPSTREAM'     => 'cpan',
     },
 
     'IPC::Cmd' => {
-        'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.84.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.90.tar.gz',
         'FILES'        => q[cpan/IPC-Cmd],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'IPC::Open3' => {
-        'FILES'      => q[ext/IPC-Open3],
-        'UPSTREAM'   => 'blead',
     },
 
     'IPC::SysV' => {
@@ -868,22 +649,11 @@ use File::Glob qw(:case);
                 const-xs.inc
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'JSON::PP' => {
-        'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27202.tar.gz',
+        'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
         'FILES'        => q[cpan/JSON-PP],
-        'EXCLUDED'     => [
-            't/900_pod.t',    # Pod testing
-        ],
-
-        # Waiting to be merged upstream: see PERL RT#119825
-        'CUSTOMIZED'   => [
-            'lib/JSON/PP.pm',
-        ],
-
-        'UPSTREAM' => 'cpan',
     },
 
     'lib' => {
@@ -894,35 +664,34 @@ use File::Glob qw(:case);
                 t/00pod.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'libnet' => {
-        'DISTRIBUTION' => 'SHAY/libnet-1.23.tar.gz',
+        'DISTRIBUTION' => 'SHAY/libnet-1.24.tar.gz',
         'FILES'        => q[cpan/libnet],
         'EXCLUDED'     => [
             qw( Configure
                 install-nomake
                 ),
+            qr(^demos/),
         ],
         # Customized for perl since we cannot use either an auto-generated
         # script or the version in the CPAN distro.
         'CUSTOMIZED' => ['Makefile.PL'],
-        'UPSTREAM'   => 'cpan',
     },
 
     'Locale-Codes' => {
-        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.27.tar.gz',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.28.tar.gz',
         'FILES'        => q[cpan/Locale-Codes],
         'EXCLUDED'     => [
-            qw( t/pod_coverage.t
+            qw( README.first
+                t/pod_coverage.t
                 t/pod.t),
             qr{^t/runtests},
             qr{^t/runtests\.bat},
             qr{^internal/},
             qr{^examples/},
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Locale::Maketext' => {
@@ -935,20 +704,11 @@ use File::Glob qw(:case);
                 t/pod.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Locale::Maketext::Simple' => {
         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
         'FILES'        => q[cpan/Locale-Maketext-Simple],
-        'EXCLUDED'     => [qr{^inc/}],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'mad' => {
-        'MAINTAINER' => 'LWALL',
-        'FILES'      => q[mad],
-        'UPSTREAM'   => undef,
     },
 
     'Math::BigInt' => {
@@ -963,7 +723,6 @@ use File::Glob qw(:case);
                 t/03podcov.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Math::BigInt::FastCalc' => {
@@ -987,7 +746,6 @@ use File::Glob qw(:case);
                 t/mbimbf.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Math::BigRat' => {
@@ -1001,7 +759,6 @@ use File::Glob qw(:case);
                 t/03podcov.t
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Math::Complex' => {
@@ -1012,21 +769,18 @@ use File::Glob qw(:case);
                 t/pod-coverage.t
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Memoize' => {
         'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
         'FILES'        => q[cpan/Memoize],
         'EXCLUDED'     => ['article.html'],
-        'UPSTREAM'     => 'cpan',
     },
 
     'MIME::Base64' => {
         'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
         'FILES'        => q[cpan/MIME-Base64],
         'EXCLUDED'     => ['t/bad-sv.t'],
-        'UPSTREAM'     => 'cpan',
     },
 
     #
@@ -1035,7 +789,7 @@ use File::Glob qw(:case);
     #
 
     'Module::Build' => {
-        'DISTRIBUTION' => 'LEONT/Module-Build-0.4007.tar.gz',
+        'DISTRIBUTION' => 'LEONT/Module-Build-0.4203.tar.gz',
         'FILES'        => q[cpan/Module-Build],
         'EXCLUDED'     => [
             qw( t/par.t
@@ -1047,31 +801,26 @@ use File::Glob qw(:case);
         # Generated file, not part of the CPAN distro:
         'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
         'DEPRECATED' => '5.019000',
-        'UPSTREAM'   => 'cpan',
     },
 
     'Module::CoreList' => {
-        'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.99.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-3.02.tar.gz',
         'FILES'        => q[dist/Module-CoreList],
-        'UPSTREAM'     => 'blead',
     },
 
     'Module::Load' => {
-        'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-Load-0.28.tar.gz',
         'FILES'        => q[cpan/Module-Load],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Module::Load::Conditional' => {
         'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.58.tar.gz',
         'FILES'        => q[cpan/Module-Load-Conditional],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Module::Loaded' => {
         'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
         'FILES'        => q[cpan/Module-Loaded],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Module::Metadata' => {
@@ -1081,17 +830,6 @@ use File::Glob qw(:case);
             qr{^maint},
             qr{^xt},
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'mro' => {
-        'FILES'      => q[ext/mro],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'NDBM_File' => {
-        'FILES'      => q[ext/NDBM_File],
-        'UPSTREAM'   => 'blead',
     },
 
     'Net::Ping' => {
@@ -1101,48 +839,28 @@ use File::Glob qw(:case);
             qr{^.travis.yml},
             qr{^README.md},
         ],
-        'UPSTREAM'     => 'blead',
     },
 
     'NEXT' => {
         'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
         'FILES'        => q[cpan/NEXT],
         'EXCLUDED'     => [qr{^demo/}],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'ODBM_File' => {
-        'FILES'      => q[ext/ODBM_File],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Opcode' => {
-        'FILES'      => q[ext/Opcode],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'overload' => {
-        'FILES'      => q[lib/overload{.pm,.t,64.t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Package::Constants' => {
-        'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Package-Constants-0.04.tar.gz',
         'FILES'        => q[cpan/Package-Constants],
-        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.019006',
     },
 
     'Params::Check' => {
         'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
-        'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
         'FILES'        => q[cpan/Params-Check],
-        'UPSTREAM'     => 'cpan',
     },
 
     'parent' => {
         'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
         'FILES'        => q[cpan/parent],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Parse::CPAN::Meta' => {
@@ -1153,38 +871,18 @@ use File::Glob qw(:case);
             qw[t/00-report-prereqs.t],
             qr{^xt},
         ],
-        'UPSTREAM'     => 'cpan',
     },
 
     'PathTools' => {
         'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
-        'FILES'        => q[dist/Cwd],
+        'FILES'        => q[dist/PathTools],
         'EXCLUDED'     => [qr{^t/lib/Test/}],
-        'UPSTREAM'     => "blead",
-
-        # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
-        # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
-        # that the leafname of some file corresponds with the pathname of the
-        # directory.
     },
 
     'Perl::OSType' => {
         'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.006.tar.gz',
         'FILES'        => q[cpan/Perl-OSType],
         'EXCLUDED'     => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'perldtrace' => {
-        'MAINTAINER' => 'SARTAK',
-        'FILES'      => q[pod/perldtrace.pod],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'perlebcdic' => {
-        'MAINTAINER' => 'PVHP',
-        'FILES'      => q[pod/perlebcdic.pod],
-        'UPSTREAM'   => undef,
     },
 
     'perlfaq' => {
@@ -1196,32 +894,6 @@ use File::Glob qw(:case);
                 t/release-no-tabs.t
                 )
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'PerlIO' => {
-        'FILES'      => q[lib/PerlIO.pm],
-        'UPSTREAM'   => undef,
-    },
-
-    'PerlIO::encoding' => {
-        'FILES'      => q[ext/PerlIO-encoding],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'PerlIO::mmap' => {
-        'FILES'      => q[ext/PerlIO-mmap],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'PerlIO::scalar' => {
-        'FILES'      => q[ext/PerlIO-scalar],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'PerlIO::via' => {
-        'FILES'      => q[ext/PerlIO-via],
-        'UPSTREAM'   => 'blead',
     },
 
     'PerlIO::via::QuotedPrint' => {
@@ -1234,72 +906,21 @@ use File::Glob qw(:case);
                 ),
         ],
 
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'perlpacktut' => {
-        'MAINTAINER' => 'laun',
-        'FILES'      => q[pod/perlpacktut.pod],
-        'UPSTREAM'   => undef,
-    },
-
-    'perlpodspec' => {
-        'MAINTAINER' => 'SBURKE',
-        'FILES'      => q[pod/perlpodspec.pod],
-        'UPSTREAM'   => undef,
-    },
-
-    'perlre' => {
-        'MAINTAINER' => 'ABIGAIL',
-        'FILES'      => q[pod/perlrecharclass.pod
-                 pod/perlrebackslash.pod],
-        'UPSTREAM' => undef,
-    },
-
-    'perlreapi' => {
-        'MAINTAINER' => 'AVAR',
-        'FILES'      => q[pod/perlreapi.pod],
-        'UPSTREAM'   => undef,
-    },
-
-    'perlreftut' => {
-        'MAINTAINER' => 'MJD',
-        'FILES'      => q[pod/perlreftut.pod],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'perlthrtut' => {
-        'MAINTAINER' => 'ELIZABETH',
-        'FILES'      => q[pod/perlthrtut.pod],
-        'UPSTREAM'   => undef,
     },
 
     'Pod::Checker' => {
         'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
         'FILES'        => q[cpan/Pod-Checker],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Pod::Escapes' => {
         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
         'FILES'        => q[cpan/Pod-Escapes],
-        'UPSTREAM'     => 'cpan',
-    },
-
-    'Pod::Functions' => {
-        'FILES'      => q[ext/Pod-Functions],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Pod::Html' => {
-        'FILES'      => q[ext/Pod-Html],
-        'UPSTREAM'   => 'blead',
     },
 
     'Pod::Parser' => {
         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
         'FILES'        => q[cpan/Pod-Parser],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Pod::Perldoc' => {
@@ -1311,19 +932,16 @@ use File::Glob qw(:case);
         # XXX We can and should fix this, but clean up the DRY-failure in utils
         # first
         'EXCLUDED' => ['perldoc'],
-        'UPSTREAM' => 'cpan',
     },
 
     'Pod::Simple' => {
         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
         'FILES'        => q[cpan/Pod-Simple],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Pod::Usage' => {
         'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
         'FILES'        => q[cpan/Pod-Usage],
-        'UPSTREAM'     => 'cpan',
     },
 
     'podlators' => {
@@ -1347,82 +965,37 @@ use File::Glob qw(:case);
             # this file lives outside the cpan/ directory
             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
         },
-        'UPSTREAM' => 'cpan',
-    },
-
-    'POSIX' => {
-        'FILES'      => q[ext/POSIX],
-        'UPSTREAM'   => 'blead',
-    },
-
-    're' => {
-        'FILES'      => q[ext/re],
-        'UPSTREAM'   => 'blead',
-    },
-
-    's2p' => {
-        'MAINTAINER' => 'laun',
-        'FILES'      => q[x2p/s2p.PL],
-        'UPSTREAM'   => undef,
     },
 
     'Safe' => {
         'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
         'FILES'        => q[dist/Safe],
-        'UPSTREAM'     => 'blead',
     },
 
     'Scalar-List-Utils' => {
-        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.34.tar.gz',
-        'FILES'    => q[cpan/List-Util],
-        'EXCLUDED' => [
-            qr{^inc/Module/},
-            qr{^inc/Test/},
-            'mytypemap',
-        ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'SDBM_File' => {
-        'FILES'      => q[ext/SDBM_File],
-        'UPSTREAM'   => 'blead',
+        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.35.tar.gz',
+        'FILES'    => q[cpan/Scalar-List-Utils],
     },
 
     'Search::Dict' => {
         'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
         'FILES'        => q[dist/Search-Dict],
-        'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
-        'UPSTREAM'     => 'blead',
     },
 
     'SelfLoader' => {
         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
         'FILES'        => q[dist/SelfLoader],
         'EXCLUDED'     => ['t/00pod.t'],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'sigtrap' => {
-        'FILES'      => q[lib/sigtrap.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'Socket' => {
-        'DISTRIBUTION' => 'PEVANS/Socket-2.012.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz',
         'FILES'        => q[cpan/Socket],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Storable' => {
         'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
         'FILES'        => q[dist/Storable],
-        'EXCLUDED'     => [qr{^t/Test/}],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'Sys::Hostname' => {
-        'FILES'      => q[ext/Sys-Hostname],
-        'UPSTREAM'   => 'blead',
     },
 
     'Sys::Syslog' => {
@@ -1430,7 +1003,8 @@ use File::Glob qw(:case);
         'FILES'        => q[cpan/Sys-Syslog],
         'EXCLUDED'     => [
             qr{^eg/},
-            qw( t/data-validation.t
+            qw( README.win32
+                t/data-validation.t
                 t/distchk.t
                 t/pod.t
                 t/podcover.t
@@ -1439,14 +1013,12 @@ use File::Glob qw(:case);
                 win32/PerlLog.RES
                 ),
         ],
-        'UPSTREAM'   => 'cpan',
     },
 
     'Term::ANSIColor' => {
         'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
         'FILES'        => q[cpan/Term-ANSIColor],
         'EXCLUDED'     => [
-            qr{^tests/},
             qr{^examples/},
             qr{^t/data/},
             qw( t/aliases-env.t
@@ -1459,45 +1031,32 @@ use File::Glob qw(:case);
                 t/synopsis.t
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Term::Cap' => {
-        'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
+        'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
         'FILES'        => q[cpan/Term-Cap],
-
-        # Waiting to be merged upstream: see CPAN RT#73447
-        'CUSTOMIZED'   => [
-            qw( Cap.pm
-                test.pl
-                ),
-        ],
-
-        'UPSTREAM'     => 'cpan',
     },
 
     'Term::Complete' => {
         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
         'FILES'        => q[dist/Term-Complete],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
     },
 
     'Term::ReadLine' => {
         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
         'FILES'        => q[dist/Term-ReadLine],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
     },
 
     'Test' => {
         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
         'FILES'        => q[cpan/Test],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Test::Harness' => {
-        'DISTRIBUTION' => 'OVID/Test-Harness-3.29.tar.gz',
+        'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz',
         'FILES'        => q[cpan/Test-Harness],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1505,21 +1064,25 @@ use File::Glob qw(:case);
             qr{^t/lib/Test/},
             qr{^xt/},
             qw( Changes-2.64
+                MANIFEST.CUMMULATIVE
                 NotBuild.PL
                 HACKING.pod
                 perlcriticrc
+                t/000-load.t
                 t/lib/if.pm
                 ),
         ],
-        'UPSTREAM'   => 'cpan',
     },
 
     'Test::Simple' => {
-        'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
+        'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz',
         'FILES'        => q[cpan/Test-Simple],
         'EXCLUDED'     => [
+            qr{^t/xt},
             qw( .perlcriticrc
                 .perltidyrc
+                examples/indent.pl
+                examples/subtest.t
                 t/00compile.t
                 t/pod.t
                 t/pod-coverage.t
@@ -1527,26 +1090,12 @@ use File::Glob qw(:case);
                 lib/Test/Builder/IO/Scalar.pm
                 ),
         ],
-
-        'CUSTOMIZED'   => [
-            # Waiting to be merged upstream: see CPAN RT#79762
-            't/fail-more.t',
-
-            # Waiting to be merged upstream: see PERL RT#119825
-            'lib/Test/Builder.pm',
-            'lib/Test/Builder/Module.pm',
-            'lib/Test/More.pm',
-            'lib/Test/Simple.pm',
-        ],
-
-        'UPSTREAM' => 'cpan',
     },
 
     'Text::Abbrev' => {
         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
         'FILES'        => q[dist/Text-Abbrev],
         'EXCLUDED'     => [qr{^t/release-.*\.t}],
-        'UPSTREAM'     => 'blead',
     },
 
     'Text::Balanced' => {
@@ -1573,13 +1122,11 @@ use File::Glob qw(:case);
                 ),
         ],
 
-        'UPSTREAM' => 'cpan',
     },
 
     'Text::ParseWords' => {
         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
         'FILES'        => q[cpan/Text-ParseWords],
-        'EXCLUDED'     => ['t/pod.t'],
 
         # Waiting to be merged upstream: see CPAN RT#50929
         'CUSTOMIZED'   => [
@@ -1593,7 +1140,6 @@ use File::Glob qw(:case);
             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
             ''              => 'cpan/Text-ParseWords/',
         },
-        'UPSTREAM' => 'cpan',
     },
 
     'Text-Tabs+Wrap' => {
@@ -1608,7 +1154,6 @@ use File::Glob qw(:case);
             'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
             'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
         },
-        'UPSTREAM'   => 'cpan',
     },
 
     'Thread::Queue' => {
@@ -1621,7 +1166,6 @@ use File::Glob qw(:case);
                 t/test.pl
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Thread::Semaphore' => {
@@ -1634,7 +1178,6 @@ use File::Glob qw(:case);
                 t/test.pl
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'threads' => {
@@ -1647,11 +1190,10 @@ use File::Glob qw(:case);
                 threads.h
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'threads::shared' => {
-        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.45.tar.gz',
         'FILES'        => q[dist/threads-shared],
         'EXCLUDED'     => [
             qw( examples/class.pl
@@ -1660,62 +1202,38 @@ use File::Glob qw(:case);
                 t/test.pl
                 ),
         ],
-        'UPSTREAM' => 'blead',
     },
 
     'Tie::File' => {
         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
         'FILES'        => q[dist/Tie-File],
-        'UPSTREAM'     => 'blead',
-    },
-
-    'Tie::Hash' => {
-        'FILES'      => q[lib/Tie/Hash.{pm,t}],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Tie::Hash::NamedCapture' => {
-        'FILES'      => q[ext/Tie-Hash-NamedCapture],
-        'UPSTREAM'   => 'blead',
-    },
-
-    'Tie::Memoize' => {
-        'FILES'      => q[ext/Tie-Memoize],
-        'UPSTREAM'   => 'blead',
     },
 
     'Tie::RefHash' => {
         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
         'FILES'        => q[cpan/Tie-RefHash],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Time::HiRes' => {
         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
         'FILES'        => q[cpan/Time-HiRes],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Time::Local' => {
         'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
         'FILES'        => q[cpan/Time-Local],
         'EXCLUDED'     => [
-            qw( t/pod-coverage.t
-                t/pod.t
-                ),
             qr{^t/release-.*\.t},
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Time::Piece' => {
-        'DISTRIBUTION' => 'RJBS/Time-Piece-1.23.tar.gz',
+        'DISTRIBUTION' => 'RJBS/Time-Piece-1.27.tar.gz',
         'FILES'        => q[cpan/Time-Piece],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Unicode::Collate' => {
-        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.99.tar.gz',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.04.tar.gz',
         'FILES'        => q[cpan/Unicode-Collate],
         'EXCLUDED'     => [
             qr{N$},
@@ -1726,7 +1244,6 @@ use File::Glob qw(:case);
                 mklocale
                 ),
         ],
-        'UPSTREAM' => 'cpan',
     },
 
     'Unicode::Normalize' => {
@@ -1739,79 +1256,47 @@ use File::Glob qw(:case);
                 enableXS
                 ),
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'Unicode::UCD' => {
-        'FILES'      => q[lib/Unicode/UCD.{pm,t}],
-        'UPSTREAM'   => 'blead',
     },
 
     'version' => {
-        'DISTRIBUTION' => 'JPEACOCK/version-0.9904.tar.gz',
+        'DISTRIBUTION' => 'JPEACOCK/version-0.9906.tar.gz',
         'FILES'        => q[cpan/version],
         'EXCLUDED' => [
-            qr{^vutil/},
-            'lib/version/typemap',
+            qr{^vutil/lib/},
+            'vutil/ppport.h',
+            'vutil/vxs.xs',
             't/survey_locales',
             'vperl/vpp.pm',
         ],
 
-        # Waiting to be merged upstream: see CPAN RT#87513
+        # When adding the CPAN-distributed files for version.pm, it is necessary
+        # to delete an entire block out of lib/version.pm, since that code is
+        # only necessary with the CPAN release.
         'CUSTOMIZED'   => [
             qw( lib/version.pm
-                t/07locale.t
-                t/08_corelist.t
                 ),
         ],
 
-        # Change to 'cpan' when [cpan #88458] is resolved
-        'UPSTREAM' => 'blead',
-    },
-
-    'vms' => {
-        'MAINTAINER' => 'CBERRY',
-        'FILES'      => q[vms configure.com README.vms],
-        'UPSTREAM'   => undef,
-    },
-
-    'VMS::DCLsym' => {
-        'MAINTAINER' => 'CBERRY',
-        'FILES'      => q[ext/VMS-DCLsym],
-        'UPSTREAM'   => undef,
-    },
-
-    'VMS::Filespec' => {
-        'FILES'      => q[ext/VMS-Filespec],
-        'UPSTREAM'   => undef,
-    },
-
-    'VMS::Stdio' => {
-        'MAINTAINER' => 'CBERRY',
-        'FILES'      => q[ext/VMS-Stdio],
-        'UPSTREAM'   => undef,
+        'MAP' => {
+            'vutil.c'        => 'vutil.c',
+            'vutil.h'        => 'vutil.h',
+            'vxs.inc'        => 'vxs.inc',
+            ''               => 'cpan/version/',
+        },
     },
 
     'warnings' => {
-        'MAINTAINER' => 'PMQS',
-        'FILES'      => q[regen/warnings.pl
-                 lib/warnings.{pm,t}
+        'FILES'      => q[
                  lib/warnings
+                 lib/warnings.{pm,t}
+                 regen/warnings.pl
                  t/lib/warnings
-                ],
-        'UPSTREAM' => 'blead',
-    },
-
-    'win32' => {
-        'MAINTAINER' => 'JDB',
-        'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
-        'UPSTREAM'   => undef,
+        ],
     },
 
     'Win32' => {
-        'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
+        'DISTRIBUTION' => "JDB/Win32-0.48.tar.gz",
         'FILES'        => q[cpan/Win32],
-        'UPSTREAM'     => 'cpan',
     },
 
     'Win32API::File' => {
@@ -1821,12 +1306,6 @@ use File::Glob qw(:case);
             qr{^ex/},
             't/pod.t',
         ],
-        'UPSTREAM' => 'cpan',
-    },
-
-    'XS::Typemap' => {
-        'FILES'      => q[ext/XS-Typemap],
-        'UPSTREAM'   => 'blead',
     },
 
     'XSLoader' => {
@@ -1843,7 +1322,6 @@ use File::Glob qw(:case);
                 ),
             'XSLoader.pm',    # we use XSLoader_pm.PL
         ],
-        'UPSTREAM' => 'blead',
     },
 
     # this pseudo-module represents all the files under ext/ and lib/
@@ -1855,23 +1333,75 @@ use File::Glob qw(:case);
     #    perl Porting/Maintainers --checkmani
 
     '_PERLLIB' => {
-        'FILES'      => q[
-                ext/arybase/
+        'FILES'    => q[
+                ext/B/
+                ext/Devel-Peek/
+                ext/DynaLoader/
+                ext/Errno/
                 ext/ExtUtils-Miniperl/
+                ext/Fcntl/
+                ext/File-DosGlob/
+                ext/File-Find/
+                ext/File-Glob/
+                ext/FileCache/
+                ext/GDBM_File/
+                ext/Hash-Util-FieldHash/
+                ext/Hash-Util/
+                ext/I18N-Langinfo/
+                ext/IPC-Open3/
+                ext/NDBM_File/
+                ext/ODBM_File/
+                ext/Opcode/
+                ext/POSIX/
+                ext/PerlIO-encoding/
+                ext/PerlIO-mmap/
+                ext/PerlIO-scalar/
+                ext/PerlIO-via/
+                ext/Pod-Functions/
+                ext/Pod-Html/
+                ext/SDBM_File/
+                ext/Sys-Hostname/
+                ext/Tie-Hash-NamedCapture/
+                ext/Tie-Memoize/
+                ext/VMS-DCLsym/
+                ext/VMS-Filespec/
+                ext/VMS-Stdio/
+                ext/Win32CORE/
                 ext/XS-APItest/
+                ext/XS-Typemap/
+                ext/arybase/
+                ext/attributes/
+                ext/mro/
+                ext/re/
+                lib/AnyDBM_File.{pm,t}
+                lib/Benchmark.{pm,t}
+                lib/B/Deparse{.pm,.t,-core.t}
                 lib/CORE.pod
+                lib/Class/Struct.{pm,t}
                 lib/Config.t
                 lib/Config/Extensions.{pm,t}
                 lib/DB.{pm,t}
+                lib/DBM_Filter.pm
+                lib/DBM_Filter/
+                lib/DirHandle.{pm,t}
+                lib/English.{pm,t}
                 lib/ExtUtils/Embed.pm
                 lib/ExtUtils/XSSymSet.pm
                 lib/ExtUtils/t/Embed.t
                 lib/ExtUtils/typemap
+                lib/File/Basename.{pm,t}
+                lib/File/Compare.{pm,t}
+                lib/File/Copy.{pm,t}
+                lib/File/stat{.pm,.t,-7896.t}
+                lib/FileHandle.{pm,t}
+                lib/FindBin.{pm,t}
+                lib/Getopt/Std.{pm,t}
                 lib/Internals.t
                 lib/Net/hostent.{pm,t}
                 lib/Net/netent.{pm,t}
                 lib/Net/protoent.{pm,t}
                 lib/Net/servent.{pm,t}
+                lib/PerlIO.pm
                 lib/Pod/t/InputObjects.t
                 lib/Pod/t/Select.t
                 lib/Pod/t/Usage.t
@@ -1884,6 +1414,7 @@ use File::Glob qw(:case);
                 lib/Tie/ExtraHash.t
                 lib/Tie/Handle.pm
                 lib/Tie/Handle/
+                lib/Tie/Hash.{pm,t}
                 lib/Tie/Scalar.{pm,t}
                 lib/Tie/StdHandle.pm
                 lib/Tie/SubstrHash.{pm,t}
@@ -1892,15 +1423,17 @@ use File::Glob qw(:case);
                 lib/Time/tm.pm
                 lib/UNIVERSAL.pm
                 lib/Unicode/README
+                lib/Unicode/UCD.{pm,t}
                 lib/User/grent.{pm,t}
                 lib/User/pwent.{pm,t}
+                lib/_charnames.pm
                 lib/blib.{pm,t}
                 lib/bytes.{pm,t}
                 lib/bytes_heavy.pl
-                lib/_charnames.pm
                 lib/charnames.{pm,t}
                 lib/dbm_filter_util.pl
                 lib/deprecate.pm
+                lib/diagnostics.{pm,t}
                 lib/dumpvar.{pl,t}
                 lib/feature.{pm,t}
                 lib/feature/
@@ -1913,8 +1446,10 @@ use File::Glob qw(:case);
                 lib/open.{pm,t}
                 lib/overload/numbers.pm
                 lib/overloading.{pm,t}
+                lib/overload{.pm,.t,64.t}
                 lib/perl5db.{pl,t}
                 lib/perl5db/
+                lib/sigtrap.{pm,t}
                 lib/sort.{pm,t}
                 lib/strict.{pm,t}
                 lib/subs.{pm,t}
@@ -1924,7 +1459,6 @@ use File::Glob qw(:case);
                 lib/vars{.pm,.t,_carp.t}
                 lib/vmsish.{pm,t}
                 ],
-        'UPSTREAM' => 'blead',
     },
 );
 
@@ -1933,18 +1467,39 @@ for ( values %Modules ) {
     $_->{CPAN} = !!$_->{DISTRIBUTION};
 }
 
+# legacy UPSTREAM flag
+for ( keys %Modules ) {
+    # Keep any existing UPSTREAM flag so that "overrides" can be applied
+    next if exists $Modules{$_}{UPSTREAM};
+
+    if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
+        $Modules{$_}{UPSTREAM} = 'blead';
+    }
+    elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
+        $Modules{$_}{UPSTREAM} = 'cpan';
+    }
+    else {
+        warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
+    }
+}
+
 # legacy MAINTAINER field
-for ( values %Modules ) {
-    next if exists $_->{MAINTAINER};
-    if (not exists $_->{DISTRIBUTION} or (defined $_->{UPSTREAM} and $_->{UPSTREAM} eq 'blead')) {
-        $_->{MAINTAINER} = 'P5P';
+for ( keys %Modules ) {
+    # Keep any existing MAINTAINER flag so that "overrides" can be applied
+    next if exists $Modules{$_}{MAINTAINER};
+
+    if ($Modules{$_}{UPSTREAM} eq 'blead') {
+        $Modules{$_}{MAINTAINER} = 'P5P';
         $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
     }
-    else {
-        (my $pause_id = $_->{DISTRIBUTION}) =~ s{/.*$}{};
-        $_->{MAINTAINER} = $pause_id;
+    elsif (exists $Modules{$_}{DISTRIBUTION}) {
+        (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
+        $Modules{$_}{MAINTAINER} = $pause_id;
         $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
     }
+    else {
+        warn "No DISTRIBUTION for non-blead module $_";
+    }
 }
 
 1;