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