This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump version to 5.33.5
[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(
79ff1055 19 .cvsignore .dualLivedDiffConfig .gitignore .github .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
20d6f799
KE
68# necessarily match the newest version on CPAN. (For dist/ distributions,
69# which are blead-first, a request should be placed with the releaser(s) to
70# upload the corresponding cpan release, and the entry in this file should
71# only be updated when that release has been done.)
a55d270d 72
2c95b6e4
DM
73# EXCLUDED is a list of files to be excluded from a CPAN tarball before
74# comparing the remaining contents with core. Each item can either be a
75# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
76# It defaults to the empty list.
77
d43babf1 78# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
79# Perl core. Use this whenever patching a cpan upstream distribution
80# or whenever we expect to have a file that differs from the tarball.
81# If the file in blead matches the file in the tarball from CPAN,
82# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 83# customization might have been lost when updating from upstream. The
f81a37f2
SH
84# path should be relative to the distribution directory. If the upstream
85# distribution should be modified to incorporate the change then be sure
86# to raise a ticket for it on rt.cpan.org and add a comment alongside the
87# list of CUSTOMIZED files noting the ticket number.
d43babf1 88
ab87ca4d
DG
89# DEPRECATED contains the *first* version of Perl in which the module
90# was considered deprecated. It should only be present if the module is
8dad89f0 91# actually deprecated. Such modules should use deprecate.pm to
ab87ca4d
DG
92# issue a warning if used. E.g.:
93#
94# use if $] >= 5.011, 'deprecate';
95#
96
2c95b6e4 97# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 98# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
99# first. The first match causes that prefix to be replaced with the
100# corresponding key. For example, with the following MAP:
613f422f 101# {
4f3a742d
DR
102# 'lib/' => 'lib/',
103# '' => 'lib/Foo/',
2c95b6e4
DM
104# },
105#
106# these files are mapped as shown:
107#
108# README becomes lib/Foo/README
613f422f 109# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
110#
111# The default is dependent on the type of module.
112# For distributions which appear to be stored under ext/, it defaults to:
113#
114# { '' => 'ext/Foo-Bar/' }
115#
116# otherwise, it's
117#
613f422f 118# {
4f3a742d
DR
119# 'lib/' => 'lib/',
120# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
121# }
122
b128a327
JH
123%Modules = (
124
4f3a742d 125 'Archive::Tar' => {
401624ce 126 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.38.tar.gz',
4f3a742d 127 'FILES' => q[cpan/Archive-Tar],
4f3a742d 128 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
129 'EXCLUDED' => [
130 qw(t/07_ptardiff.t),
2db5b8da 131 qr{t/src/(long|short)/foo.txz},
c465fd2f 132 ],
4f3a742d
DR
133 },
134
135 'Attribute::Handlers' => {
e8b9cef0 136 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 137 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
138 },
139
4f3a742d 140 'autodie' => {
2f4f9a3a 141 'DISTRIBUTION' => 'TODDR/autodie-2.32.tar.gz',
4f3a742d
DR
142 'FILES' => q[cpan/autodie],
143 'EXCLUDED' => [
273225d4 144 qr{benchmarks},
f91d7e0d 145 qr{README\.md},
e4cce63d 146 qr{^xt/},
4f3a742d
DR
147 # All these tests depend upon external
148 # modules that don't exist when we're
149 # building the core. Hence, they can
150 # never run, and should not be merged.
ff4ad1c0 151 qw( t/author-critic.t
4f3a742d
DR
152 t/critic.t
153 t/fork.t
154 t/kwalitee.t
155 t/lex58.t
156 t/pod-coverage.t
157 t/pod.t
273225d4
CBW
158 t/release-pod-coverage.t
159 t/release-pod-syntax.t
4f3a742d
DR
160 t/socket.t
161 t/system.t
1b173b1f 162 t/no-all.t
4f3a742d
DR
163 )
164 ],
4f3a742d
DR
165 },
166
167 'AutoLoader' => {
dff36865 168 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
169 'FILES' => q[cpan/AutoLoader],
170 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
171 },
172
173 'autouse' => {
965f9517 174 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
4f3a742d
DR
175 'FILES' => q[dist/autouse],
176 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
177 },
178
4f3a742d 179 'base' => {
4c13dc7e 180 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 181 'FILES' => q[dist/base],
4f3a742d
DR
182 },
183
4f3a742d 184 'bignum' => {
405fd651 185 'DISTRIBUTION' => 'PJACKLAM/bignum-0.51.tar.gz',
c287fe32 186 'FILES' => q[cpan/bignum],
4f3a742d 187 'EXCLUDED' => [
91f07087 188 qr{^t/author-},
d5c196da 189 qr{^t/release-},
c287fe32
SH
190 qw( t/00sig.t
191 t/01load.t
4f3a742d
DR
192 ),
193 ],
4f3a742d
DR
194 },
195
196 'Carp' => {
9e3f69e1 197 'DISTRIBUTION' => 'XSAWYERX/Carp-1.50.tar.gz',
4f3a742d 198 'FILES' => q[dist/Carp],
4f3a742d
DR
199 },
200
4f3a742d 201 'Compress::Raw::Bzip2' => {
51638bdf 202 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.096.tar.gz',
4f3a742d
DR
203 'FILES' => q[cpan/Compress-Raw-Bzip2],
204 'EXCLUDED' => [
205 qr{^t/Test/},
8284a71c 206 qr{^t/meta},
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' => {
6fec3df1 214 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.096.tar.gz',
4f3a742d
DR
215 'FILES' => q[cpan/Compress-Raw-Zlib],
216 'EXCLUDED' => [
84c82da4 217 qr{^examples/},
4f3a742d 218 qr{^t/Test/},
8284a71c 219 qr{^t/meta},
4f3a742d
DR
220 qw( t/000prereq.t
221 t/99pod.t
222 ),
223 ],
4f3a742d
DR
224 },
225
4b07058c 226 'Config::Perl::V' => {
72b2b1d9 227 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.31.tgz',
4b07058c 228 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
229 'EXCLUDED' => [qw(
230 examples/show-v.pl
b4ade012 231 )],
aff33f21 232 'CUSTOMIZED' => [ qw(V.pm) ],
4b07058c
RS
233 },
234
4f3a742d 235 'constant' => {
8b1ae794 236 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
237 'FILES' => q[dist/constant],
238 'EXCLUDED' => [
239 qw( t/00-load.t
240 t/more-tests.t
241 t/pod-coverage.t
242 t/pod.t
243 eg/synopsis.pl
244 ),
245 ],
4f3a742d
DR
246 },
247
248 'CPAN' => {
ef977e20 249 'DISTRIBUTION' => 'ANDK/CPAN-2.28.tar.gz',
4f3a742d
DR
250 'FILES' => q[cpan/CPAN],
251 'EXCLUDED' => [
252 qr{^distroprefs/},
253 qr{^inc/Test/},
45a13884
SH
254 qr{^t/CPAN/},
255 qr{^t/data/},
79116533 256 qr{^t/97-},
4f3a742d 257 qw( lib/CPAN/Admin.pm
6156383d 258 scripts/cpan-mirrors
bfae5bde 259 PAUSE2015.pub
6cc23b5a 260 PAUSE2019.pub
ef977e20 261 PAUSE2021.pub
4f3a742d
DR
262 SlayMakefile
263 t/00signature.t
264 t/04clean_load.t
265 t/12cpan.t
266 t/13tarzip.t
267 t/14forkbomb.t
268 t/30shell.coverage
269 t/30shell.t
270 t/31sessions.t
271 t/41distribution.t
272 t/42distroprefs.t
273 t/43distroprefspref.t
45a13884 274 t/44cpanmeta.t
4f3a742d
DR
275 t/50pod.t
276 t/51pod.t
277 t/52podcover.t
278 t/60credentials.t
279 t/70_critic.t
bfae5bde 280 t/71_minimumversion.t
4f3a742d
DR
281 t/local_utils.pm
282 t/perlcriticrc
283 t/yaml_code.yml
284 ),
285 ],
4f3a742d
DR
286 },
287
278337cd
CBW
288 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
289 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 290 'CPAN::Meta' => {
f33f0562 291 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
4f3a742d
DR
292 'FILES' => q[cpan/CPAN-Meta],
293 'EXCLUDED' => [
f907dd3c
SH
294 qw[t/00-report-prereqs.t
295 t/00-report-prereqs.dd
f33f0562 296 ],
4f3a742d
DR
297 qr{^xt},
298 qr{^history},
299 ],
4f3a742d
DR
300 },
301
b6ae0ea7 302 'CPAN::Meta::Requirements' => {
054d0c99 303 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
304 'FILES' => q[cpan/CPAN-Meta-Requirements],
305 'EXCLUDED' => [
c4814040 306 qw(t/00-report-prereqs.t),
54b7cb30 307 qw(t/00-report-prereqs.dd),
608e531f 308 qw(t/version-cleanup.t),
b6ae0ea7 309 qr{^xt},
b6ae0ea7 310 ],
b6ae0ea7
CBW
311 },
312
4f3a742d 313 'CPAN::Meta::YAML' => {
0d99ea03 314 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
315 'FILES' => q[cpan/CPAN-Meta-YAML],
316 'EXCLUDED' => [
2954a1e9 317 't/00-report-prereqs.t',
e586de20 318 't/00-report-prereqs.dd',
4f3a742d
DR
319 qr{^xt},
320 ],
4f3a742d
DR
321 },
322
323 'Data::Dumper' => {
42b23152 324 'DISTRIBUTION' => 'XSAWYERX/Data-Dumper-2.173.tar.gz',
4f3a742d 325 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
326 },
327
328 'DB_File' => {
8a091efc 329 'DISTRIBUTION' => 'PMQS/DB_File-1.855.tar.gz',
4f3a742d
DR
330 'FILES' => q[cpan/DB_File],
331 'EXCLUDED' => [
332 qr{^patches/},
1e3f5c47 333 qr{^t/meta},
4f3a742d 334 qw( t/pod.t
22ce58f7 335 t/000prereq.t
4f3a742d
DR
336 fallback.h
337 fallback.xs
338 ),
339 ],
4f3a742d
DR
340 },
341
4f3a742d 342 'Devel::PPPort' => {
054b5d1d 343 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.62.tar.gz',
7baf245a 344 'FILES' => q[dist/Devel-PPPort],
84c82da4
SH
345 'EXCLUDED' => [
346 'PPPort.pm', # we use PPPort_pm.PL instead
bb20cabd 347 ],
4f3a742d
DR
348 },
349
97b1d6e6 350 'Devel::SelfStubber' => {
97b1d6e6
SH
351 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
352 'FILES' => q[dist/Devel-SelfStubber],
353 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
354 },
355
4f3a742d 356 'Digest' => {
551856fd 357 'DISTRIBUTION' => 'TODDR/Digest-1.19.tar.gz',
4f3a742d
DR
358 'FILES' => q[cpan/Digest],
359 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
360 },
361
362 'Digest::MD5' => {
897b79c3 363 'DISTRIBUTION' => 'TODDR/Digest-MD5-2.58.tar.gz',
4f3a742d 364 'FILES' => q[cpan/Digest-MD5],
897b79c3 365 'EXCLUDED' => [ 'rfc1321.txt', 'bin/md5sum.pl' ],
4f3a742d
DR
366 },
367
368 'Digest::SHA' => {
78ce14b4 369 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz',
4f3a742d
DR
370 'FILES' => q[cpan/Digest-SHA],
371 'EXCLUDED' => [
372 qw( t/pod.t
373 t/podcover.t
374 examples/dups
375 ),
376 ],
4f3a742d
DR
377 },
378
4f3a742d 379 'Dumpvalue' => {
f6e46c4d 380 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
381 'FILES' => q[dist/Dumpvalue],
382 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
383 },
384
4f3a742d 385 'Encode' => {
27ee53f9 386 'DISTRIBUTION' => 'DANKOGAI/Encode-3.07.tar.gz',
4f3a742d 387 'FILES' => q[cpan/Encode],
4eeaed37
N
388 'EXCLUDED' => [
389 qw( t/whatwg-aliases.json
390 t/whatwg-aliases.t
391 ),
392 ],
4f3a742d
DR
393 },
394
395 'encoding::warnings' => {
4f3a742d 396 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 397 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
398 'EXCLUDED' => [
399 qr{^inc/Module/},
94c85d8e 400 qw(t/0-signature.t),
4f3a742d 401 ],
4f3a742d
DR
402 },
403
4f3a742d 404 'Env' => {
126fc07f 405 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
406 'FILES' => q[dist/Env],
407 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
408 },
409
de84ff2b 410 'experimental' => {
203ad3de 411 'DISTRIBUTION' => 'LEONT/experimental-0.022.tar.gz',
de84ff2b 412 'FILES' => q[cpan/experimental],
4fdcb09b 413 'EXCLUDED' => [qr{^xt/}],
5f3202fa
Z
414 'CUSTOMIZED' => [
415 # smartmatch changes
416 't/basic.t',
417 ],
de84ff2b
RS
418 },
419
4f3a742d 420 'Exporter' => {
933f64ca 421 'DISTRIBUTION' => 'TODDR/Exporter-5.74.tar.gz',
3110a055 422 'FILES' => q[dist/Exporter],
4f3a742d
DR
423 'EXCLUDED' => [
424 qw( t/pod.t
425 t/use.t
426 ),
427 ],
4f3a742d
DR
428 },
429
430 'ExtUtils::CBuilder' => {
7fc0439b 431 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280235.tar.gz',
4f3a742d 432 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
433 'EXCLUDED' => [
434 qw(README.mkdn),
435 qr{^xt},
436 ],
4f3a742d
DR
437 },
438
4f3a742d 439 'ExtUtils::Constant' => {
4f3a742d 440
4097fff1 441 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d 442 'FILES' => q[cpan/ExtUtils-Constant],
9a94bc6f
DIM
443 'CUSTOMIZED' => [
444 # https://rt.cpan.org/Public/Bug/Display.html?id=132995
445 't/Constant.t',
446 ],
4f3a742d
DR
447 'EXCLUDED' => [
448 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
449 examples/perl_keyword.pl
450 examples/perl_regcomp_posix_keyword.pl
451 ),
34c00cdf 452 ],
4f3a742d
DR
453 },
454
455 'ExtUtils::Install' => {
e63fbf73 456 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.18.tar.gz',
d393d7e5 457 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
458 'EXCLUDED' => [
459 qw( t/lib/Test/Builder.pm
460 t/lib/Test/Builder/Module.pm
461 t/lib/Test/More.pm
462 t/lib/Test/Simple.pm
463 t/pod-coverage.t
464 t/pod.t
465 ),
466 ],
4f3a742d
DR
467 },
468
469 'ExtUtils::MakeMaker' => {
cff1d10a 470 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.56.tar.gz',
4f3a742d
DR
471 'FILES' => q[cpan/ExtUtils-MakeMaker],
472 'EXCLUDED' => [
473 qr{^t/lib/Test/},
474 qr{^(bundled|my)/},
475 qr{^t/Liblist_Kid.t},
476 qr{^t/liblist/},
78fd4358 477 qr{^\.perlcriticrc},
84c82da4
SH
478 'PATCHING',
479 'README.packaging',
ce9582af 480 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 481 ],
4f3a742d
DR
482 },
483
273021bd
SH
484 'ExtUtils::PL2Bat' => {
485 'DISTRIBUTION' => 'LEONT/ExtUtils-PL2Bat-0.003.tar.gz',
486 'FILES' => q[cpan/ExtUtils-PL2Bat],
487 'EXCLUDED' => [
488 't/00-compile.t',
489 'script/pl2bat.pl'
490 ],
491 'CUSTOMIZED' => [
492 't/make_executable.t',
493 ],
494 },
d972df9b 495
4f3a742d 496 'ExtUtils::Manifest' => {
1633525e 497 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.72.tar.gz',
854a00d8 498 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
499 'EXCLUDED' => [
500 qr(^t/00-report-prereqs),
501 qr(^xt/)
502 ],
4f3a742d
DR
503 },
504
505 'ExtUtils::ParseXS' => {
1bae5449 506 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
4f3a742d 507 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
508 },
509
4f3a742d 510 'File::Fetch' => {
4c032c46 511 'DISTRIBUTION' => 'BINGOS/File-Fetch-1.00.tar.gz',
4f3a742d 512 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
513 },
514
4f3a742d 515 'File::Path' => {
92acf880 516 'DISTRIBUTION' => 'JKEENAN/File-Path-2.18.tar.gz',
4f3a742d
DR
517 'FILES' => q[cpan/File-Path],
518 'EXCLUDED' => [
bfcc9519
SH
519 qw(t/Path-Class.t),
520 qr{^xt/},
4f3a742d 521 ],
4f3a742d
DR
522 },
523
4f3a742d 524 'File::Temp' => {
0df722d6 525 'DISTRIBUTION' => 'ETHER/File-Temp-0.2311.tar.gz',
4f3a742d
DR
526 'FILES' => q[cpan/File-Temp],
527 'EXCLUDED' => [
6bc10107
SH
528 qw( README.mkdn
529 misc/benchmark.pl
4f3a742d
DR
530 misc/results.txt
531 ),
6bc10107 532 qr[^t/00-report-prereqs],
814e893f 533 qr{^xt},
4f3a742d 534 ],
4f3a742d
DR
535 },
536
4f3a742d 537 'Filter::Simple' => {
e9214465 538 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
539 'FILES' => q[dist/Filter-Simple],
540 'EXCLUDED' => [
4f3a742d
DR
541 qr{^demo/}
542 ],
4f3a742d
DR
543 },
544
545 'Filter::Util::Call' => {
0b7fa637 546 'DISTRIBUTION' => 'RURBAN/Filter-1.60.tar.gz',
4f3a742d
DR
547 'FILES' => q[cpan/Filter-Util-Call
548 pod/perlfilter.pod
549 ],
550 'EXCLUDED' => [
551 qr{^decrypt/},
552 qr{^examples/},
553 qr{^Exec/},
554 qr{^lib/Filter/},
555 qr{^tee/},
ca215658 556 qw( .appveyor.yml
0b7fa637 557 .whitesource
ca215658 558 Call/Makefile.PL
4f3a742d
DR
559 Call/ppport.h
560 Call/typemap
561 mytest
562 t/cpp.t
563 t/decrypt.t
564 t/exec.t
cfaad56a 565 t/m4.t
4f3a742d 566 t/order.t
4f3a742d
DR
567 t/sh.t
568 t/tee.t
533d93cc 569 t/z_kwalitee.t
e765fd18 570 t/z_manifest.t
533d93cc
SH
571 t/z_meta.t
572 t/z_perl_minimum_version.t
573 t/z_pod-coverage.t
574 t/z_pod.t
4f3a742d
DR
575 ),
576 ],
577 'MAP' => {
e765fd18
SH
578 'Call/' => 'cpan/Filter-Util-Call/',
579 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
580 'perlfilter.pod' => 'pod/perlfilter.pod',
581 '' => 'cpan/Filter-Util-Call/',
4f3a742d 582 },
dd469d97
SH
583 'CUSTOMIZED' => [
584 qw(pod/perlfilter.pod)
585 ],
4f3a742d
DR
586 },
587
3e191967
S
588 'FindBin' => {
589 'DISTRIBUTION' => 'XSAWYERX/FindBin-0.000.tar.gz',
590 'FILES' => q[dist/FindBin],
591 },
592
4f3a742d 593 'Getopt::Long' => {
048ed1a1 594 'DISTRIBUTION' => 'JV/Getopt-Long-2.52.tar.gz',
4f3a742d
DR
595 'FILES' => q[cpan/Getopt-Long],
596 'EXCLUDED' => [
597 qr{^examples/},
048ed1a1 598 qw( lib/newgetopt.pl
974d5816 599 t/gol-compat.t
4f3a742d
DR
600 ),
601 ],
4f3a742d
DR
602 },
603
4f3a742d 604 'HTTP::Tiny' => {
3a778cce 605 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.076.tar.gz',
4f3a742d
DR
606 'FILES' => q[cpan/HTTP-Tiny],
607 'EXCLUDED' => [
fcfb9f49 608 't/00-report-prereqs.t',
57d69a40 609 't/00-report-prereqs.dd',
4f3a742d 610 't/200_live.t',
44347bc3 611 't/200_live_local_ip.t',
fcfb9f49 612 't/210_live_ssl.t',
4f3a742d
DR
613 qr/^eg/,
614 qr/^xt/
615 ],
4f3a742d
DR
616 },
617
618 'I18N::Collate' => {
4f3a742d
DR
619 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
620 'FILES' => q[dist/I18N-Collate],
621 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
622 },
623
4f3a742d 624 'I18N::LangTags' => {
4f3a742d 625 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
626 },
627
628 'if' => {
85cede38 629 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 630 'FILES' => q[dist/if],
4f3a742d
DR
631 },
632
633 'IO' => {
933f64ca 634 'DISTRIBUTION' => 'TODDR/IO-1.42.tar.gz',
4f3a742d
DR
635 'FILES' => q[dist/IO/],
636 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
637 },
638
639 'IO-Compress' => {
4737eb08 640 'DISTRIBUTION' => 'PMQS/IO-Compress-2.096.tar.gz',
4f3a742d 641 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
642 'EXCLUDED' => [
643 qr{^examples/},
644 qr{^t/Test/},
9f58603c 645 qr{^t/999meta-},
84c82da4
SH
646 't/010examples-bzip2.t',
647 't/010examples-zlib.t',
648 't/cz-05examples.t',
649 ],
4f3a742d
DR
650 },
651
74a30e96 652 'IO::Socket::IP' => {
8fa9c8df 653 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.41.tar.gz',
74a30e96
CBW
654 'FILES' => q[cpan/IO-Socket-IP],
655 'EXCLUDED' => [
656 qr{^examples/},
657 ],
658 },
659
4f3a742d 660 'IO::Zlib' => {
3447587c 661 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.11.tar.gz',
4f3a742d 662 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
663 },
664
665 'IPC::Cmd' => {
dc9ac3ee 666 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz',
4f3a742d 667 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
668 },
669
4f3a742d 670 'IPC::SysV' => {
2ce8ebb9 671 'DISTRIBUTION' => 'MHX/IPC-SysV-2.09.tar.gz',
4f3a742d
DR
672 'FILES' => q[cpan/IPC-SysV],
673 'EXCLUDED' => [
674 qw( const-c.inc
675 const-xs.inc
676 ),
677 ],
4f3a742d
DR
678 },
679
680 'JSON::PP' => {
c74be7ad 681 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.05.tar.gz',
4f3a742d 682 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
683 },
684
685 'lib' => {
4f3a742d
DR
686 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
687 'FILES' => q[dist/lib/],
688 'EXCLUDED' => [
689 qw( forPAUSE/lib.pm
690 t/00pod.t
691 ),
692 ],
4f3a742d
DR
693 },
694
695 'libnet' => {
8f2f8ba0 696 'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz',
4f3a742d
DR
697 'FILES' => q[cpan/libnet],
698 'EXCLUDED' => [
699 qw( Configure
2901a52f 700 t/changes.t
59e3cdd4
SH
701 t/critic.t
702 t/pod.t
703 t/pod_coverage.t
4f3a742d 704 ),
84c82da4 705 qr(^demos/),
dadfa42f 706 qr(^t/external/),
4f3a742d 707 ],
4f3a742d
DR
708 },
709
4f3a742d 710 'Locale::Maketext' => {
933f64ca 711 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.29.tar.gz',
4f3a742d
DR
712 'FILES' => q[dist/Locale-Maketext],
713 'EXCLUDED' => [
714 qw(
715 perlcriticrc
716 t/00_load.t
717 t/pod.t
718 ),
719 ],
4f3a742d
DR
720 },
721
722 'Locale::Maketext::Simple' => {
4f3a742d
DR
723 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
724 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
725 'CUSTOMIZED' => [
726 # CVE-2016-1238
727 qw( lib/Locale/Maketext/Simple.pm )
728 ],
4f3a742d
DR
729 },
730
4f3a742d 731 'Math::BigInt' => {
83cfb917 732 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999818.tar.gz',
6b0f9b46 733 'FILES' => q[cpan/Math-BigInt],
4f3a742d 734 'EXCLUDED' => [
4f3a742d 735 qr{^examples/},
6b10d254 736 qr{^t/author-},
8729b735 737 qr{^t/release-},
4f3a742d
DR
738 qw( t/00sig.t
739 t/01load.t
4f3a742d
DR
740 ),
741 ],
4f3a742d
DR
742 },
743
744 'Math::BigInt::FastCalc' => {
5ddb873f 745 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5009.tar.gz',
6b0f9b46 746 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 747 'EXCLUDED' => [
d239a8c7 748 qr{^t/author-},
8c2a9132 749 qr{^t/release-},
d239a8c7 750 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
751 qw( t/00sig.t
752 t/01load.t
4f3a742d
DR
753 ),
754
755 # instead we use the versions of these test
756 # files that come with Math::BigInt:
757 qw( t/bigfltpm.inc
758 t/bigfltpm.t
759 t/bigintpm.inc
760 t/bigintpm.t
761 t/mbimbf.inc
762 t/mbimbf.t
763 ),
764 ],
4f3a742d
DR
765 },
766
767 'Math::BigRat' => {
3cc1ad36 768 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2614.tar.gz',
6b0f9b46 769 'FILES' => q[cpan/Math-BigRat],
4f3a742d 770 'EXCLUDED' => [
6320cdc0 771 qr{^t/author-},
3cc1ad36 772 qr{^t/release-},
4f3a742d
DR
773 qw( t/00sig.t
774 t/01load.t
9b331ac6
SH
775 ),
776 ],
4f3a742d
DR
777 },
778
779 'Math::Complex' => {
04ae1553 780 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 781 'FILES' => q[cpan/Math-Complex],
50e27233
JH
782 'CUSTOMIZED' => [
783 'lib/Math/Complex.pm', # CPAN RT 118467
784 't/Complex.t', # CPAN RT 118467
785 't/Trig.t', # CPAN RT 118467
70af4d1d 786 't/underbar.t',
50e27233 787 ],
4f3a742d
DR
788 'EXCLUDED' => [
789 qw( t/pod.t
790 t/pod-coverage.t
791 ),
792 ],
4f3a742d
DR
793 },
794
795 'Memoize' => {
8114efa0 796 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
797 'FILES' => q[cpan/Memoize],
798 'EXCLUDED' => ['article.html'],
8b56300e
TC
799 'CUSTOMIZED' => [
800 # CVE-2016-1238
c3a45d38
SH
801 qw( Memoize.pm ),
802
803 # CPAN RT 108382
804 qw( t/expmod_t.t t/speed.t ),
8b56300e 805 ],
4f3a742d
DR
806 },
807
808 'MIME::Base64' => {
90f582c2 809 'DISTRIBUTION' => 'CAPOEIRAB/MIME-Base64-3.16.tar.gz',
4f3a742d 810 'FILES' => q[cpan/MIME-Base64],
90f582c2 811 'EXCLUDED' => [ qr{^xt/}, 'benchmark', 'benchmark-qp', qr{^t/00-report-prereqs} ],
4f3a742d
DR
812 },
813
4f3a742d 814 'Module::CoreList' => {
4e715969 815 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20201020.tar.gz',
4f3a742d 816 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
817 },
818
819 'Module::Load' => {
ffdf828c 820 'DISTRIBUTION' => 'BINGOS/Module-Load-0.36.tar.gz',
4f3a742d 821 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
822 },
823
824 'Module::Load::Conditional' => {
d813268c 825 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.74.tar.gz',
4f3a742d 826 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
827 },
828
829 'Module::Loaded' => {
4f3a742d
DR
830 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
831 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
832 },
833
834 'Module::Metadata' => {
c7fb6257 835 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz',
4f3a742d
DR
836 'FILES' => q[cpan/Module-Metadata],
837 'EXCLUDED' => [
b9beed70 838 qw(t/00-report-prereqs.t),
adc2cdfb 839 qw(t/00-report-prereqs.dd),
e6d414a9 840 qr{weaver.ini},
4f3a742d
DR
841 qr{^xt},
842 ],
4f3a742d
DR
843 },
844
4f3a742d 845 'Net::Ping' => {
185eb2d3 846 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.74.tar.gz',
4f3a742d 847 'FILES' => q[dist/Net-Ping],
773d126d 848 'EXCLUDED' => [
185eb2d3 849 qr{^\.[awc]},
26e9d721 850 qw(README.md.PL),
773d126d
CBW
851 qw(t/020_external.t),
852 qw(t/600_pod.t),
853 qw(t/601_pod-coverage.t),
185eb2d3
CBW
854 qw(t/602_kwalitee.t),
855 qw(t/603_meta.t),
856 qw(t/604_manifest.t),
857 qw(t/appveyor-test.bat),
858
773d126d 859 ],
a02b1ce4
N
860 'CUSTOMIZED' => [
861 qw{
862 t/000_load.t
863 t/001_new.t
864 t/010_pingecho.t
1243fa19 865 t/450_service.t
a02b1ce4
N
866 t/500_ping_icmp.t
867 t/501_ping_icmpv6.t
868 }
869 ],
4f3a742d
DR
870 },
871
872 'NEXT' => {
c8321e06 873 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
4f3a742d
DR
874 'FILES' => q[cpan/NEXT],
875 'EXCLUDED' => [qr{^demo/}],
ffd1c688 876 'CUSTOMIZED' => [ qw(lib/NEXT.pm t/next.t) ],
4f3a742d
DR
877 },
878
4f3a742d 879 'Params::Check' => {
8b21fa03 880 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 881 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
882 },
883
884 'parent' => {
56572701 885 'DISTRIBUTION' => 'CORION/parent-0.238.tar.gz',
4f3a742d 886 'FILES' => q[cpan/parent],
39250dd4
SH
887 'EXCLUDED' => [
888 qr{^xt}
889 ],
4f3a742d
DR
890 },
891
4f3a742d 892 'PathTools' => {
9e3f69e1 893 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.tar.gz',
cb8c8458 894 'FILES' => q[dist/PathTools],
76250107
SH
895 'EXCLUDED' => [
896 qr{^t/lib/Test/},
897 qw( t/rel2abs_vs_symlink.t),
898 ],
4f3a742d
DR
899 },
900
97b1d6e6 901 'Perl::OSType' => {
ea8e5adc 902 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 903 'FILES' => q[cpan/Perl-OSType],
765955c0 904 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
905 },
906
97b1d6e6 907 'perlfaq' => {
09e51a95 908 'DISTRIBUTION' => 'ETHER/perlfaq-5.20201107.tar.gz',
97b1d6e6 909 'FILES' => q[cpan/perlfaq],
928a385c 910 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ],
97b1d6e6
SH
911 },
912
4f3a742d 913 'PerlIO::via::QuotedPrint' => {
96623e31 914 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 915 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
916 },
917
0c501878 918 'Pod::Checker' => {
165e1791 919 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.74.tar.gz',
0c501878 920 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
921 },
922
4f3a742d 923 'Pod::Escapes' => {
f347d3e3 924 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 925 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
926 },
927
4f3a742d 928 'Pod::Perldoc' => {
6aff4bf3 929 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 930 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 931
fa884b76
DM
932 # Note that we use the CPAN-provided Makefile.PL, since it
933 # contains special handling of the installation of perldoc.pod
934
5fddd31d
SH
935 'EXCLUDED' => [
936 # In blead, the perldoc executable is generated by perldoc.PL
937 # instead
938 # XXX We can and should fix this, but clean up the DRY-failure in
939 # utils first
940 'perldoc',
941
942 # https://rt.cpan.org/Ticket/Display.html?id=116827
943 't/02_module_pod_output.t'
944 ],
f2ee4cb8
Z
945
946 'CUSTOMIZED' => [
947 # [rt.cpan.org #88204], [rt.cpan.org #120229]
948 'lib/Pod/Perldoc.pm',
949 ],
4f3a742d
DR
950 },
951
952 'Pod::Simple' => {
bcf3564c 953 'DISTRIBUTION' => 'KHW/Pod-Simple-3.42.tar.gz',
4f3a742d 954 'FILES' => q[cpan/Pod-Simple],
1ccbfc07
SH
955 'EXCLUDED' => [
956 qw{.ChangeLog.swp},
957 qr{^\.github/}
958 ],
4f3a742d
DR
959 },
960
0c501878 961 'Pod::Usage' => {
131281c7 962 'DISTRIBUTION' => 'ATOOMIC/Pod-Usage-2.01.tar.gz',
0c501878 963 'FILES' => q[cpan/Pod-Usage],
131281c7
SH
964 'EXCLUDED' => [
965 qr{^t/00-},
966 qr{^xt/}
967 ],
0c501878
CBW
968 },
969
4f3a742d 970 'podlators' => {
28997a26 971 'DISTRIBUTION' => 'RRA/podlators-4.14.tar.gz',
4f3a742d 972 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
973 'EXCLUDED' => [
974 qr{^docs/metadata/},
975 ],
4f3a742d 976
4f3a742d
DR
977 'MAP' => {
978 '' => 'cpan/podlators/',
4f3a742d 979 # this file lives outside the cpan/ directory
1efe9157 980 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 981 },
4f3a742d
DR
982 },
983
4f3a742d 984 'Safe' => {
e739c653 985 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 986 'FILES' => q[dist/Safe],
4f3a742d
DR
987 },
988
13bb7c4d 989 'Scalar::Util' => {
cac6698e 990 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.55.tar.gz',
869a9612 991 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
992 },
993
4f3a742d 994 'Search::Dict' => {
0b0a7092 995 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 996 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
997 },
998
999 'SelfLoader' => {
879d999b 1000 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
1001 'FILES' => q[dist/SelfLoader],
1002 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1003 },
1004
4f3a742d 1005 'Socket' => {
8bb05de3 1006 'DISTRIBUTION' => 'PEVANS/Socket-2.030.tar.gz',
4f3a742d 1007 'FILES' => q[cpan/Socket],
4f3a742d
DR
1008 },
1009
1010 'Storable' => {
e7e4fc7f 1011 'DISTRIBUTION' => 'XSAWYERX/Storable-3.15.tar.gz',
4f3a742d 1012 'FILES' => q[dist/Storable],
76250107
SH
1013 'EXCLUDED' => [
1014 qr{^t/compat/},
1015 ],
4f3a742d
DR
1016 },
1017
4f3a742d 1018 'Sys::Syslog' => {
10934390 1019 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.36.tar.gz',
4f3a742d
DR
1020 'FILES' => q[cpan/Sys-Syslog],
1021 'EXCLUDED' => [
1022 qr{^eg/},
84c82da4
SH
1023 qw( README.win32
1024 t/data-validation.t
4f3a742d
DR
1025 t/distchk.t
1026 t/pod.t
1027 t/podcover.t
1028 t/podspell.t
1029 t/portfs.t
1030 win32/PerlLog.RES
4f3a742d
DR
1031 ),
1032 ],
4f3a742d
DR
1033 },
1034
1035 'Term::ANSIColor' => {
9c952fa3 1036 'DISTRIBUTION' => 'RRA/Term-ANSIColor-5.01.tar.gz',
4f3a742d
DR
1037 'FILES' => q[cpan/Term-ANSIColor],
1038 'EXCLUDED' => [
93d7ac13 1039 qr{^docs/},
92f80b37
CBW
1040 qr{^examples/},
1041 qr{^t/data/},
5e64492f
CBW
1042 qr{^t/docs/},
1043 qr{^t/style/},
1044 qw( t/module/aliases-env.t ),
4f3a742d 1045 ],
4f3a742d
DR
1046 },
1047
1048 'Term::Cap' => {
23a75734 1049 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1050 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1051 },
1052
1053 'Term::Complete' => {
4f3a742d
DR
1054 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1055 'FILES' => q[dist/Term-Complete],
1056 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1057 },
1058
1059 'Term::ReadLine' => {
75ad3638 1060 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1061 'FILES' => q[dist/Term-ReadLine],
1062 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1063 },
1064
4f3a742d 1065 'Test' => {
1c22e001 1066 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1067 'FILES' => q[dist/Test],
4f3a742d
DR
1068 },
1069
1070 'Test::Harness' => {
158ffeeb 1071 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1072 'FILES' => q[cpan/Test-Harness],
1073 'EXCLUDED' => [
1074 qr{^examples/},
4f3a742d
DR
1075 qr{^xt/},
1076 qw( Changes-2.64
8db65552 1077 MANIFEST.CUMMULATIVE
4f3a742d
DR
1078 HACKING.pod
1079 perlcriticrc
8db65552 1080 t/000-load.t
4f3a742d
DR
1081 t/lib/if.pm
1082 ),
1083 ],
4f3a742d
DR
1084 },
1085
1086 'Test::Simple' => {
2cd16327 1087 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302183.tar.gz',
4f3a742d
DR
1088 'FILES' => q[cpan/Test-Simple],
1089 'EXCLUDED' => [
0b4ffce6
SH
1090 qr{^examples/},
1091 qr{^xt/},
022600ce 1092 qw( appveyor.yml
80a7dd19 1093 t/00compile.t
c6a6e1c8
CG
1094 t/00-report.t
1095 t/zzz-check-breaks.t
4f3a742d
DR
1096 ),
1097 ],
f266b743 1098 },
4f3a742d
DR
1099
1100 'Text::Abbrev' => {
5e96eee9 1101 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1102 'FILES' => q[dist/Text-Abbrev],
1103 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1104 },
1105
1106 'Text::Balanced' => {
03a97c81 1107 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1108 'FILES' => q[cpan/Text-Balanced],
1109 'EXCLUDED' => [
1110 qw( t/97_meta.t
1111 t/98_pod.t
1112 t/99_pmv.t
1113 ),
1114 ],
4f3a742d
DR
1115 },
1116
1117 'Text::ParseWords' => {
a790e348 1118 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1119 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1120 },
1121
4f3a742d 1122 'Text-Tabs+Wrap' => {
83aea42c 1123 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1124 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1125 'EXCLUDED' => [
1126 qr/^lib\.old/,
1127 't/dnsparks.t', # see af6492bf9e
4f3a742d 1128 ],
e7b92d54
SH
1129 'MAP' => {
1130 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1131 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1132 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1133 },
4f3a742d
DR
1134 },
1135
4e75700d
AC
1136 # Jerry Hedden does take patches that are applied to blead first, even
1137 # though that can be hard to discern from the Git history; so it's
1138 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1139 # to be under dist/ rather than cpan/
4f3a742d 1140 'Thread::Queue' => {
e1578db3 1141 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz',
4f3a742d
DR
1142 'FILES' => q[dist/Thread-Queue],
1143 'EXCLUDED' => [
1fd4700e
JH
1144 qr{^examples/},
1145 qw( t/00_load.t
4f3a742d
DR
1146 t/99_pod.t
1147 t/test.pl
1148 ),
1149 ],
4f3a742d
DR
1150 },
1151
1152 'Thread::Semaphore' => {
51068c14 1153 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1154 'FILES' => q[dist/Thread-Semaphore],
1155 'EXCLUDED' => [
1156 qw( examples/semaphore.pl
1157 t/00_load.t
1158 t/99_pod.t
1159 t/test.pl
1160 ),
1161 ],
4f3a742d
DR
1162 },
1163
1164 'threads' => {
40e3ceea 1165 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1166 'FILES' => q[dist/threads],
1167 'EXCLUDED' => [
1168 qr{^examples/},
1169 qw( t/pod.t
1170 t/test.pl
1171 threads.h
1172 ),
1173 ],
4f3a742d
DR
1174 },
1175
1176 'threads::shared' => {
fdfb42a0 1177 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz',
4f3a742d
DR
1178 'FILES' => q[dist/threads-shared],
1179 'EXCLUDED' => [
1180 qw( examples/class.pl
1181 shared.h
1182 t/pod.t
1183 t/test.pl
1184 ),
1185 ],
4f3a742d
DR
1186 },
1187
1188 'Tie::File' => {
678b7202 1189 'DISTRIBUTION' => 'TODDR/Tie-File-1.05.tar.gz',
c0504019 1190 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1191 },
1192
4f3a742d 1193 'Tie::RefHash' => {
6fcc9782 1194 'DISTRIBUTION' => 'ETHER/Tie-RefHash-1.40.tar.gz',
4f3a742d 1195 'FILES' => q[cpan/Tie-RefHash],
e1b30ab2
SH
1196 'EXCLUDED' => [
1197 qr{^t/00-},
1198 qr{^xt/},
1199 ],
4f3a742d
DR
1200 },
1201
1202 'Time::HiRes' => {
371b09ed 1203 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9764.tar.gz',
91ba54d4 1204 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1205 },
1206
1207 'Time::Local' => {
34857856 1208 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.30.tar.gz',
4f3a742d
DR
1209 'FILES' => q[cpan/Time-Local],
1210 'EXCLUDED' => [
cc890588 1211 qr{^xt/},
34857856
SH
1212 qw( CODE_OF_CONDUCT.md
1213 azure-pipelines.yml
d82c4df6 1214 perlcriticrc
cc890588
SH
1215 perltidyrc
1216 tidyall.ini
1217 t/00-report-prereqs.t
1218 t/00-report-prereqs.dd
1219 ),
4f3a742d 1220 ],
4f3a742d
DR
1221 },
1222
1223 'Time::Piece' => {
a5ebaea1 1224 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3401.tar.gz',
4f3a742d 1225 'FILES' => q[cpan/Time-Piece],
fd481c17 1226 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1227 },
1228
1229 'Unicode::Collate' => {
0bb7e24a 1230 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.29.tar.gz',
4f3a742d
DR
1231 'FILES' => q[cpan/Unicode-Collate],
1232 'EXCLUDED' => [
1233 qr{N$},
1234 qr{^data/},
1235 qr{^gendata/},
1236 qw( disableXS
1237 enableXS
1238 mklocale
1239 ),
1240 ],
4f3a742d
DR
1241 },
1242
1243 'Unicode::Normalize' => {
d339f061 1244 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz',
3baae3fa 1245 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1246 'EXCLUDED' => [
1247 qw( MANIFEST.N
1248 Normalize.pmN
1249 disableXS
1250 enableXS
1251 ),
1252 ],
4f3a742d
DR
1253 },
1254
4f3a742d 1255 'version' => {
f5919b58 1256 'DISTRIBUTION' => 'LEONT/version-0.9928.tar.gz',
4fa93b19 1257 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1258 'EXCLUDED' => [
df3ba8e7 1259 qr{^vutil/lib/},
c60b4fa6 1260 'vutil/Makefile.PL',
df3ba8e7
FC
1261 'vutil/ppport.h',
1262 'vutil/vxs.xs',
ce9582af 1263 't/00impl-pp.t',
4f3a742d 1264 't/survey_locales',
d1e81356 1265 'vperl/vpp.pm',
4f3a742d 1266 ],
f81a37f2 1267
c872d591
SH
1268 # When adding the CPAN-distributed files for version.pm, it is necessary
1269 # to delete an entire block out of lib/version.pm, since that code is
1270 # only necessary with the CPAN release.
f81a37f2
SH
1271 'CUSTOMIZED' => [
1272 qw( lib/version.pm
fd8a724d 1273 vutil.c
9eabb0a9 1274 vxs.inc
f81a37f2
SH
1275 ),
1276 ],
1277
df3ba8e7 1278 'MAP' => {
4fa93b19 1279 'vutil/' => '',
df3ba8e7
FC
1280 '' => 'cpan/version/',
1281 },
4f3a742d
DR
1282 },
1283
4f3a742d 1284 'warnings' => {
099bebb1 1285 'FILES' => q[
4f3a742d 1286 lib/warnings
099bebb1
SH
1287 lib/warnings.{pm,t}
1288 regen/warnings.pl
4f3a742d 1289 t/lib/warnings
099bebb1 1290 ],
4f3a742d
DR
1291 },
1292
4f3a742d 1293 'Win32' => {
2b8fc250 1294 'DISTRIBUTION' => "JDB/Win32-0.54.tar.gz",
4f3a742d 1295 'FILES' => q[cpan/Win32],
4f3a742d
DR
1296 },
1297
1298 'Win32API::File' => {
df61f5a9 1299 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1300 'FILES' => q[cpan/Win32API-File],
1301 'EXCLUDED' => [
1302 qr{^ex/},
4f3a742d 1303 ],
6177f132
DIM
1304 # https://rt.cpan.org/Ticket/Display.html?id=127837
1305 'CUSTOMIZED' => [
1306 qw( File.pm
1307 File.xs
1308 ),
1309 ],
4f3a742d
DR
1310 },
1311
4f3a742d 1312 'XSLoader' => {
6f2c9cc3 1313 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1314 'FILES' => q[dist/XSLoader],
1315 'EXCLUDED' => [
1316 qr{^eg/},
57f9caa0
SH
1317 qw( t/00-load.t
1318 t/01-api.t
1319 t/distchk.t
1320 t/pod.t
4f3a742d
DR
1321 t/podcover.t
1322 t/portfs.t
1323 ),
1324 'XSLoader.pm', # we use XSLoader_pm.PL
1325 ],
4f3a742d
DR
1326 },
1327
462ea751
DM
1328 # this pseudo-module represents all the files under ext/ and lib/
1329 # that aren't otherwise claimed. This means that the following two
1330 # commands will check that every file under ext/ and lib/ is
1331 # accounted for, and that there are no duplicates:
1332 #
1333 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1334 # perl Porting/Maintainers --checkmani
462ea751 1335
4f3a742d 1336 '_PERLLIB' => {
2af3c4b9 1337 'FILES' => q[
79852350
AB
1338 ext/Amiga-ARexx/
1339 ext/Amiga-Exec/
09213599 1340 ext/B/
2af3c4b9
SH
1341 ext/Devel-Peek/
1342 ext/DynaLoader/
1343 ext/Errno/
7b4d95f7 1344 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1345 ext/Fcntl/
1346 ext/File-DosGlob/
1347 ext/File-Find/
1348 ext/File-Glob/
1349 ext/FileCache/
1350 ext/GDBM_File/
1351 ext/Hash-Util-FieldHash/
1352 ext/Hash-Util/
1353 ext/I18N-Langinfo/
1354 ext/IPC-Open3/
1355 ext/NDBM_File/
1356 ext/ODBM_File/
1357 ext/Opcode/
1358 ext/POSIX/
1359 ext/PerlIO-encoding/
1360 ext/PerlIO-mmap/
1361 ext/PerlIO-scalar/
1362 ext/PerlIO-via/
1363 ext/Pod-Functions/
1364 ext/Pod-Html/
1365 ext/SDBM_File/
1366 ext/Sys-Hostname/
1367 ext/Tie-Hash-NamedCapture/
1368 ext/Tie-Memoize/
b3dcf775 1369 ext/VMS-DCLsym/
2af3c4b9 1370 ext/VMS-Filespec/
b3dcf775
SH
1371 ext/VMS-Stdio/
1372 ext/Win32CORE/
4f3a742d 1373 ext/XS-APItest/
2af3c4b9 1374 ext/XS-Typemap/
2af3c4b9
SH
1375 ext/attributes/
1376 ext/mro/
1377 ext/re/
1378 lib/AnyDBM_File.{pm,t}
1379 lib/Benchmark.{pm,t}
38eca645 1380 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1381 lib/B/Op_private.pm
4f3a742d 1382 lib/CORE.pod
2af3c4b9 1383 lib/Class/Struct.{pm,t}
4f3a742d
DR
1384 lib/Config.t
1385 lib/Config/Extensions.{pm,t}
1386 lib/DB.{pm,t}
2af3c4b9
SH
1387 lib/DBM_Filter.pm
1388 lib/DBM_Filter/
1389 lib/DirHandle.{pm,t}
1390 lib/English.{pm,t}
4f3a742d
DR
1391 lib/ExtUtils/Embed.pm
1392 lib/ExtUtils/XSSymSet.pm
1393 lib/ExtUtils/t/Embed.t
1394 lib/ExtUtils/typemap
2af3c4b9
SH
1395 lib/File/Basename.{pm,t}
1396 lib/File/Compare.{pm,t}
1397 lib/File/Copy.{pm,t}
1398 lib/File/stat{.pm,.t,-7896.t}
1399 lib/FileHandle.{pm,t}
2af3c4b9 1400 lib/Getopt/Std.{pm,t}
cb198164 1401 lib/Internals.pod
4f3a742d 1402 lib/Internals.t
4b6af431 1403 lib/meta_notation.{pm,t}
4f3a742d
DR
1404 lib/Net/hostent.{pm,t}
1405 lib/Net/netent.{pm,t}
1406 lib/Net/protoent.{pm,t}
1407 lib/Net/servent.{pm,t}
2af3c4b9 1408 lib/PerlIO.pm
4f3a742d 1409 lib/Pod/t/Usage.t
4f3a742d
DR
1410 lib/SelectSaver.{pm,t}
1411 lib/Symbol.{pm,t}
1412 lib/Thread.{pm,t}
1413 lib/Tie/Array.pm
1414 lib/Tie/Array/
1415 lib/Tie/ExtraHash.t
1416 lib/Tie/Handle.pm
1417 lib/Tie/Handle/
2af3c4b9 1418 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1419 lib/Tie/Scalar.{pm,t}
1420 lib/Tie/StdHandle.pm
1421 lib/Tie/SubstrHash.{pm,t}
1422 lib/Time/gmtime.{pm,t}
1423 lib/Time/localtime.{pm,t}
1424 lib/Time/tm.pm
1425 lib/UNIVERSAL.pm
1426 lib/Unicode/README
2af3c4b9 1427 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1428 lib/User/grent.{pm,t}
1429 lib/User/pwent.{pm,t}
2af3c4b9 1430 lib/_charnames.pm
4f3a742d
DR
1431 lib/blib.{pm,t}
1432 lib/bytes.{pm,t}
1433 lib/bytes_heavy.pl
1434 lib/charnames.{pm,t}
1435 lib/dbm_filter_util.pl
1436 lib/deprecate.pm
2af3c4b9 1437 lib/diagnostics.{pm,t}
4f3a742d
DR
1438 lib/dumpvar.{pl,t}
1439 lib/feature.{pm,t}
1440 lib/feature/
1441 lib/filetest.{pm,t}
1442 lib/h2ph.t
1443 lib/h2xs.t
1444 lib/integer.{pm,t}
1445 lib/less.{pm,t}
1446 lib/locale.{pm,t}
706055ce 1447 lib/locale_threads.t
4f3a742d
DR
1448 lib/open.{pm,t}
1449 lib/overload/numbers.pm
1450 lib/overloading.{pm,t}
2af3c4b9 1451 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1452 lib/perl5db.{pl,t}
1453 lib/perl5db/
a3b4b767 1454 lib/perlbug.t
2af3c4b9 1455 lib/sigtrap.{pm,t}
4f3a742d
DR
1456 lib/sort.{pm,t}
1457 lib/strict.{pm,t}
1458 lib/subs.{pm,t}
1459 lib/unicore/
1460 lib/utf8.{pm,t}
4f3a742d
DR
1461 lib/vars{.pm,.t,_carp.t}
1462 lib/vmsish.{pm,t}
1463 ],
4f3a742d 1464 },
462ea751 1465);
b128a327 1466
97556ec3 1467# legacy CPAN flag
4f3a742d 1468for ( values %Modules ) {
97556ec3
GA
1469 $_->{CPAN} = !!$_->{DISTRIBUTION};
1470}
1471
099bebb1
SH
1472# legacy UPSTREAM flag
1473for ( keys %Modules ) {
1474 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1475 next if exists $Modules{$_}{UPSTREAM};
1476
1477 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1478 $Modules{$_}{UPSTREAM} = 'blead';
1479 }
1480 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1481 $Modules{$_}{UPSTREAM} = 'cpan';
1482 }
1483 else {
1484 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1485 }
1486}
1487
d350de41 1488# legacy MAINTAINER field
099bebb1 1489for ( keys %Modules ) {
b3dcf775 1490 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1491 next if exists $Modules{$_}{MAINTAINER};
1492
1493 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1494 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1495 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1496 }
099bebb1
SH
1497 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1498 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1499 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1500 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1501 }
099bebb1
SH
1502 else {
1503 warn "No DISTRIBUTION for non-blead module $_";
1504 }
d350de41
SH
1505}
1506
b128a327 15071;