This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update DB_File from version 1.854 to 1.855
[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' => {
8f62b02f 343 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.57.tar.gz',
7baf245a 344 'FILES' => q[dist/Devel-PPPort],
84c82da4
SH
345 'EXCLUDED' => [
346 'PPPort.pm', # we use PPPort_pm.PL instead
bb20cabd 347 ],
0d96e6a3 348 'CUSTOMIZED' => [ qw(Makefile.PL) ],
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' => {
551856fd 358 'DISTRIBUTION' => 'TODDR/Digest-1.19.tar.gz',
4f3a742d
DR
359 'FILES' => q[cpan/Digest],
360 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
361 },
362
363 'Digest::MD5' => {
897b79c3 364 'DISTRIBUTION' => 'TODDR/Digest-MD5-2.58.tar.gz',
4f3a742d 365 'FILES' => q[cpan/Digest-MD5],
897b79c3 366 'EXCLUDED' => [ 'rfc1321.txt', 'bin/md5sum.pl' ],
4f3a742d
DR
367 },
368
369 'Digest::SHA' => {
78ce14b4 370 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.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' => {
27ee53f9 387 'DISTRIBUTION' => 'DANKOGAI/Encode-3.07.tar.gz',
4f3a742d 388 'FILES' => q[cpan/Encode],
4eeaed37
N
389 'EXCLUDED' => [
390 qw( t/whatwg-aliases.json
391 t/whatwg-aliases.t
392 ),
393 ],
4f3a742d
DR
394 },
395
396 'encoding::warnings' => {
4f3a742d 397 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 398 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
399 'EXCLUDED' => [
400 qr{^inc/Module/},
94c85d8e 401 qw(t/0-signature.t),
4f3a742d 402 ],
4f3a742d
DR
403 },
404
4f3a742d 405 'Env' => {
126fc07f 406 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
407 'FILES' => q[dist/Env],
408 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
409 },
410
de84ff2b 411 'experimental' => {
203ad3de 412 'DISTRIBUTION' => 'LEONT/experimental-0.022.tar.gz',
de84ff2b 413 'FILES' => q[cpan/experimental],
4fdcb09b 414 'EXCLUDED' => [qr{^xt/}],
5f3202fa
Z
415 'CUSTOMIZED' => [
416 # smartmatch changes
417 't/basic.t',
418 ],
de84ff2b
RS
419 },
420
4f3a742d 421 'Exporter' => {
933f64ca 422 'DISTRIBUTION' => 'TODDR/Exporter-5.74.tar.gz',
3110a055 423 'FILES' => q[dist/Exporter],
4f3a742d
DR
424 'EXCLUDED' => [
425 qw( t/pod.t
426 t/use.t
427 ),
428 ],
4f3a742d
DR
429 },
430
431 'ExtUtils::CBuilder' => {
29e038ba 432 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280234.tar.gz',
4f3a742d 433 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
434 'EXCLUDED' => [
435 qw(README.mkdn),
436 qr{^xt},
437 ],
4f3a742d
DR
438 },
439
4f3a742d 440 'ExtUtils::Constant' => {
4f3a742d 441
4097fff1 442 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d 443 'FILES' => q[cpan/ExtUtils-Constant],
9a94bc6f
DIM
444 'CUSTOMIZED' => [
445 # https://rt.cpan.org/Public/Bug/Display.html?id=132995
446 't/Constant.t',
447 ],
4f3a742d
DR
448 'EXCLUDED' => [
449 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
450 examples/perl_keyword.pl
451 examples/perl_regcomp_posix_keyword.pl
452 ),
34c00cdf 453 ],
4f3a742d
DR
454 },
455
456 'ExtUtils::Install' => {
e63fbf73 457 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.18.tar.gz',
d393d7e5 458 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
459 'EXCLUDED' => [
460 qw( t/lib/Test/Builder.pm
461 t/lib/Test/Builder/Module.pm
462 t/lib/Test/More.pm
463 t/lib/Test/Simple.pm
464 t/pod-coverage.t
465 t/pod.t
466 ),
467 ],
4f3a742d
DR
468 },
469
470 'ExtUtils::MakeMaker' => {
6d12145e 471 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.48.tar.gz',
4f3a742d
DR
472 'FILES' => q[cpan/ExtUtils-MakeMaker],
473 'EXCLUDED' => [
474 qr{^t/lib/Test/},
475 qr{^(bundled|my)/},
476 qr{^t/Liblist_Kid.t},
477 qr{^t/liblist/},
78fd4358 478 qr{^\.perlcriticrc},
84c82da4
SH
479 'PATCHING',
480 'README.packaging',
ce9582af 481 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 482 ],
4f3a742d
DR
483 },
484
273021bd
SH
485 'ExtUtils::PL2Bat' => {
486 'DISTRIBUTION' => 'LEONT/ExtUtils-PL2Bat-0.003.tar.gz',
487 'FILES' => q[cpan/ExtUtils-PL2Bat],
488 'EXCLUDED' => [
489 't/00-compile.t',
490 'script/pl2bat.pl'
491 ],
492 'CUSTOMIZED' => [
493 't/make_executable.t',
494 ],
495 },
d972df9b 496
4f3a742d 497 'ExtUtils::Manifest' => {
1633525e 498 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.72.tar.gz',
854a00d8 499 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
500 'EXCLUDED' => [
501 qr(^t/00-report-prereqs),
502 qr(^xt/)
503 ],
4f3a742d
DR
504 },
505
506 'ExtUtils::ParseXS' => {
1bae5449 507 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
4f3a742d 508 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
509 },
510
4f3a742d 511 'File::Fetch' => {
b6806da1 512 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz',
4f3a742d 513 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
514 },
515
4f3a742d 516 'File::Path' => {
f4b02d78 517 'DISTRIBUTION' => 'JKEENAN/File-Path-2.17.tar.gz',
4f3a742d
DR
518 'FILES' => q[cpan/File-Path],
519 'EXCLUDED' => [
bfcc9519
SH
520 qw(t/Path-Class.t),
521 qr{^xt/},
4f3a742d 522 ],
4f3a742d
DR
523 },
524
4f3a742d 525 'File::Temp' => {
0df722d6 526 'DISTRIBUTION' => 'ETHER/File-Temp-0.2311.tar.gz',
4f3a742d
DR
527 'FILES' => q[cpan/File-Temp],
528 'EXCLUDED' => [
6bc10107
SH
529 qw( README.mkdn
530 misc/benchmark.pl
4f3a742d
DR
531 misc/results.txt
532 ),
6bc10107 533 qr[^t/00-report-prereqs],
814e893f 534 qr{^xt},
4f3a742d 535 ],
4f3a742d
DR
536 },
537
4f3a742d 538 'Filter::Simple' => {
e9214465 539 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
540 'FILES' => q[dist/Filter-Simple],
541 'EXCLUDED' => [
4f3a742d
DR
542 qr{^demo/}
543 ],
4f3a742d
DR
544 },
545
546 'Filter::Util::Call' => {
0b7fa637 547 'DISTRIBUTION' => 'RURBAN/Filter-1.60.tar.gz',
4f3a742d
DR
548 'FILES' => q[cpan/Filter-Util-Call
549 pod/perlfilter.pod
550 ],
551 'EXCLUDED' => [
552 qr{^decrypt/},
553 qr{^examples/},
554 qr{^Exec/},
555 qr{^lib/Filter/},
556 qr{^tee/},
ca215658 557 qw( .appveyor.yml
0b7fa637 558 .whitesource
ca215658 559 Call/Makefile.PL
4f3a742d
DR
560 Call/ppport.h
561 Call/typemap
562 mytest
563 t/cpp.t
564 t/decrypt.t
565 t/exec.t
cfaad56a 566 t/m4.t
4f3a742d 567 t/order.t
4f3a742d
DR
568 t/sh.t
569 t/tee.t
533d93cc 570 t/z_kwalitee.t
e765fd18 571 t/z_manifest.t
533d93cc
SH
572 t/z_meta.t
573 t/z_perl_minimum_version.t
574 t/z_pod-coverage.t
575 t/z_pod.t
4f3a742d
DR
576 ),
577 ],
578 'MAP' => {
e765fd18
SH
579 'Call/' => 'cpan/Filter-Util-Call/',
580 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
581 'perlfilter.pod' => 'pod/perlfilter.pod',
582 '' => 'cpan/Filter-Util-Call/',
4f3a742d 583 },
dd469d97
SH
584 'CUSTOMIZED' => [
585 qw(pod/perlfilter.pod)
586 ],
4f3a742d
DR
587 },
588
3e191967
S
589 'FindBin' => {
590 'DISTRIBUTION' => 'XSAWYERX/FindBin-0.000.tar.gz',
591 'FILES' => q[dist/FindBin],
592 },
593
4f3a742d 594 'Getopt::Long' => {
048ed1a1 595 'DISTRIBUTION' => 'JV/Getopt-Long-2.52.tar.gz',
4f3a742d
DR
596 'FILES' => q[cpan/Getopt-Long],
597 'EXCLUDED' => [
598 qr{^examples/},
048ed1a1 599 qw( lib/newgetopt.pl
974d5816 600 t/gol-compat.t
4f3a742d
DR
601 ),
602 ],
4f3a742d
DR
603 },
604
4f3a742d 605 'HTTP::Tiny' => {
3a778cce 606 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.076.tar.gz',
4f3a742d
DR
607 'FILES' => q[cpan/HTTP-Tiny],
608 'EXCLUDED' => [
fcfb9f49 609 't/00-report-prereqs.t',
57d69a40 610 't/00-report-prereqs.dd',
4f3a742d 611 't/200_live.t',
44347bc3 612 't/200_live_local_ip.t',
fcfb9f49 613 't/210_live_ssl.t',
4f3a742d
DR
614 qr/^eg/,
615 qr/^xt/
616 ],
4f3a742d
DR
617 },
618
619 'I18N::Collate' => {
4f3a742d
DR
620 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
621 'FILES' => q[dist/I18N-Collate],
622 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
623 },
624
4f3a742d 625 'I18N::LangTags' => {
4f3a742d 626 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
627 },
628
629 'if' => {
85cede38 630 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 631 'FILES' => q[dist/if],
4f3a742d
DR
632 },
633
634 'IO' => {
933f64ca 635 'DISTRIBUTION' => 'TODDR/IO-1.42.tar.gz',
4f3a742d
DR
636 'FILES' => q[dist/IO/],
637 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
638 },
639
640 'IO-Compress' => {
4737eb08 641 'DISTRIBUTION' => 'PMQS/IO-Compress-2.096.tar.gz',
4f3a742d 642 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
643 'EXCLUDED' => [
644 qr{^examples/},
645 qr{^t/Test/},
9f58603c 646 qr{^t/999meta-},
84c82da4
SH
647 't/010examples-bzip2.t',
648 't/010examples-zlib.t',
649 't/cz-05examples.t',
650 ],
4f3a742d
DR
651 },
652
74a30e96 653 'IO::Socket::IP' => {
8fa9c8df 654 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.41.tar.gz',
74a30e96
CBW
655 'FILES' => q[cpan/IO-Socket-IP],
656 'EXCLUDED' => [
657 qr{^examples/},
658 ],
659 },
660
4f3a742d 661 'IO::Zlib' => {
3447587c 662 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.11.tar.gz',
4f3a742d 663 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
664 },
665
666 'IPC::Cmd' => {
dc9ac3ee 667 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz',
4f3a742d 668 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
669 },
670
4f3a742d 671 'IPC::SysV' => {
4fe28b11 672 'DISTRIBUTION' => 'MHX/IPC-SysV-2.08.tar.gz',
4f3a742d
DR
673 'FILES' => q[cpan/IPC-SysV],
674 'EXCLUDED' => [
675 qw( const-c.inc
676 const-xs.inc
677 ),
678 ],
4f3a742d
DR
679 },
680
681 'JSON::PP' => {
c74be7ad 682 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.05.tar.gz',
4f3a742d 683 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
684 },
685
686 'lib' => {
4f3a742d
DR
687 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
688 'FILES' => q[dist/lib/],
689 'EXCLUDED' => [
690 qw( forPAUSE/lib.pm
691 t/00pod.t
692 ),
693 ],
4f3a742d
DR
694 },
695
696 'libnet' => {
8f2f8ba0 697 'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz',
4f3a742d
DR
698 'FILES' => q[cpan/libnet],
699 'EXCLUDED' => [
700 qw( Configure
2901a52f 701 t/changes.t
59e3cdd4
SH
702 t/critic.t
703 t/pod.t
704 t/pod_coverage.t
4f3a742d 705 ),
84c82da4 706 qr(^demos/),
dadfa42f 707 qr(^t/external/),
4f3a742d 708 ],
4f3a742d
DR
709 },
710
4f3a742d 711 'Locale::Maketext' => {
933f64ca 712 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.29.tar.gz',
4f3a742d
DR
713 'FILES' => q[dist/Locale-Maketext],
714 'EXCLUDED' => [
715 qw(
716 perlcriticrc
717 t/00_load.t
718 t/pod.t
719 ),
720 ],
4f3a742d
DR
721 },
722
723 'Locale::Maketext::Simple' => {
4f3a742d
DR
724 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
725 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
726 'CUSTOMIZED' => [
727 # CVE-2016-1238
728 qw( lib/Locale/Maketext/Simple.pm )
729 ],
4f3a742d
DR
730 },
731
4f3a742d 732 'Math::BigInt' => {
83cfb917 733 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999818.tar.gz',
6b0f9b46 734 'FILES' => q[cpan/Math-BigInt],
4f3a742d 735 'EXCLUDED' => [
4f3a742d 736 qr{^examples/},
6b10d254 737 qr{^t/author-},
8729b735 738 qr{^t/release-},
4f3a742d
DR
739 qw( t/00sig.t
740 t/01load.t
4f3a742d
DR
741 ),
742 ],
4f3a742d
DR
743 },
744
745 'Math::BigInt::FastCalc' => {
5ddb873f 746 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5009.tar.gz',
6b0f9b46 747 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 748 'EXCLUDED' => [
d239a8c7 749 qr{^t/author-},
8c2a9132 750 qr{^t/release-},
d239a8c7 751 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
752 qw( t/00sig.t
753 t/01load.t
4f3a742d
DR
754 ),
755
756 # instead we use the versions of these test
757 # files that come with Math::BigInt:
758 qw( t/bigfltpm.inc
759 t/bigfltpm.t
760 t/bigintpm.inc
761 t/bigintpm.t
762 t/mbimbf.inc
763 t/mbimbf.t
764 ),
765 ],
4f3a742d
DR
766 },
767
768 'Math::BigRat' => {
3cc1ad36 769 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2614.tar.gz',
6b0f9b46 770 'FILES' => q[cpan/Math-BigRat],
4f3a742d 771 'EXCLUDED' => [
6320cdc0 772 qr{^t/author-},
3cc1ad36 773 qr{^t/release-},
4f3a742d
DR
774 qw( t/00sig.t
775 t/01load.t
9b331ac6
SH
776 ),
777 ],
4f3a742d
DR
778 },
779
780 'Math::Complex' => {
04ae1553 781 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 782 'FILES' => q[cpan/Math-Complex],
50e27233
JH
783 'CUSTOMIZED' => [
784 'lib/Math/Complex.pm', # CPAN RT 118467
785 't/Complex.t', # CPAN RT 118467
786 't/Trig.t', # CPAN RT 118467
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
801 qw( Memoize.pm )
802 ],
4f3a742d
DR
803 },
804
805 'MIME::Base64' => {
90f582c2 806 'DISTRIBUTION' => 'CAPOEIRAB/MIME-Base64-3.16.tar.gz',
4f3a742d 807 'FILES' => q[cpan/MIME-Base64],
90f582c2 808 'EXCLUDED' => [ qr{^xt/}, 'benchmark', 'benchmark-qp', qr{^t/00-report-prereqs} ],
4f3a742d
DR
809 },
810
4f3a742d 811 'Module::CoreList' => {
6214834e 812 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20200920.tar.gz',
4f3a742d 813 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
814 },
815
816 'Module::Load' => {
ffdf828c 817 'DISTRIBUTION' => 'BINGOS/Module-Load-0.36.tar.gz',
4f3a742d 818 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
819 },
820
821 'Module::Load::Conditional' => {
d813268c 822 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.74.tar.gz',
4f3a742d 823 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
824 },
825
826 'Module::Loaded' => {
4f3a742d
DR
827 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
828 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
829 },
830
831 'Module::Metadata' => {
c7fb6257 832 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz',
4f3a742d
DR
833 'FILES' => q[cpan/Module-Metadata],
834 'EXCLUDED' => [
b9beed70 835 qw(t/00-report-prereqs.t),
adc2cdfb 836 qw(t/00-report-prereqs.dd),
e6d414a9 837 qr{weaver.ini},
4f3a742d
DR
838 qr{^xt},
839 ],
4f3a742d
DR
840 },
841
4f3a742d 842 'Net::Ping' => {
a02b1ce4 843 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.73.tar.gz',
4f3a742d 844 'FILES' => q[dist/Net-Ping],
773d126d 845 'EXCLUDED' => [
26e9d721 846 qw(README.md.PL),
773d126d
CBW
847 qw(t/020_external.t),
848 qw(t/600_pod.t),
849 qw(t/601_pod-coverage.t),
850 ],
a02b1ce4
N
851 'CUSTOMIZED' => [
852 qw{
853 t/000_load.t
854 t/001_new.t
855 t/010_pingecho.t
1243fa19 856 t/450_service.t
a02b1ce4
N
857 t/500_ping_icmp.t
858 t/501_ping_icmpv6.t
859 }
860 ],
4f3a742d
DR
861 },
862
863 'NEXT' => {
c8321e06 864 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
4f3a742d
DR
865 'FILES' => q[cpan/NEXT],
866 'EXCLUDED' => [qr{^demo/}],
ffd1c688 867 'CUSTOMIZED' => [ qw(lib/NEXT.pm t/next.t) ],
4f3a742d
DR
868 },
869
4f3a742d 870 'Params::Check' => {
8b21fa03 871 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 872 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
873 },
874
875 'parent' => {
56572701 876 'DISTRIBUTION' => 'CORION/parent-0.238.tar.gz',
4f3a742d 877 'FILES' => q[cpan/parent],
39250dd4
SH
878 'EXCLUDED' => [
879 qr{^xt}
880 ],
4f3a742d
DR
881 },
882
4f3a742d 883 'PathTools' => {
9e3f69e1 884 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.tar.gz',
cb8c8458 885 'FILES' => q[dist/PathTools],
76250107
SH
886 'EXCLUDED' => [
887 qr{^t/lib/Test/},
888 qw( t/rel2abs_vs_symlink.t),
889 ],
4f3a742d
DR
890 },
891
97b1d6e6 892 'Perl::OSType' => {
ea8e5adc 893 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 894 'FILES' => q[cpan/Perl-OSType],
765955c0 895 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
896 },
897
97b1d6e6 898 'perlfaq' => {
dcd070d8 899 'DISTRIBUTION' => 'ETHER/perlfaq-5.20200523.tar.gz',
97b1d6e6 900 'FILES' => q[cpan/perlfaq],
928a385c 901 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ],
97b1d6e6
SH
902 },
903
4f3a742d 904 'PerlIO::via::QuotedPrint' => {
96623e31 905 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 906 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
907 },
908
0c501878 909 'Pod::Checker' => {
165e1791 910 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.74.tar.gz',
0c501878 911 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
912 },
913
4f3a742d 914 'Pod::Escapes' => {
f347d3e3 915 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 916 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
917 },
918
4f3a742d 919 'Pod::Perldoc' => {
6aff4bf3 920 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 921 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 922
fa884b76
DM
923 # Note that we use the CPAN-provided Makefile.PL, since it
924 # contains special handling of the installation of perldoc.pod
925
5fddd31d
SH
926 'EXCLUDED' => [
927 # In blead, the perldoc executable is generated by perldoc.PL
928 # instead
929 # XXX We can and should fix this, but clean up the DRY-failure in
930 # utils first
931 'perldoc',
932
933 # https://rt.cpan.org/Ticket/Display.html?id=116827
934 't/02_module_pod_output.t'
935 ],
f2ee4cb8
Z
936
937 'CUSTOMIZED' => [
938 # [rt.cpan.org #88204], [rt.cpan.org #120229]
939 'lib/Pod/Perldoc.pm',
940 ],
4f3a742d
DR
941 },
942
943 'Pod::Simple' => {
1ccbfc07 944 'DISTRIBUTION' => 'KHW/Pod-Simple-3.41.tar.gz',
4f3a742d 945 'FILES' => q[cpan/Pod-Simple],
1ccbfc07
SH
946 'EXCLUDED' => [
947 qw{.ChangeLog.swp},
948 qr{^\.github/}
949 ],
4f3a742d
DR
950 },
951
0c501878 952 'Pod::Usage' => {
131281c7 953 'DISTRIBUTION' => 'ATOOMIC/Pod-Usage-2.01.tar.gz',
0c501878 954 'FILES' => q[cpan/Pod-Usage],
131281c7
SH
955 'EXCLUDED' => [
956 qr{^t/00-},
957 qr{^xt/}
958 ],
0c501878
CBW
959 },
960
4f3a742d 961 'podlators' => {
28997a26 962 'DISTRIBUTION' => 'RRA/podlators-4.14.tar.gz',
4f3a742d 963 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
964 'EXCLUDED' => [
965 qr{^docs/metadata/},
966 ],
4f3a742d 967
4f3a742d
DR
968 'MAP' => {
969 '' => 'cpan/podlators/',
4f3a742d 970 # this file lives outside the cpan/ directory
1efe9157 971 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 972 },
4f3a742d
DR
973 },
974
4f3a742d 975 'Safe' => {
e739c653 976 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 977 'FILES' => q[dist/Safe],
4f3a742d
DR
978 },
979
13bb7c4d 980 'Scalar::Util' => {
cac6698e 981 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.55.tar.gz',
869a9612 982 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
983 },
984
4f3a742d 985 'Search::Dict' => {
0b0a7092 986 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 987 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
988 },
989
990 'SelfLoader' => {
879d999b 991 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
992 'FILES' => q[dist/SelfLoader],
993 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
994 },
995
4f3a742d 996 'Socket' => {
8bb05de3 997 'DISTRIBUTION' => 'PEVANS/Socket-2.030.tar.gz',
4f3a742d 998 'FILES' => q[cpan/Socket],
4f3a742d
DR
999 },
1000
1001 'Storable' => {
e7e4fc7f 1002 'DISTRIBUTION' => 'XSAWYERX/Storable-3.15.tar.gz',
4f3a742d 1003 'FILES' => q[dist/Storable],
76250107
SH
1004 'EXCLUDED' => [
1005 qr{^t/compat/},
1006 ],
4f3a742d
DR
1007 },
1008
4f3a742d 1009 'Sys::Syslog' => {
10934390 1010 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.36.tar.gz',
4f3a742d
DR
1011 'FILES' => q[cpan/Sys-Syslog],
1012 'EXCLUDED' => [
1013 qr{^eg/},
84c82da4
SH
1014 qw( README.win32
1015 t/data-validation.t
4f3a742d
DR
1016 t/distchk.t
1017 t/pod.t
1018 t/podcover.t
1019 t/podspell.t
1020 t/portfs.t
1021 win32/PerlLog.RES
4f3a742d
DR
1022 ),
1023 ],
4f3a742d
DR
1024 },
1025
1026 'Term::ANSIColor' => {
9c952fa3 1027 'DISTRIBUTION' => 'RRA/Term-ANSIColor-5.01.tar.gz',
4f3a742d
DR
1028 'FILES' => q[cpan/Term-ANSIColor],
1029 'EXCLUDED' => [
93d7ac13 1030 qr{^docs/},
92f80b37
CBW
1031 qr{^examples/},
1032 qr{^t/data/},
5e64492f
CBW
1033 qr{^t/docs/},
1034 qr{^t/style/},
1035 qw( t/module/aliases-env.t ),
4f3a742d 1036 ],
4f3a742d
DR
1037 },
1038
1039 'Term::Cap' => {
23a75734 1040 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1041 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1042 },
1043
1044 'Term::Complete' => {
4f3a742d
DR
1045 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1046 'FILES' => q[dist/Term-Complete],
1047 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1048 },
1049
1050 'Term::ReadLine' => {
75ad3638 1051 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1052 'FILES' => q[dist/Term-ReadLine],
1053 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1054 },
1055
4f3a742d 1056 'Test' => {
1c22e001 1057 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1058 'FILES' => q[dist/Test],
4f3a742d
DR
1059 },
1060
1061 'Test::Harness' => {
158ffeeb 1062 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1063 'FILES' => q[cpan/Test-Harness],
1064 'EXCLUDED' => [
1065 qr{^examples/},
4f3a742d
DR
1066 qr{^xt/},
1067 qw( Changes-2.64
8db65552 1068 MANIFEST.CUMMULATIVE
4f3a742d
DR
1069 HACKING.pod
1070 perlcriticrc
8db65552 1071 t/000-load.t
4f3a742d
DR
1072 t/lib/if.pm
1073 ),
1074 ],
4f3a742d
DR
1075 },
1076
1077 'Test::Simple' => {
9e50822c 1078 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302182.tar.gz',
4f3a742d
DR
1079 'FILES' => q[cpan/Test-Simple],
1080 'EXCLUDED' => [
0b4ffce6
SH
1081 qr{^examples/},
1082 qr{^xt/},
022600ce 1083 qw( appveyor.yml
80a7dd19 1084 t/00compile.t
c6a6e1c8
CG
1085 t/00-report.t
1086 t/zzz-check-breaks.t
4f3a742d
DR
1087 ),
1088 ],
f266b743 1089 },
4f3a742d
DR
1090
1091 'Text::Abbrev' => {
5e96eee9 1092 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1093 'FILES' => q[dist/Text-Abbrev],
1094 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1095 },
1096
1097 'Text::Balanced' => {
03a97c81 1098 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1099 'FILES' => q[cpan/Text-Balanced],
1100 'EXCLUDED' => [
1101 qw( t/97_meta.t
1102 t/98_pod.t
1103 t/99_pmv.t
1104 ),
1105 ],
4f3a742d
DR
1106 },
1107
1108 'Text::ParseWords' => {
a790e348 1109 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1110 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1111 },
1112
4f3a742d 1113 'Text-Tabs+Wrap' => {
83aea42c 1114 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1115 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1116 'EXCLUDED' => [
1117 qr/^lib\.old/,
1118 't/dnsparks.t', # see af6492bf9e
4f3a742d 1119 ],
e7b92d54
SH
1120 'MAP' => {
1121 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1122 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1123 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1124 },
4f3a742d
DR
1125 },
1126
4e75700d
AC
1127 # Jerry Hedden does take patches that are applied to blead first, even
1128 # though that can be hard to discern from the Git history; so it's
1129 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1130 # to be under dist/ rather than cpan/
4f3a742d 1131 'Thread::Queue' => {
e1578db3 1132 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz',
4f3a742d
DR
1133 'FILES' => q[dist/Thread-Queue],
1134 'EXCLUDED' => [
1fd4700e
JH
1135 qr{^examples/},
1136 qw( t/00_load.t
4f3a742d
DR
1137 t/99_pod.t
1138 t/test.pl
1139 ),
1140 ],
4f3a742d
DR
1141 },
1142
1143 'Thread::Semaphore' => {
51068c14 1144 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1145 'FILES' => q[dist/Thread-Semaphore],
1146 'EXCLUDED' => [
1147 qw( examples/semaphore.pl
1148 t/00_load.t
1149 t/99_pod.t
1150 t/test.pl
1151 ),
1152 ],
4f3a742d
DR
1153 },
1154
1155 'threads' => {
40e3ceea 1156 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1157 'FILES' => q[dist/threads],
1158 'EXCLUDED' => [
1159 qr{^examples/},
1160 qw( t/pod.t
1161 t/test.pl
1162 threads.h
1163 ),
1164 ],
4f3a742d
DR
1165 },
1166
1167 'threads::shared' => {
fdfb42a0 1168 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz',
4f3a742d
DR
1169 'FILES' => q[dist/threads-shared],
1170 'EXCLUDED' => [
1171 qw( examples/class.pl
1172 shared.h
1173 t/pod.t
1174 t/test.pl
1175 ),
1176 ],
4f3a742d
DR
1177 },
1178
1179 'Tie::File' => {
678b7202 1180 'DISTRIBUTION' => 'TODDR/Tie-File-1.05.tar.gz',
c0504019 1181 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1182 },
1183
4f3a742d 1184 'Tie::RefHash' => {
6fcc9782 1185 'DISTRIBUTION' => 'ETHER/Tie-RefHash-1.40.tar.gz',
4f3a742d 1186 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1187 },
1188
1189 'Time::HiRes' => {
371b09ed 1190 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9764.tar.gz',
91ba54d4 1191 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1192 },
1193
1194 'Time::Local' => {
34857856 1195 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.30.tar.gz',
4f3a742d
DR
1196 'FILES' => q[cpan/Time-Local],
1197 'EXCLUDED' => [
cc890588 1198 qr{^xt/},
34857856
SH
1199 qw( CODE_OF_CONDUCT.md
1200 azure-pipelines.yml
d82c4df6 1201 perlcriticrc
cc890588
SH
1202 perltidyrc
1203 tidyall.ini
1204 t/00-report-prereqs.t
1205 t/00-report-prereqs.dd
1206 ),
4f3a742d 1207 ],
4f3a742d
DR
1208 },
1209
1210 'Time::Piece' => {
a5ebaea1 1211 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3401.tar.gz',
4f3a742d 1212 'FILES' => q[cpan/Time-Piece],
fd481c17 1213 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1214 },
1215
1216 'Unicode::Collate' => {
0bb7e24a 1217 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.29.tar.gz',
4f3a742d
DR
1218 'FILES' => q[cpan/Unicode-Collate],
1219 'EXCLUDED' => [
1220 qr{N$},
1221 qr{^data/},
1222 qr{^gendata/},
1223 qw( disableXS
1224 enableXS
1225 mklocale
1226 ),
1227 ],
4f3a742d
DR
1228 },
1229
1230 'Unicode::Normalize' => {
d339f061 1231 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz',
3baae3fa 1232 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1233 'EXCLUDED' => [
1234 qw( MANIFEST.N
1235 Normalize.pmN
1236 disableXS
1237 enableXS
1238 ),
1239 ],
4f3a742d
DR
1240 },
1241
4f3a742d 1242 'version' => {
f5919b58 1243 'DISTRIBUTION' => 'LEONT/version-0.9928.tar.gz',
4fa93b19 1244 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1245 'EXCLUDED' => [
df3ba8e7 1246 qr{^vutil/lib/},
c60b4fa6 1247 'vutil/Makefile.PL',
df3ba8e7
FC
1248 'vutil/ppport.h',
1249 'vutil/vxs.xs',
ce9582af 1250 't/00impl-pp.t',
4f3a742d 1251 't/survey_locales',
d1e81356 1252 'vperl/vpp.pm',
4f3a742d 1253 ],
f81a37f2 1254
c872d591
SH
1255 # When adding the CPAN-distributed files for version.pm, it is necessary
1256 # to delete an entire block out of lib/version.pm, since that code is
1257 # only necessary with the CPAN release.
f81a37f2
SH
1258 'CUSTOMIZED' => [
1259 qw( lib/version.pm
fd8a724d 1260 vutil.c
f81a37f2
SH
1261 ),
1262 ],
1263
df3ba8e7 1264 'MAP' => {
4fa93b19 1265 'vutil/' => '',
df3ba8e7
FC
1266 '' => 'cpan/version/',
1267 },
4f3a742d
DR
1268 },
1269
4f3a742d 1270 'warnings' => {
099bebb1 1271 'FILES' => q[
4f3a742d 1272 lib/warnings
099bebb1
SH
1273 lib/warnings.{pm,t}
1274 regen/warnings.pl
4f3a742d 1275 t/lib/warnings
099bebb1 1276 ],
4f3a742d
DR
1277 },
1278
4f3a742d 1279 'Win32' => {
2b8fc250 1280 'DISTRIBUTION' => "JDB/Win32-0.54.tar.gz",
4f3a742d 1281 'FILES' => q[cpan/Win32],
4f3a742d
DR
1282 },
1283
1284 'Win32API::File' => {
df61f5a9 1285 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1286 'FILES' => q[cpan/Win32API-File],
1287 'EXCLUDED' => [
1288 qr{^ex/},
4f3a742d 1289 ],
6177f132
DIM
1290 # https://rt.cpan.org/Ticket/Display.html?id=127837
1291 'CUSTOMIZED' => [
1292 qw( File.pm
1293 File.xs
1294 ),
1295 ],
4f3a742d
DR
1296 },
1297
4f3a742d 1298 'XSLoader' => {
6f2c9cc3 1299 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1300 'FILES' => q[dist/XSLoader],
1301 'EXCLUDED' => [
1302 qr{^eg/},
57f9caa0
SH
1303 qw( t/00-load.t
1304 t/01-api.t
1305 t/distchk.t
1306 t/pod.t
4f3a742d
DR
1307 t/podcover.t
1308 t/portfs.t
1309 ),
1310 'XSLoader.pm', # we use XSLoader_pm.PL
1311 ],
4f3a742d
DR
1312 },
1313
462ea751
DM
1314 # this pseudo-module represents all the files under ext/ and lib/
1315 # that aren't otherwise claimed. This means that the following two
1316 # commands will check that every file under ext/ and lib/ is
1317 # accounted for, and that there are no duplicates:
1318 #
1319 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1320 # perl Porting/Maintainers --checkmani
462ea751 1321
4f3a742d 1322 '_PERLLIB' => {
2af3c4b9 1323 'FILES' => q[
79852350
AB
1324 ext/Amiga-ARexx/
1325 ext/Amiga-Exec/
09213599 1326 ext/B/
2af3c4b9
SH
1327 ext/Devel-Peek/
1328 ext/DynaLoader/
1329 ext/Errno/
7b4d95f7 1330 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1331 ext/Fcntl/
1332 ext/File-DosGlob/
1333 ext/File-Find/
1334 ext/File-Glob/
1335 ext/FileCache/
1336 ext/GDBM_File/
1337 ext/Hash-Util-FieldHash/
1338 ext/Hash-Util/
1339 ext/I18N-Langinfo/
1340 ext/IPC-Open3/
1341 ext/NDBM_File/
1342 ext/ODBM_File/
1343 ext/Opcode/
1344 ext/POSIX/
1345 ext/PerlIO-encoding/
1346 ext/PerlIO-mmap/
1347 ext/PerlIO-scalar/
1348 ext/PerlIO-via/
1349 ext/Pod-Functions/
1350 ext/Pod-Html/
1351 ext/SDBM_File/
1352 ext/Sys-Hostname/
1353 ext/Tie-Hash-NamedCapture/
1354 ext/Tie-Memoize/
b3dcf775 1355 ext/VMS-DCLsym/
2af3c4b9 1356 ext/VMS-Filespec/
b3dcf775
SH
1357 ext/VMS-Stdio/
1358 ext/Win32CORE/
4f3a742d 1359 ext/XS-APItest/
2af3c4b9 1360 ext/XS-Typemap/
2af3c4b9
SH
1361 ext/attributes/
1362 ext/mro/
1363 ext/re/
1364 lib/AnyDBM_File.{pm,t}
1365 lib/Benchmark.{pm,t}
38eca645 1366 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1367 lib/B/Op_private.pm
4f3a742d 1368 lib/CORE.pod
2af3c4b9 1369 lib/Class/Struct.{pm,t}
4f3a742d
DR
1370 lib/Config.t
1371 lib/Config/Extensions.{pm,t}
1372 lib/DB.{pm,t}
2af3c4b9
SH
1373 lib/DBM_Filter.pm
1374 lib/DBM_Filter/
1375 lib/DirHandle.{pm,t}
1376 lib/English.{pm,t}
4f3a742d
DR
1377 lib/ExtUtils/Embed.pm
1378 lib/ExtUtils/XSSymSet.pm
1379 lib/ExtUtils/t/Embed.t
1380 lib/ExtUtils/typemap
2af3c4b9
SH
1381 lib/File/Basename.{pm,t}
1382 lib/File/Compare.{pm,t}
1383 lib/File/Copy.{pm,t}
1384 lib/File/stat{.pm,.t,-7896.t}
1385 lib/FileHandle.{pm,t}
2af3c4b9 1386 lib/Getopt/Std.{pm,t}
cb198164 1387 lib/Internals.pod
4f3a742d 1388 lib/Internals.t
4b6af431 1389 lib/meta_notation.{pm,t}
4f3a742d
DR
1390 lib/Net/hostent.{pm,t}
1391 lib/Net/netent.{pm,t}
1392 lib/Net/protoent.{pm,t}
1393 lib/Net/servent.{pm,t}
2af3c4b9 1394 lib/PerlIO.pm
4f3a742d 1395 lib/Pod/t/Usage.t
4f3a742d
DR
1396 lib/SelectSaver.{pm,t}
1397 lib/Symbol.{pm,t}
1398 lib/Thread.{pm,t}
1399 lib/Tie/Array.pm
1400 lib/Tie/Array/
1401 lib/Tie/ExtraHash.t
1402 lib/Tie/Handle.pm
1403 lib/Tie/Handle/
2af3c4b9 1404 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1405 lib/Tie/Scalar.{pm,t}
1406 lib/Tie/StdHandle.pm
1407 lib/Tie/SubstrHash.{pm,t}
1408 lib/Time/gmtime.{pm,t}
1409 lib/Time/localtime.{pm,t}
1410 lib/Time/tm.pm
1411 lib/UNIVERSAL.pm
1412 lib/Unicode/README
2af3c4b9 1413 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1414 lib/User/grent.{pm,t}
1415 lib/User/pwent.{pm,t}
2af3c4b9 1416 lib/_charnames.pm
4f3a742d
DR
1417 lib/blib.{pm,t}
1418 lib/bytes.{pm,t}
1419 lib/bytes_heavy.pl
1420 lib/charnames.{pm,t}
1421 lib/dbm_filter_util.pl
1422 lib/deprecate.pm
2af3c4b9 1423 lib/diagnostics.{pm,t}
4f3a742d
DR
1424 lib/dumpvar.{pl,t}
1425 lib/feature.{pm,t}
1426 lib/feature/
1427 lib/filetest.{pm,t}
1428 lib/h2ph.t
1429 lib/h2xs.t
1430 lib/integer.{pm,t}
1431 lib/less.{pm,t}
1432 lib/locale.{pm,t}
706055ce 1433 lib/locale_threads.t
4f3a742d
DR
1434 lib/open.{pm,t}
1435 lib/overload/numbers.pm
1436 lib/overloading.{pm,t}
2af3c4b9 1437 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1438 lib/perl5db.{pl,t}
1439 lib/perl5db/
a3b4b767 1440 lib/perlbug.t
2af3c4b9 1441 lib/sigtrap.{pm,t}
4f3a742d
DR
1442 lib/sort.{pm,t}
1443 lib/strict.{pm,t}
1444 lib/subs.{pm,t}
1445 lib/unicore/
1446 lib/utf8.{pm,t}
4f3a742d
DR
1447 lib/vars{.pm,.t,_carp.t}
1448 lib/vmsish.{pm,t}
1449 ],
4f3a742d 1450 },
462ea751 1451);
b128a327 1452
97556ec3 1453# legacy CPAN flag
4f3a742d 1454for ( values %Modules ) {
97556ec3
GA
1455 $_->{CPAN} = !!$_->{DISTRIBUTION};
1456}
1457
099bebb1
SH
1458# legacy UPSTREAM flag
1459for ( keys %Modules ) {
1460 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1461 next if exists $Modules{$_}{UPSTREAM};
1462
1463 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1464 $Modules{$_}{UPSTREAM} = 'blead';
1465 }
1466 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1467 $Modules{$_}{UPSTREAM} = 'cpan';
1468 }
1469 else {
1470 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1471 }
1472}
1473
d350de41 1474# legacy MAINTAINER field
099bebb1 1475for ( keys %Modules ) {
b3dcf775 1476 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1477 next if exists $Modules{$_}{MAINTAINER};
1478
1479 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1480 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1481 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1482 }
099bebb1
SH
1483 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1484 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1485 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1486 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1487 }
099bebb1
SH
1488 else {
1489 warn "No DISTRIBUTION for non-blead module $_";
1490 }
d350de41
SH
1491}
1492
b128a327 14931;