This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Math-BigRat is (nearly) in sync with 0.260801
[perl5.git] / Porting / Maintainers.pl
CommitLineData
1f00b0d6 1#!perl
c9fe4ea1
JH
2# A simple listing of core files that have specific maintainers,
3# or at least someone that can be called an "interested party".
4# Also, a "module" does not necessarily mean a CPAN module, it
5# might mean a file or files or a subdirectory.
6# Most (but not all) of the modules have dual lives in the core
97556ec3 7# and in CPAN.
b128a327 8
0cf51544
JH
9package Maintainers;
10
cdad3b53 11use utf8;
9b9b4b79
NC
12use File::Glob qw(:case);
13
2c95b6e4
DM
14# IGNORABLE: files which, if they appear in the root of a CPAN
15# distribution, need not appear in core (i.e. core-cpan-diff won't
16# complain if it can't find them)
17
18@IGNORABLE = qw(
d3bd9fae 19 .cvsignore .dualLivedDiffConfig .gitignore .perlcriticrc .perltidyrc
4d25f022 20 .travis.yml ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
9cd8e8a5
MB
21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.md
22 CONTRIBUTING.mkdn COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY
23 INSTALL INSTALL.SKIP LICENCE LICENSE Makefile.PL MANIFEST MANIFEST.SKIP
24 META.json META.yml MYMETA.json MYMETA.yml NEW NEWS NOTES perlcritic.rc
25 ppport.h README README.md README.pod README.PATCHING SIGNATURE THANKS TODO
26 Todo VERSION WHATSNEW
2c95b6e4
DM
27);
28
e30e10b5 29# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 30# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
31# CPAN distribution.
32
33# The keys of %Modules are human descriptions of the distributions, and
34# may not exactly match a module or distribution name. Distributions
35# which have an obvious top-level module associated with them will usually
36# have a key named for that module, e.g. 'Archive::Extract' for
37# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
38# on the name of the distribution, e.g. 'Locale-Codes' for
39# Locale-Codes-N.NN.tar.gz'.
d350de41 40
099bebb1
SH
41# UPSTREAM indicates where patches should go. This is generally now
42# inferred from the FILES: modules with files in dist/, ext/ and lib/
43# are understood to have UPSTREAM 'blead', meaning that the copy of the
44# module in the blead sources is to be considered canonical, while
45# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
46# meaning that the module on CPAN is to be patched first.
47
b3dcf775
SH
48# MAINTAINER has previously been used to indicate who the current maintainer
49# of the module is, but this is no longer stated explicitly. It is now
50# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
51# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
a40258e5 52# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-2.00.tar.gz'.
b3dcf775
SH
53# (PAUSE's View Permissions page may be consulted to find other authors who
54# have owner or co-maint permissions for the module in question.)
d350de41 55
e30e10b5
DM
56# FILES is a list of filenames, glob patterns, and directory
57# names to be recursed down, which collectively generate a complete list
58# of the files associated with the distribution.
59
e1466347
JC
60# BUGS is an email or url to post bug reports. For modules with
61# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
62# appears to automatically provide a URL for CPAN modules; any value
63# given here overrides the default:
64# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
65
a55d270d
DM
66# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
67# included in core are derived from. Note that the file's version may not
68# necessarily match the newest version on CPAN.
69
2c95b6e4
DM
70# EXCLUDED is a list of files to be excluded from a CPAN tarball before
71# comparing the remaining contents with core. Each item can either be a
72# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
73# It defaults to the empty list.
74
d43babf1 75# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
76# Perl core. Use this whenever patching a cpan upstream distribution
77# or whenever we expect to have a file that differs from the tarball.
78# If the file in blead matches the file in the tarball from CPAN,
79# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 80# customization might have been lost when updating from upstream. The
f81a37f2
SH
81# path should be relative to the distribution directory. If the upstream
82# distribution should be modified to incorporate the change then be sure
83# to raise a ticket for it on rt.cpan.org and add a comment alongside the
84# list of CUSTOMIZED files noting the ticket number.
d43babf1 85
ab87ca4d
DG
86# DEPRECATED contains the *first* version of Perl in which the module
87# was considered deprecated. It should only be present if the module is
88# actually deprecated. Such modules should use deprecated.pm to
89# issue a warning if used. E.g.:
90#
91# use if $] >= 5.011, 'deprecate';
92#
93
2c95b6e4 94# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 95# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
96# first. The first match causes that prefix to be replaced with the
97# corresponding key. For example, with the following MAP:
613f422f 98# {
4f3a742d
DR
99# 'lib/' => 'lib/',
100# '' => 'lib/Foo/',
2c95b6e4
DM
101# },
102#
103# these files are mapped as shown:
104#
105# README becomes lib/Foo/README
613f422f 106# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
107#
108# The default is dependent on the type of module.
109# For distributions which appear to be stored under ext/, it defaults to:
110#
111# { '' => 'ext/Foo-Bar/' }
112#
113# otherwise, it's
114#
613f422f 115# {
4f3a742d
DR
116# 'lib/' => 'lib/',
117# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
118# }
119
b128a327
JH
120%Modules = (
121
4f3a742d 122 'Archive::Tar' => {
19606b44 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.04.tar.gz',
4f3a742d 124 'FILES' => q[cpan/Archive-Tar],
4f3a742d 125 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
126 'EXCLUDED' => [
127 qw(t/07_ptardiff.t),
128 ],
4f3a742d
DR
129 },
130
131 'Attribute::Handlers' => {
e8b9cef0 132 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 133 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
134 },
135
4f3a742d 136 'autodie' => {
dc013420 137 'DISTRIBUTION' => 'PJF/autodie-2.29.tar.gz',
4f3a742d
DR
138 'FILES' => q[cpan/autodie],
139 'EXCLUDED' => [
273225d4 140 qr{benchmarks},
f91d7e0d 141 qr{README\.md},
4f3a742d
DR
142 # All these tests depend upon external
143 # modules that don't exist when we're
144 # building the core. Hence, they can
145 # never run, and should not be merged.
ff4ad1c0 146 qw( t/author-critic.t
4f3a742d
DR
147 t/critic.t
148 t/fork.t
149 t/kwalitee.t
150 t/lex58.t
151 t/pod-coverage.t
152 t/pod.t
273225d4
CBW
153 t/release-pod-coverage.t
154 t/release-pod-syntax.t
4f3a742d
DR
155 t/socket.t
156 t/system.t
157 )
158 ],
1a74a75d
DM
159 # CPAN RT 105344
160 'CUSTOMIZED' => [ qw[ t/mkdir.t ] ],
4f3a742d
DR
161 },
162
163 'AutoLoader' => {
dff36865 164 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
165 'FILES' => q[cpan/AutoLoader],
166 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
167 },
168
169 'autouse' => {
275943c0 170 'DISTRIBUTION' => 'WOLFSAGE/autouse-1.08.tar.gz',
4f3a742d
DR
171 'FILES' => q[dist/autouse],
172 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
173 },
174
4f3a742d 175 'B::Debug' => {
372b8708 176 'DISTRIBUTION' => 'RURBAN/B-Debug-1.23.tar.gz',
4f3a742d
DR
177 'FILES' => q[cpan/B-Debug],
178 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
179 },
180
4f3a742d 181 'base' => {
7af2899e 182 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 183 'FILES' => q[dist/base],
4f3a742d
DR
184 },
185
4f3a742d 186 'bignum' => {
4ac9c666 187 'DISTRIBUTION' => 'PJACKLAM/bignum-0.37.tar.gz',
4f3a742d
DR
188 'FILES' => q[dist/bignum],
189 'EXCLUDED' => [
190 qr{^inc/Module/},
191 qw( t/pod.t
192 t/pod_cov.t
193 ),
194 ],
4f3a742d
DR
195 },
196
197 'Carp' => {
795b0ba9 198 'DISTRIBUTION' => 'RJBS/Carp-1.36.tar.gz',
4f3a742d 199 'FILES' => q[dist/Carp],
4f3a742d
DR
200 },
201
4f3a742d 202 'Compress::Raw::Bzip2' => {
9e7c8eb7 203 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.069.tar.gz',
4f3a742d
DR
204 'FILES' => q[cpan/Compress-Raw-Bzip2],
205 'EXCLUDED' => [
206 qr{^t/Test/},
65b62fea 207 'bzip2-src/bzip2-const.patch',
4f3a742d 208 'bzip2-src/bzip2-cpp.patch',
65b62fea 209 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 210 ],
4f3a742d
DR
211 },
212
213 'Compress::Raw::Zlib' => {
2b91859c 214 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.069.tar.gz',
4f3a742d
DR
215
216 'FILES' => q[cpan/Compress-Raw-Zlib],
217 'EXCLUDED' => [
84c82da4 218 qr{^examples/},
4f3a742d
DR
219 qr{^t/Test/},
220 qw( t/000prereq.t
221 t/99pod.t
222 ),
223 ],
4f3a742d
DR
224 },
225
4b07058c 226 'Config::Perl::V' => {
6fdf23c2 227 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.24.tgz',
4b07058c 228 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
229 'EXCLUDED' => [qw(
230 examples/show-v.pl
b4ade012 231 )],
4b07058c
RS
232 },
233
4f3a742d 234 'constant' => {
8b1ae794 235 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
236 'FILES' => q[dist/constant],
237 'EXCLUDED' => [
238 qw( t/00-load.t
239 t/more-tests.t
240 t/pod-coverage.t
241 t/pod.t
242 eg/synopsis.pl
243 ),
244 ],
4f3a742d
DR
245 },
246
247 'CPAN' => {
d210e520 248 'DISTRIBUTION' => 'ANDK/CPAN-2.10.tar.gz',
4f3a742d
DR
249 'FILES' => q[cpan/CPAN],
250 'EXCLUDED' => [
251 qr{^distroprefs/},
252 qr{^inc/Test/},
45a13884
SH
253 qr{^t/CPAN/},
254 qr{^t/data/},
79116533 255 qr{^t/97-},
4f3a742d 256 qw( lib/CPAN/Admin.pm
6156383d 257 scripts/cpan-mirrors
bfae5bde 258 PAUSE2015.pub
4f3a742d
DR
259 SlayMakefile
260 t/00signature.t
261 t/04clean_load.t
262 t/12cpan.t
263 t/13tarzip.t
264 t/14forkbomb.t
265 t/30shell.coverage
266 t/30shell.t
267 t/31sessions.t
268 t/41distribution.t
269 t/42distroprefs.t
270 t/43distroprefspref.t
45a13884 271 t/44cpanmeta.t
4f3a742d
DR
272 t/50pod.t
273 t/51pod.t
274 t/52podcover.t
275 t/60credentials.t
276 t/70_critic.t
bfae5bde 277 t/71_minimumversion.t
4f3a742d
DR
278 t/local_utils.pm
279 t/perlcriticrc
280 t/yaml_code.yml
281 ),
282 ],
f907dd3c
SH
283 # See commit 3198fda65dbcd975c56916e4b98f515fab7f02e5
284 'CUSTOMIZED' => [ qw[ lib/CPAN.pm ] ],
4f3a742d
DR
285 },
286
278337cd
CBW
287 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
288 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 289 'CPAN::Meta' => {
2b771c51 290 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz',
4f3a742d
DR
291 'FILES' => q[cpan/CPAN-Meta],
292 'EXCLUDED' => [
f907dd3c
SH
293 qw[t/00-report-prereqs.t
294 t/00-report-prereqs.dd
295 t/data-test/x_deprecated-META.json
296 t/data-valid/x_deprecated-META.yml
297 t/README-data.txt],
4f3a742d
DR
298 qr{^xt},
299 qr{^history},
300 ],
4f3a742d
DR
301 },
302
b6ae0ea7 303 'CPAN::Meta::Requirements' => {
374c951f 304 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.133.tar.gz',
b6ae0ea7
CBW
305 'FILES' => q[cpan/CPAN-Meta-Requirements],
306 'EXCLUDED' => [
c4814040 307 qw(t/00-report-prereqs.t),
54b7cb30 308 qw(t/00-report-prereqs.dd),
608e531f 309 qw(t/version-cleanup.t),
b6ae0ea7 310 qr{^xt},
b6ae0ea7 311 ],
b6ae0ea7
CBW
312 },
313
4f3a742d 314 'CPAN::Meta::YAML' => {
749f0eb1 315 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.017-TRIAL.tar.gz',
4f3a742d
DR
316 'FILES' => q[cpan/CPAN-Meta-YAML],
317 'EXCLUDED' => [
2954a1e9 318 't/00-report-prereqs.t',
e586de20 319 't/00-report-prereqs.dd',
4f3a742d
DR
320 qr{^xt},
321 ],
4f3a742d
DR
322 },
323
324 'Data::Dumper' => {
50a0759e 325 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 326 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
327 },
328
329 'DB_File' => {
1bb0c253 330 'DISTRIBUTION' => 'PMQS/DB_File-1.835.tar.gz',
4f3a742d
DR
331 'FILES' => q[cpan/DB_File],
332 'EXCLUDED' => [
333 qr{^patches/},
334 qw( t/pod.t
335 fallback.h
336 fallback.xs
337 ),
338 ],
4f3a742d
DR
339 },
340
4f3a742d 341 'Devel::PPPort' => {
95a7456e 342 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.32.tar.gz',
099bebb1
SH
343 # RJBS has asked MHX to have UPSTREAM be 'blead'
344 # (i.e. move this from cpan/ to dist/)
4f3a742d 345 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
346 'EXCLUDED' => [
347 'PPPort.pm', # we use PPPort_pm.PL instead
84c82da4 348 ]
4f3a742d
DR
349 },
350
97b1d6e6 351 'Devel::SelfStubber' => {
97b1d6e6
SH
352 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
353 'FILES' => q[dist/Devel-SelfStubber],
354 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
355 },
356
4f3a742d 357 'Digest' => {
4f3a742d
DR
358 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
359 'FILES' => q[cpan/Digest],
360 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
361 },
362
363 'Digest::MD5' => {
38054f44 364 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.tar.gz',
4f3a742d
DR
365 'FILES' => q[cpan/Digest-MD5],
366 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
367 },
368
369 'Digest::SHA' => {
b495b81b 370 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.tar.gz',
4f3a742d
DR
371 'FILES' => q[cpan/Digest-SHA],
372 'EXCLUDED' => [
373 qw( t/pod.t
374 t/podcover.t
375 examples/dups
376 ),
377 ],
4f3a742d
DR
378 },
379
4f3a742d 380 'Dumpvalue' => {
f6e46c4d 381 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
382 'FILES' => q[dist/Dumpvalue],
383 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
384 },
385
4f3a742d 386 'Encode' => {
0648b1fd 387 'DISTRIBUTION' => 'DANKOGAI/Encode-2.78.tar.gz',
4f3a742d 388 'FILES' => q[cpan/Encode],
0648b1fd 389 CUSTOMIZED => [
5695cd67
SH
390 qw( Encode.xs
391 Unicode/Unicode.xs
392 encoding.pm
393 ),
0648b1fd 394 ],
4f3a742d
DR
395 },
396
397 'encoding::warnings' => {
4f3a742d
DR
398 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
399 'FILES' => q[cpan/encoding-warnings],
400 'EXCLUDED' => [
401 qr{^inc/Module/},
94c85d8e 402 qw(t/0-signature.t),
4f3a742d 403 ],
4f3a742d
DR
404 },
405
4f3a742d 406 'Env' => {
126fc07f 407 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
408 'FILES' => q[dist/Env],
409 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
410 },
411
de84ff2b 412 'experimental' => {
4fdcb09b 413 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
de84ff2b 414 'FILES' => q[cpan/experimental],
4fdcb09b 415 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
416 },
417
4f3a742d 418 'Exporter' => {
b4d1bf31 419 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
3110a055 420 'FILES' => q[dist/Exporter],
4f3a742d
DR
421 'EXCLUDED' => [
422 qw( t/pod.t
423 t/use.t
424 ),
425 ],
4f3a742d
DR
426 },
427
428 'ExtUtils::CBuilder' => {
83dcc064 429 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
4f3a742d 430 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
431 'EXCLUDED' => [
432 qw(README.mkdn),
433 qr{^xt},
434 ],
4f3a742d
DR
435 },
436
4f3a742d 437 'ExtUtils::Constant' => {
4f3a742d
DR
438
439 # Nick has confirmed that while we have diverged from CPAN,
440 # this package isn't primarily maintained in core
441 # Another release will happen "Sometime"
442 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
443 'FILES' => q[cpan/ExtUtils-Constant],
444 'EXCLUDED' => [
445 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
446 examples/perl_keyword.pl
447 examples/perl_regcomp_posix_keyword.pl
448 ),
449 ],
4f3a742d
DR
450 },
451
452 'ExtUtils::Install' => {
f1c22b9e 453 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 454 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
455 'EXCLUDED' => [
456 qw( t/lib/Test/Builder.pm
457 t/lib/Test/Builder/Module.pm
458 t/lib/Test/More.pm
459 t/lib/Test/Simple.pm
460 t/pod-coverage.t
461 t/pod.t
462 ),
463 ],
4f3a742d
DR
464 },
465
466 'ExtUtils::MakeMaker' => {
2b7c926c 467 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.10.tar.gz',
4f3a742d
DR
468 'FILES' => q[cpan/ExtUtils-MakeMaker],
469 'EXCLUDED' => [
470 qr{^t/lib/Test/},
471 qr{^(bundled|my)/},
472 qr{^t/Liblist_Kid.t},
473 qr{^t/liblist/},
78fd4358 474 qr{^\.perlcriticrc},
84c82da4
SH
475 'PATCHING',
476 'README.packaging',
4f3a742d 477 ],
2b7c926c
CBW
478 # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/ede9ea4a
479 'CUSTOMIZED' => [
480 qq[lib/ExtUtils/MakeMaker.pm],
481 qq[t/prereq.t],
482 qq[t/vstrings.t],
152e735a
CB
483 # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/dd1e236ab
484 qq[lib/ExtUtils/MM_VMS.pm],
2b7c926c 485 ],
4f3a742d
DR
486 },
487
488 'ExtUtils::Manifest' => {
f660499c 489 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 490 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
491 'EXCLUDED' => [
492 qr(^t/00-report-prereqs),
493 qr(^xt/)
494 ],
4f3a742d
DR
495 },
496
497 'ExtUtils::ParseXS' => {
bdc4e4b2 498 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
4f3a742d 499 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
500 },
501
4f3a742d 502 'File::Fetch' => {
9d56ca6f 503 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 504 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
505 },
506
4f3a742d 507 'File::Path' => {
bfcc9519 508 'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
4f3a742d
DR
509 'FILES' => q[cpan/File-Path],
510 'EXCLUDED' => [
bfcc9519
SH
511 qw(t/Path-Class.t),
512 qr{^xt/},
4f3a742d 513 ],
4f3a742d
DR
514 },
515
4f3a742d 516 'File::Temp' => {
3d5f905f 517 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
518 'FILES' => q[cpan/File-Temp],
519 'EXCLUDED' => [
520 qw( misc/benchmark.pl
521 misc/results.txt
522 ),
814e893f
CBW
523 qw[t/00-report-prereqs.t],
524 qr{^xt},
4f3a742d 525 ],
4f3a742d
DR
526 },
527
4f3a742d 528 'Filter::Simple' => {
37ffe967 529 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
530 'FILES' => q[dist/Filter-Simple],
531 'EXCLUDED' => [
4f3a742d
DR
532 qr{^demo/}
533 ],
4f3a742d
DR
534 },
535
536 'Filter::Util::Call' => {
356231b0 537 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
4f3a742d
DR
538 'FILES' => q[cpan/Filter-Util-Call
539 pod/perlfilter.pod
540 ],
541 'EXCLUDED' => [
542 qr{^decrypt/},
543 qr{^examples/},
544 qr{^Exec/},
545 qr{^lib/Filter/},
546 qr{^tee/},
547 qw( Call/Makefile.PL
548 Call/ppport.h
549 Call/typemap
550 mytest
551 t/cpp.t
552 t/decrypt.t
553 t/exec.t
554 t/order.t
4f3a742d
DR
555 t/sh.t
556 t/tee.t
533d93cc
SH
557 t/z_kwalitee.t
558 t/z_meta.t
559 t/z_perl_minimum_version.t
560 t/z_pod-coverage.t
561 t/z_pod.t
4f3a742d
DR
562 ),
563 ],
564 'MAP' => {
565 'Call/' => 'cpan/Filter-Util-Call/',
566 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
567 'perlfilter.pod' => 'pod/perlfilter.pod',
568 '' => 'cpan/Filter-Util-Call/',
569 },
4f3a742d
DR
570 },
571
4f3a742d 572 'Getopt::Long' => {
083087af 573 'DISTRIBUTION' => 'JV/Getopt-Long-2.47.tar.gz',
4f3a742d
DR
574 'FILES' => q[cpan/Getopt-Long],
575 'EXCLUDED' => [
576 qr{^examples/},
577 qw( perl-Getopt-Long.spec
578 lib/newgetopt.pl
974d5816 579 t/gol-compat.t
4f3a742d
DR
580 ),
581 ],
4f3a742d
DR
582 },
583
4f3a742d 584 'HTTP::Tiny' => {
99527ef1 585 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz',
4f3a742d
DR
586 'FILES' => q[cpan/HTTP-Tiny],
587 'EXCLUDED' => [
fcfb9f49 588 't/00-report-prereqs.t',
57d69a40 589 't/00-report-prereqs.dd',
4f3a742d 590 't/200_live.t',
44347bc3 591 't/200_live_local_ip.t',
fcfb9f49 592 't/210_live_ssl.t',
4f3a742d
DR
593 qr/^eg/,
594 qr/^xt/
595 ],
4f3a742d
DR
596 },
597
598 'I18N::Collate' => {
4f3a742d
DR
599 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
600 'FILES' => q[dist/I18N-Collate],
601 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
602 },
603
4f3a742d 604 'I18N::LangTags' => {
4f3a742d 605 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
606 },
607
608 'if' => {
f7294c1d 609 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 610 'FILES' => q[dist/if],
4f3a742d
DR
611 },
612
613 'IO' => {
4f3a742d
DR
614 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
615 'FILES' => q[dist/IO/],
616 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
617 },
618
619 'IO-Compress' => {
7dcc7d3d 620 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
4f3a742d 621 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
622 'EXCLUDED' => [
623 qr{^examples/},
624 qr{^t/Test/},
625 't/010examples-bzip2.t',
626 't/010examples-zlib.t',
627 't/cz-05examples.t',
628 ],
4f3a742d
DR
629 },
630
74a30e96 631 'IO::Socket::IP' => {
be3cfe4c 632 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.37.tar.gz',
74a30e96
CBW
633 'FILES' => q[cpan/IO-Socket-IP],
634 'EXCLUDED' => [
635 qr{^examples/},
636 ],
637 },
638
4f3a742d 639 'IO::Zlib' => {
4f3a742d
DR
640 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
641 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
642 },
643
644 'IPC::Cmd' => {
9c213c25 645 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 646 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
647 },
648
4f3a742d 649 'IPC::SysV' => {
dd0df890 650 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
651 'FILES' => q[cpan/IPC-SysV],
652 'EXCLUDED' => [
653 qw( const-c.inc
654 const-xs.inc
655 ),
656 ],
4f3a742d
DR
657 },
658
659 'JSON::PP' => {
87f3ebe4 660 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 661 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
662 },
663
664 'lib' => {
4f3a742d
DR
665 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
666 'FILES' => q[dist/lib/],
667 'EXCLUDED' => [
668 qw( forPAUSE/lib.pm
669 t/00pod.t
670 ),
671 ],
4f3a742d
DR
672 },
673
674 'libnet' => {
db956464 675 'DISTRIBUTION' => 'SHAY/libnet-3.07.tar.gz',
4f3a742d
DR
676 'FILES' => q[cpan/libnet],
677 'EXCLUDED' => [
678 qw( Configure
2901a52f 679 t/changes.t
59e3cdd4
SH
680 t/critic.t
681 t/pod.t
682 t/pod_coverage.t
4f3a742d 683 ),
84c82da4 684 qr(^demos/),
dadfa42f 685 qr(^t/external/),
4f3a742d 686 ],
4f3a742d
DR
687 },
688
689 'Locale-Codes' => {
90b2cbd5 690 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.36.tar.gz',
4f3a742d
DR
691 'FILES' => q[cpan/Locale-Codes],
692 'EXCLUDED' => [
84c82da4 693 qw( README.first
8eadc45b 694 t/pod_coverage.ign
84c82da4 695 t/pod_coverage.t
4f3a742d
DR
696 t/pod.t),
697 qr{^t/runtests},
698 qr{^t/runtests\.bat},
699 qr{^internal/},
700 qr{^examples/},
701 ],
4f3a742d
DR
702 },
703
704 'Locale::Maketext' => {
2310e174 705 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
706 'FILES' => q[dist/Locale-Maketext],
707 'EXCLUDED' => [
708 qw(
709 perlcriticrc
710 t/00_load.t
711 t/pod.t
712 ),
713 ],
4f3a742d
DR
714 },
715
716 'Locale::Maketext::Simple' => {
4f3a742d
DR
717 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
718 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
719 },
720
4f3a742d 721 'Math::BigInt' => {
5b92cc03 722 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999701.tar.gz',
6b0f9b46 723 'FILES' => q[cpan/Math-BigInt],
4f3a742d
DR
724 'EXCLUDED' => [
725 qr{^inc/},
726 qr{^examples/},
727 qw( t/00sig.t
728 t/01load.t
729 t/02pod.t
730 t/03podcov.t
731 ),
732 ],
5b92cc03
SH
733 'CUSTOMIZED' => [
734 qw( t/bigfltpm.t
735 t/bigintpm.inc
736 t/bigroot.t
737 t/mbimbf.t
738 ),
739 ],
4f3a742d
DR
740 },
741
742 'Math::BigInt::FastCalc' => {
4ac9c666 743 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
6b0f9b46 744 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d
DR
745 'EXCLUDED' => [
746 qr{^inc/},
747 qw( t/00sig.t
748 t/01load.t
749 t/02pod.t
750 t/03podcov.t
751 ),
752
753 # instead we use the versions of these test
754 # files that come with Math::BigInt:
755 qw( t/bigfltpm.inc
756 t/bigfltpm.t
757 t/bigintpm.inc
758 t/bigintpm.t
759 t/mbimbf.inc
760 t/mbimbf.t
761 ),
762 ],
711ceb60
SH
763 'CUSTOMIZED' => [
764 qw( lib/Math/BigInt/FastCalc.pm
765 ),
766 ],
4f3a742d
DR
767 },
768
769 'Math::BigRat' => {
9b331ac6 770 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260801.tar.gz',
6b0f9b46 771 'FILES' => q[cpan/Math-BigRat],
4f3a742d
DR
772 'EXCLUDED' => [
773 qr{^inc/},
774 qw( t/00sig.t
775 t/01load.t
776 t/02pod.t
777 t/03podcov.t
778 ),
779 ],
9b331ac6
SH
780 'CUSTOMIZED' => [
781 qw( lib/Math/BigRat.pm
782 ),
783 ],
4f3a742d
DR
784 },
785
786 'Math::Complex' => {
04ae1553 787 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
788 'FILES' => q[cpan/Math-Complex],
789 'EXCLUDED' => [
790 qw( t/pod.t
791 t/pod-coverage.t
792 ),
793 ],
4f3a742d
DR
794 },
795
796 'Memoize' => {
8114efa0 797 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
798 'FILES' => q[cpan/Memoize],
799 'EXCLUDED' => ['article.html'],
4f3a742d
DR
800 },
801
802 'MIME::Base64' => {
6b10655d 803 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
804 'FILES' => q[cpan/MIME-Base64],
805 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
806 },
807
4f3a742d 808 'Module::CoreList' => {
b5dd2dd3 809 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150920.tar.gz',
4f3a742d 810 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
811 },
812
813 'Module::Load' => {
58572ed8 814 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 815 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
816 },
817
818 'Module::Load::Conditional' => {
a1f2a8e1 819 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 820 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
821 },
822
823 'Module::Loaded' => {
4f3a742d
DR
824 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
825 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
826 },
827
828 'Module::Metadata' => {
e6d414a9 829 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000029-TRIAL.tar.gz',
4f3a742d
DR
830 'FILES' => q[cpan/Module-Metadata],
831 'EXCLUDED' => [
b9beed70 832 qw(t/00-report-prereqs.t),
adc2cdfb 833 qw(t/00-report-prereqs.dd),
e6d414a9 834 qr{weaver.ini},
4f3a742d
DR
835 qr{^xt},
836 ],
4f3a742d
DR
837 },
838
4f3a742d 839 'Net::Ping' => {
4e0aac35 840 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 841 'FILES' => q[dist/Net-Ping],
4f3a742d
DR
842 },
843
844 'NEXT' => {
4f3a742d
DR
845 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
846 'FILES' => q[cpan/NEXT],
847 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
848 },
849
4f3a742d 850 'Params::Check' => {
8b21fa03 851 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 852 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
853 },
854
855 'parent' => {
bdb6acef 856 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
4f3a742d 857 'FILES' => q[cpan/parent],
4f3a742d
DR
858 },
859
860 'Parse::CPAN::Meta' => {
9716828a 861 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz',
4f3a742d 862 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 863 'EXCLUDED' => [
f907dd3c 864 qw[t/00-report-prereqs.dd],
342e4710
CBW
865 qw[t/00-report-prereqs.t],
866 qr{^xt},
867 ],
4f3a742d
DR
868 },
869
870 'PathTools' => {
4d90bfb5 871 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 872 'FILES' => q[dist/PathTools],
4f3a742d 873 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
874 },
875
97b1d6e6 876 'Perl::OSType' => {
76f6b771 877 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.009.tar.gz',
97b1d6e6 878 'FILES' => q[cpan/Perl-OSType],
765955c0 879 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
880 },
881
97b1d6e6 882 'perlfaq' => {
5eeb15d3 883 'DISTRIBUTION' => 'LLAP/perlfaq-5.021010.tar.gz',
97b1d6e6
SH
884 'FILES' => q[cpan/perlfaq],
885 'EXCLUDED' => [
4d25f022 886 qw( inc/CreateQuestionList.pm
e3ef4406 887 inc/perlfaq.tt
4d25f022
SH
888 t/00-compile.t),
889 qr{^xt/},
97b1d6e6 890 ],
97b1d6e6
SH
891 },
892
4f3a742d 893 'PerlIO::via::QuotedPrint' => {
96623e31 894 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 895 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
896 },
897
0c501878 898 'Pod::Checker' => {
0c501878
CBW
899 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
900 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
901 },
902
4f3a742d 903 'Pod::Escapes' => {
f347d3e3 904 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 905 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
906 },
907
4f3a742d 908 'Pod::Parser' => {
534577b2 909 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 910 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
911 },
912
913 'Pod::Perldoc' => {
96f13870 914 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 915 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 916
fa884b76
DM
917 # Note that we use the CPAN-provided Makefile.PL, since it
918 # contains special handling of the installation of perldoc.pod
919
920 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
921 # instead
922 # XXX We can and should fix this, but clean up the DRY-failure in utils
923 # first
924 'EXCLUDED' => ['perldoc'],
18c028dd
AB
925
926 # https://rt.cpan.org/Ticket/Display.html?id=106798
927 'CUSTOMIZED' => [ qw[ lib/Pod/Perldoc.pm ] ],
4f3a742d
DR
928 },
929
930 'Pod::Simple' => {
8226f508 931 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.30.tar.gz',
4f3a742d 932 'FILES' => q[cpan/Pod-Simple],
8226f508
TC
933 # https://rt.cpan.org/Public/Bug/Display.html?id=103439
934 # https://rt.cpan.org/Public/Bug/Display.html?id=105192
935 # https://rt.cpan.org/Public/Bug/Display.html?id=105511
936 'CUSTOMIZED' => [
937 qw( lib/Pod/Simple/Search.pm
938 lib/Pod/Simple/BlackBox.pm
939 t/search10.t
940 t/search12.t
941 t/search20.t
942 t/search22.t
943 t/search26.t
944 t/search28.t
945 ),
946 ],
4f3a742d
DR
947 },
948
0c501878 949 'Pod::Usage' => {
969c6694 950 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.67.tar.gz',
0c501878 951 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
952 },
953
4f3a742d 954 'podlators' => {
b52cde68 955 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
956 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
957
958 # The perl distribution has pod2man.PL and pod2text.PL, which are
959 # run to create pod2man and pod2text, while the CPAN distribution
960 # just has the post-generated pod2man and pod2text files.
961 # The following entries attempt to codify that odd fact.
962 'CUSTOMIZED' => [
963 qw( scripts/pod2man.PL
964 scripts/pod2text.PL
4f3a742d
DR
965 ),
966 ],
967 'MAP' => {
968 '' => 'cpan/podlators/',
969 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
970 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
971
972 # this file lives outside the cpan/ directory
973 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
974 },
4f3a742d
DR
975 },
976
4f3a742d 977 'Safe' => {
e739c653 978 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 979 'FILES' => q[dist/Safe],
4f3a742d
DR
980 },
981
982 'Scalar-List-Utils' => {
3d58dd24 983 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.42.tar.gz',
869a9612
SH
984 'FILES' => q[cpan/Scalar-List-Utils],
985 # Waiting to be merged upstream:
986 # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24
987 'CUSTOMIZED' => [
988 qw( ListUtil.xs
989 lib/List/Util.pm
990 lib/List/Util/XS.pm
991 lib/Scalar/Util.pm
992 lib/Sub/Util.pm
993 )
994 ],
4f3a742d
DR
995 },
996
4f3a742d 997 'Search::Dict' => {
0b0a7092 998 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 999 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
1000 },
1001
1002 'SelfLoader' => {
c3958279 1003 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1004 'FILES' => q[dist/SelfLoader],
1005 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1006 },
1007
4f3a742d 1008 'Socket' => {
50e79584 1009 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 1010 'FILES' => q[cpan/Socket],
99ee6704
AB
1011
1012 # https://rt.cpan.org/Ticket/Display.html?id=106797
dee6f87b 1013 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
1014 },
1015
1016 'Storable' => {
5f4b5e0f 1017 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1018 'FILES' => q[dist/Storable],
4f3a742d
DR
1019 },
1020
4f3a742d 1021 'Sys::Syslog' => {
848ca32c 1022 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1023 'FILES' => q[cpan/Sys-Syslog],
1024 'EXCLUDED' => [
1025 qr{^eg/},
84c82da4
SH
1026 qw( README.win32
1027 t/data-validation.t
4f3a742d
DR
1028 t/distchk.t
1029 t/pod.t
1030 t/podcover.t
1031 t/podspell.t
1032 t/portfs.t
1033 win32/PerlLog.RES
4f3a742d
DR
1034 ),
1035 ],
4f3a742d
DR
1036 },
1037
1038 'Term::ANSIColor' => {
5e64492f 1039 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1040 'FILES' => q[cpan/Term-ANSIColor],
1041 'EXCLUDED' => [
92f80b37
CBW
1042 qr{^examples/},
1043 qr{^t/data/},
5e64492f
CBW
1044 qr{^t/docs/},
1045 qr{^t/style/},
1046 qw( t/module/aliases-env.t ),
4f3a742d 1047 ],
4f3a742d
DR
1048 },
1049
1050 'Term::Cap' => {
23a75734 1051 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1052 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1053 },
1054
1055 'Term::Complete' => {
4f3a742d
DR
1056 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1057 'FILES' => q[dist/Term-Complete],
1058 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1059 },
1060
1061 'Term::ReadLine' => {
75ad3638 1062 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1063 'FILES' => q[dist/Term-ReadLine],
1064 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1065 },
1066
4f3a742d 1067 'Test' => {
1c22e001 1068 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1069 'FILES' => q[dist/Test],
4f3a742d
DR
1070 },
1071
1072 'Test::Harness' => {
2cc1a90a 1073 'DISTRIBUTION' => 'LEONT/Test-Harness-3.35.tar.gz',
4f3a742d
DR
1074 'FILES' => q[cpan/Test-Harness],
1075 'EXCLUDED' => [
1076 qr{^examples/},
1077 qr{^inc/},
1078 qr{^t/lib/Test/},
1079 qr{^xt/},
1080 qw( Changes-2.64
8db65552 1081 MANIFEST.CUMMULATIVE
4f3a742d
DR
1082 NotBuild.PL
1083 HACKING.pod
1084 perlcriticrc
8db65552 1085 t/000-load.t
4f3a742d
DR
1086 t/lib/if.pm
1087 ),
1088 ],
4f3a742d
DR
1089 },
1090
1091 'Test::Simple' => {
80a7dd19 1092 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1093 'FILES' => q[cpan/Test-Simple],
1094 'EXCLUDED' => [
6dab8563 1095 qr{^t/xt},
86e082c9 1096 qr{^xt},
4f3a742d
DR
1097 qw( .perlcriticrc
1098 .perltidyrc
84c82da4
SH
1099 examples/indent.pl
1100 examples/subtest.t
80a7dd19 1101 t/00compile.t
18864292 1102 t/xxx-changes_updated.t
4f3a742d
DR
1103 ),
1104 ],
f266b743 1105 },
4f3a742d
DR
1106
1107 'Text::Abbrev' => {
5e96eee9 1108 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1109 'FILES' => q[dist/Text-Abbrev],
1110 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1111 },
1112
1113 'Text::Balanced' => {
03a97c81 1114 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1115 'FILES' => q[cpan/Text-Balanced],
1116 'EXCLUDED' => [
1117 qw( t/97_meta.t
1118 t/98_pod.t
1119 t/99_pmv.t
1120 ),
1121 ],
4f3a742d
DR
1122 },
1123
1124 'Text::ParseWords' => {
a790e348 1125 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1126 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1127
a790e348
SH
1128 # Waiting to be merged upstream:
1129 # see https://github.com/chorny/Text-ParseWords/pull/6
f81a37f2
SH
1130 'CUSTOMIZED' => [
1131 qw( t/ParseWords.t
f81a37f2
SH
1132 ),
1133 ],
4f3a742d
DR
1134 },
1135
4f3a742d 1136 'Text-Tabs+Wrap' => {
83aea42c 1137 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1138 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1139 'EXCLUDED' => [
1140 qr/^lib\.old/,
1141 't/dnsparks.t', # see af6492bf9e
4f3a742d 1142 ],
e7b92d54
SH
1143 'MAP' => {
1144 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1145 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1146 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1147 },
4f3a742d
DR
1148 },
1149
4e75700d
AC
1150 # Jerry Hedden does take patches that are applied to blead first, even
1151 # though that can be hard to discern from the Git history; so it's
1152 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1153 # to be under dist/ rather than cpan/
4f3a742d 1154 'Thread::Queue' => {
e128eaa1 1155 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.06.tar.gz',
4f3a742d
DR
1156 'FILES' => q[dist/Thread-Queue],
1157 'EXCLUDED' => [
1fd4700e
JH
1158 qr{^examples/},
1159 qw( t/00_load.t
4f3a742d
DR
1160 t/99_pod.t
1161 t/test.pl
1162 ),
1163 ],
4f3a742d
DR
1164 },
1165
1166 'Thread::Semaphore' => {
4f3a742d
DR
1167 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1168 'FILES' => q[dist/Thread-Semaphore],
1169 'EXCLUDED' => [
1170 qw( examples/semaphore.pl
1171 t/00_load.t
1172 t/99_pod.t
1173 t/test.pl
1174 ),
1175 ],
4f3a742d
DR
1176 },
1177
1178 'threads' => {
aa8d754d 1179 'DISTRIBUTION' => 'JDHEDDEN/threads-2.02.tar.gz',
4f3a742d
DR
1180 'FILES' => q[dist/threads],
1181 'EXCLUDED' => [
1182 qr{^examples/},
1183 qw( t/pod.t
1184 t/test.pl
1185 threads.h
1186 ),
1187 ],
4f3a742d
DR
1188 },
1189
1190 'threads::shared' => {
f3f2f486 1191 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.48.tar.gz',
4f3a742d
DR
1192 'FILES' => q[dist/threads-shared],
1193 'EXCLUDED' => [
1194 qw( examples/class.pl
1195 shared.h
1196 t/pod.t
1197 t/test.pl
1198 ),
1199 ],
4f3a742d
DR
1200 },
1201
1202 'Tie::File' => {
4ac9c666 1203 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1204 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1205 },
1206
4f3a742d 1207 'Tie::RefHash' => {
4f3a742d
DR
1208 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1209 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1210 },
1211
1212 'Time::HiRes' => {
120b53f9 1213 'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9727_02.tar.gz',
4f3a742d 1214 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1215 },
1216
1217 'Time::Local' => {
62e824cf 1218 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1219 'FILES' => q[cpan/Time-Local],
1220 'EXCLUDED' => [
62e824cf 1221 qr{^t/release-.*\.t},
4f3a742d 1222 ],
4f3a742d
DR
1223 },
1224
1225 'Time::Piece' => {
12bbe8b8 1226 'DISTRIBUTION' => 'RJBS/Time-Piece-1.30.tar.gz',
4f3a742d 1227 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1228 },
1229
1230 'Unicode::Collate' => {
6962a25d 1231 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.14.tar.gz',
4f3a742d
DR
1232 'FILES' => q[cpan/Unicode-Collate],
1233 'EXCLUDED' => [
1234 qr{N$},
1235 qr{^data/},
1236 qr{^gendata/},
1237 qw( disableXS
1238 enableXS
1239 mklocale
1240 ),
1241 ],
4f3a742d
DR
1242 },
1243
1244 'Unicode::Normalize' => {
3ece07bc 1245 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.21.tar.gz',
4f3a742d 1246 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1247 },
1248
4f3a742d 1249 'version' => {
da891a41 1250 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1251 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1252 'EXCLUDED' => [
df3ba8e7 1253 qr{^vutil/lib/},
c60b4fa6 1254 'vutil/Makefile.PL',
df3ba8e7
FC
1255 'vutil/ppport.h',
1256 'vutil/vxs.xs',
4f3a742d 1257 't/survey_locales',
4f3a742d 1258 ],
f81a37f2 1259
c872d591
SH
1260 # When adding the CPAN-distributed files for version.pm, it is necessary
1261 # to delete an entire block out of lib/version.pm, since that code is
1262 # only necessary with the CPAN release.
f81a37f2
SH
1263 'CUSTOMIZED' => [
1264 qw( lib/version.pm
f81a37f2 1265 ),
4637d007
SH
1266
1267 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1268 qw( vutil.c
4637d007 1269 ),
f81a37f2
SH
1270 ],
1271
df3ba8e7 1272 'MAP' => {
4fa93b19
SH
1273 'vperl/' => 'cpan/version/lib/version/',
1274 'vutil/' => '',
df3ba8e7
FC
1275 '' => 'cpan/version/',
1276 },
4f3a742d
DR
1277 },
1278
4f3a742d 1279 'warnings' => {
099bebb1 1280 'FILES' => q[
4f3a742d 1281 lib/warnings
099bebb1
SH
1282 lib/warnings.{pm,t}
1283 regen/warnings.pl
4f3a742d 1284 t/lib/warnings
099bebb1 1285 ],
4f3a742d
DR
1286 },
1287
4f3a742d 1288 'Win32' => {
083231ea 1289 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1290 'FILES' => q[cpan/Win32],
4f3a742d
DR
1291 },
1292
1293 'Win32API::File' => {
e5240100 1294 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1295 'FILES' => q[cpan/Win32API-File],
1296 'EXCLUDED' => [
1297 qr{^ex/},
4f3a742d 1298 ],
9d20b1d3
SH
1299
1300 # Currently all EOL differences. Waiting for a new upstream release:
1301 # All the files in the GitHub repo have UNIX EOLs already.
1302 'CUSTOMIZED' => [
1303 qw( ExtUtils/Myconst2perl.pm
1304 Makefile.PL
1305 buffers.h
1306 cFile.h
1307 cFile.pc
1308 const2perl.h
1309 t/file.t
1310 t/tie.t
1311 typemap
1312 ),
1313 ],
4f3a742d
DR
1314 },
1315
4f3a742d 1316 'XSLoader' => {
681a49bf 1317 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1318 'FILES' => q[dist/XSLoader],
1319 'EXCLUDED' => [
1320 qr{^eg/},
57f9caa0
SH
1321 qw( t/00-load.t
1322 t/01-api.t
1323 t/distchk.t
1324 t/pod.t
4f3a742d
DR
1325 t/podcover.t
1326 t/portfs.t
1327 ),
1328 'XSLoader.pm', # we use XSLoader_pm.PL
1329 ],
4f3a742d
DR
1330 },
1331
462ea751
DM
1332 # this pseudo-module represents all the files under ext/ and lib/
1333 # that aren't otherwise claimed. This means that the following two
1334 # commands will check that every file under ext/ and lib/ is
1335 # accounted for, and that there are no duplicates:
1336 #
1337 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1338 # perl Porting/Maintainers --checkmani
462ea751 1339
4f3a742d 1340 '_PERLLIB' => {
2af3c4b9 1341 'FILES' => q[
79852350
AB
1342 ext/Amiga-ARexx/
1343 ext/Amiga-Exec/
09213599 1344 ext/B/
2af3c4b9
SH
1345 ext/Devel-Peek/
1346 ext/DynaLoader/
1347 ext/Errno/
7b4d95f7 1348 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1349 ext/Fcntl/
1350 ext/File-DosGlob/
1351 ext/File-Find/
1352 ext/File-Glob/
1353 ext/FileCache/
1354 ext/GDBM_File/
1355 ext/Hash-Util-FieldHash/
1356 ext/Hash-Util/
1357 ext/I18N-Langinfo/
1358 ext/IPC-Open3/
1359 ext/NDBM_File/
1360 ext/ODBM_File/
1361 ext/Opcode/
1362 ext/POSIX/
1363 ext/PerlIO-encoding/
1364 ext/PerlIO-mmap/
1365 ext/PerlIO-scalar/
1366 ext/PerlIO-via/
1367 ext/Pod-Functions/
1368 ext/Pod-Html/
1369 ext/SDBM_File/
1370 ext/Sys-Hostname/
1371 ext/Tie-Hash-NamedCapture/
1372 ext/Tie-Memoize/
b3dcf775 1373 ext/VMS-DCLsym/
2af3c4b9 1374 ext/VMS-Filespec/
b3dcf775
SH
1375 ext/VMS-Stdio/
1376 ext/Win32CORE/
4f3a742d 1377 ext/XS-APItest/
2af3c4b9
SH
1378 ext/XS-Typemap/
1379 ext/arybase/
1380 ext/attributes/
1381 ext/mro/
1382 ext/re/
1383 lib/AnyDBM_File.{pm,t}
1384 lib/Benchmark.{pm,t}
38eca645 1385 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1386 lib/B/Op_private.pm
4f3a742d 1387 lib/CORE.pod
2af3c4b9 1388 lib/Class/Struct.{pm,t}
4f3a742d
DR
1389 lib/Config.t
1390 lib/Config/Extensions.{pm,t}
1391 lib/DB.{pm,t}
2af3c4b9
SH
1392 lib/DBM_Filter.pm
1393 lib/DBM_Filter/
1394 lib/DirHandle.{pm,t}
1395 lib/English.{pm,t}
4f3a742d
DR
1396 lib/ExtUtils/Embed.pm
1397 lib/ExtUtils/XSSymSet.pm
1398 lib/ExtUtils/t/Embed.t
1399 lib/ExtUtils/typemap
2af3c4b9
SH
1400 lib/File/Basename.{pm,t}
1401 lib/File/Compare.{pm,t}
1402 lib/File/Copy.{pm,t}
1403 lib/File/stat{.pm,.t,-7896.t}
1404 lib/FileHandle.{pm,t}
1405 lib/FindBin.{pm,t}
1406 lib/Getopt/Std.{pm,t}
4f3a742d 1407 lib/Internals.t
4b6af431 1408 lib/meta_notation.{pm,t}
4f3a742d
DR
1409 lib/Net/hostent.{pm,t}
1410 lib/Net/netent.{pm,t}
1411 lib/Net/protoent.{pm,t}
1412 lib/Net/servent.{pm,t}
2af3c4b9 1413 lib/PerlIO.pm
4f3a742d
DR
1414 lib/Pod/t/InputObjects.t
1415 lib/Pod/t/Select.t
1416 lib/Pod/t/Usage.t
4f3a742d
DR
1417 lib/Pod/t/utils.t
1418 lib/SelectSaver.{pm,t}
1419 lib/Symbol.{pm,t}
1420 lib/Thread.{pm,t}
1421 lib/Tie/Array.pm
1422 lib/Tie/Array/
1423 lib/Tie/ExtraHash.t
1424 lib/Tie/Handle.pm
1425 lib/Tie/Handle/
2af3c4b9 1426 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1427 lib/Tie/Scalar.{pm,t}
1428 lib/Tie/StdHandle.pm
1429 lib/Tie/SubstrHash.{pm,t}
1430 lib/Time/gmtime.{pm,t}
1431 lib/Time/localtime.{pm,t}
1432 lib/Time/tm.pm
1433 lib/UNIVERSAL.pm
1434 lib/Unicode/README
2af3c4b9 1435 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1436 lib/User/grent.{pm,t}
1437 lib/User/pwent.{pm,t}
2af3c4b9 1438 lib/_charnames.pm
4f3a742d
DR
1439 lib/blib.{pm,t}
1440 lib/bytes.{pm,t}
1441 lib/bytes_heavy.pl
1442 lib/charnames.{pm,t}
1443 lib/dbm_filter_util.pl
1444 lib/deprecate.pm
2af3c4b9 1445 lib/diagnostics.{pm,t}
4f3a742d
DR
1446 lib/dumpvar.{pl,t}
1447 lib/feature.{pm,t}
1448 lib/feature/
1449 lib/filetest.{pm,t}
1450 lib/h2ph.t
1451 lib/h2xs.t
1452 lib/integer.{pm,t}
1453 lib/less.{pm,t}
1454 lib/locale.{pm,t}
1455 lib/open.{pm,t}
1456 lib/overload/numbers.pm
1457 lib/overloading.{pm,t}
2af3c4b9 1458 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1459 lib/perl5db.{pl,t}
1460 lib/perl5db/
2af3c4b9 1461 lib/sigtrap.{pm,t}
4f3a742d
DR
1462 lib/sort.{pm,t}
1463 lib/strict.{pm,t}
1464 lib/subs.{pm,t}
1465 lib/unicore/
1466 lib/utf8.{pm,t}
1467 lib/utf8_heavy.pl
1468 lib/vars{.pm,.t,_carp.t}
1469 lib/vmsish.{pm,t}
1470 ],
4f3a742d 1471 },
462ea751 1472);
b128a327 1473
97556ec3 1474# legacy CPAN flag
4f3a742d 1475for ( values %Modules ) {
97556ec3
GA
1476 $_->{CPAN} = !!$_->{DISTRIBUTION};
1477}
1478
099bebb1
SH
1479# legacy UPSTREAM flag
1480for ( keys %Modules ) {
1481 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1482 next if exists $Modules{$_}{UPSTREAM};
1483
1484 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1485 $Modules{$_}{UPSTREAM} = 'blead';
1486 }
1487 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1488 $Modules{$_}{UPSTREAM} = 'cpan';
1489 }
1490 else {
1491 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1492 }
1493}
1494
d350de41 1495# legacy MAINTAINER field
099bebb1 1496for ( keys %Modules ) {
b3dcf775 1497 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1498 next if exists $Modules{$_}{MAINTAINER};
1499
1500 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1501 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1502 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1503 }
099bebb1
SH
1504 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1505 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1506 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1507 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1508 }
099bebb1
SH
1509 else {
1510 warn "No DISTRIBUTION for non-blead module $_";
1511 }
d350de41
SH
1512}
1513
b128a327 15141;