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