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