This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Spelling corrections in pod/*.pod from Alexandr Savca.
[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' => {
9e173cc3 195 'DISTRIBUTION' => 'PJACKLAM/bignum-0.49.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' => {
7ab4fa18 397 'DISTRIBUTION' => 'DANKOGAI/Encode-2.97.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' => {
feb6a67a 476 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.34.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' => {
85cede38 612 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.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' => {
aed76e69 648 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.00.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' => {
fd144912 693 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.56.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' => {
b6763dcc 811 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20180414.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' => {
85cede38 879 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.74.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
13bb7c4d
TR
987 'Scalar::Util' => {
988 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.50.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' => {
7d97880d 1004 'DISTRIBUTION' => 'PEVANS/Socket-2.027.tar.gz',
4f3a742d 1005 'FILES' => q[cpan/Socket],
4f3a742d
DR
1006 },
1007
1008 'Storable' => {
5f4b5e0f 1009 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1010 'FILES' => q[dist/Storable],
76250107
SH
1011 'EXCLUDED' => [
1012 qr{^t/compat/},
1013 ],
4f3a742d
DR
1014 },
1015
4f3a742d 1016 'Sys::Syslog' => {
9f0af693 1017 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
4f3a742d
DR
1018 'FILES' => q[cpan/Sys-Syslog],
1019 'EXCLUDED' => [
1020 qr{^eg/},
84c82da4
SH
1021 qw( README.win32
1022 t/data-validation.t
4f3a742d
DR
1023 t/distchk.t
1024 t/pod.t
1025 t/podcover.t
1026 t/podspell.t
1027 t/portfs.t
1028 win32/PerlLog.RES
4f3a742d
DR
1029 ),
1030 ],
4f3a742d
DR
1031 },
1032
1033 'Term::ANSIColor' => {
93d7ac13 1034 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1035 'FILES' => q[cpan/Term-ANSIColor],
1036 'EXCLUDED' => [
93d7ac13 1037 qr{^docs/},
92f80b37
CBW
1038 qr{^examples/},
1039 qr{^t/data/},
5e64492f
CBW
1040 qr{^t/docs/},
1041 qr{^t/style/},
1042 qw( t/module/aliases-env.t ),
4f3a742d 1043 ],
4f3a742d
DR
1044 },
1045
1046 'Term::Cap' => {
23a75734 1047 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1048 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1049 },
1050
1051 'Term::Complete' => {
4f3a742d
DR
1052 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1053 'FILES' => q[dist/Term-Complete],
1054 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1055 },
1056
1057 'Term::ReadLine' => {
75ad3638 1058 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1059 'FILES' => q[dist/Term-ReadLine],
1060 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1061 },
1062
4f3a742d 1063 'Test' => {
1c22e001 1064 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1065 'FILES' => q[dist/Test],
4f3a742d
DR
1066 },
1067
1068 'Test::Harness' => {
158ffeeb 1069 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1070 'FILES' => q[cpan/Test-Harness],
1071 'EXCLUDED' => [
1072 qr{^examples/},
4f3a742d
DR
1073 qr{^xt/},
1074 qw( Changes-2.64
8db65552 1075 MANIFEST.CUMMULATIVE
4f3a742d
DR
1076 HACKING.pod
1077 perlcriticrc
8db65552 1078 t/000-load.t
4f3a742d
DR
1079 t/lib/if.pm
1080 ),
1081 ],
4f3a742d
DR
1082 },
1083
1084 'Test::Simple' => {
43de38c4 1085 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302133.tar.gz',
4f3a742d
DR
1086 'FILES' => q[cpan/Test-Simple],
1087 'EXCLUDED' => [
0b4ffce6
SH
1088 qr{^examples/},
1089 qr{^xt/},
022600ce 1090 qw( appveyor.yml
80a7dd19 1091 t/00compile.t
c6a6e1c8
CG
1092 t/00-report.t
1093 t/zzz-check-breaks.t
4f3a742d
DR
1094 ),
1095 ],
f266b743 1096 },
4f3a742d
DR
1097
1098 'Text::Abbrev' => {
5e96eee9 1099 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1100 'FILES' => q[dist/Text-Abbrev],
1101 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1102 },
1103
1104 'Text::Balanced' => {
03a97c81 1105 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1106 'FILES' => q[cpan/Text-Balanced],
1107 'EXCLUDED' => [
1108 qw( t/97_meta.t
1109 t/98_pod.t
1110 t/99_pmv.t
1111 ),
1112 ],
4f3a742d
DR
1113 },
1114
1115 'Text::ParseWords' => {
a790e348 1116 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1117 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1118 },
1119
4f3a742d 1120 'Text-Tabs+Wrap' => {
83aea42c 1121 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1122 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1123 'EXCLUDED' => [
1124 qr/^lib\.old/,
1125 't/dnsparks.t', # see af6492bf9e
4f3a742d 1126 ],
e7b92d54
SH
1127 'MAP' => {
1128 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1129 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1130 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1131 },
4f3a742d
DR
1132 },
1133
4e75700d
AC
1134 # Jerry Hedden does take patches that are applied to blead first, even
1135 # though that can be hard to discern from the Git history; so it's
1136 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1137 # to be under dist/ rather than cpan/
4f3a742d 1138 'Thread::Queue' => {
b4d001fd 1139 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.12.tar.gz',
4f3a742d
DR
1140 'FILES' => q[dist/Thread-Queue],
1141 'EXCLUDED' => [
1fd4700e
JH
1142 qr{^examples/},
1143 qw( t/00_load.t
4f3a742d
DR
1144 t/99_pod.t
1145 t/test.pl
1146 ),
1147 ],
4f3a742d
DR
1148 },
1149
1150 'Thread::Semaphore' => {
51068c14 1151 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1152 'FILES' => q[dist/Thread-Semaphore],
1153 'EXCLUDED' => [
1154 qw( examples/semaphore.pl
1155 t/00_load.t
1156 t/99_pod.t
1157 t/test.pl
1158 ),
1159 ],
4f3a742d
DR
1160 },
1161
1162 'threads' => {
40e3ceea 1163 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1164 'FILES' => q[dist/threads],
1165 'EXCLUDED' => [
1166 qr{^examples/},
1167 qw( t/pod.t
1168 t/test.pl
1169 threads.h
1170 ),
1171 ],
4f3a742d
DR
1172 },
1173
1174 'threads::shared' => {
d719fa5c 1175 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.58.tar.gz',
4f3a742d
DR
1176 'FILES' => q[dist/threads-shared],
1177 'EXCLUDED' => [
1178 qw( examples/class.pl
1179 shared.h
1180 t/pod.t
1181 t/test.pl
1182 ),
1183 ],
4f3a742d
DR
1184 },
1185
1186 'Tie::File' => {
4ac9c666 1187 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1188 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1189 },
1190
4f3a742d 1191 'Tie::RefHash' => {
4f3a742d
DR
1192 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1193 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1194 },
1195
1196 'Time::HiRes' => {
e7719536 1197 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9759.tar.gz',
91ba54d4 1198 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1199 },
1200
1201 'Time::Local' => {
dad75267 1202 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz',
4f3a742d
DR
1203 'FILES' => q[cpan/Time-Local],
1204 'EXCLUDED' => [
cc890588
SH
1205 qr{^xt/},
1206 qw( perlcriticrc
1207 perltidyrc
1208 tidyall.ini
1209 t/00-report-prereqs.t
1210 t/00-report-prereqs.dd
1211 ),
4f3a742d 1212 ],
4f3a742d
DR
1213 },
1214
1215 'Time::Piece' => {
f071bbf0 1216 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3204.tar.gz',
4f3a742d 1217 'FILES' => q[cpan/Time-Piece],
fd481c17 1218 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1219 },
1220
1221 'Unicode::Collate' => {
c7df802e 1222 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.25.tar.gz',
4f3a742d
DR
1223 'FILES' => q[cpan/Unicode-Collate],
1224 'EXCLUDED' => [
1225 qr{N$},
1226 qr{^data/},
1227 qr{^gendata/},
1228 qw( disableXS
1229 enableXS
1230 mklocale
1231 ),
1232 ],
4f3a742d
DR
1233 },
1234
1235 'Unicode::Normalize' => {
1ef95abd 1236 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
3baae3fa 1237 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1238 'EXCLUDED' => [
1239 qw( MANIFEST.N
1240 Normalize.pmN
1241 disableXS
1242 enableXS
1243 ),
1244 ],
4f3a742d
DR
1245 },
1246
4f3a742d 1247 'version' => {
8474b2eb 1248 'DISTRIBUTION' => 'JPEACOCK/version-0.9918.tar.gz',
4fa93b19 1249 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1250 'EXCLUDED' => [
df3ba8e7 1251 qr{^vutil/lib/},
c60b4fa6 1252 'vutil/Makefile.PL',
df3ba8e7
FC
1253 'vutil/ppport.h',
1254 'vutil/vxs.xs',
ce9582af 1255 't/00impl-pp.t',
4f3a742d 1256 't/survey_locales',
d1e81356 1257 'vperl/vpp.pm',
4f3a742d 1258 ],
f81a37f2 1259
c872d591
SH
1260 # When adding the CPAN-distributed files for version.pm, it is necessary
1261 # to delete an entire block out of lib/version.pm, since that code is
1262 # only necessary with the CPAN release.
f81a37f2
SH
1263 'CUSTOMIZED' => [
1264 qw( lib/version.pm
9da8aacf 1265 vxs.inc
f81a37f2
SH
1266 ),
1267 ],
1268
df3ba8e7 1269 'MAP' => {
4fa93b19 1270 'vutil/' => '',
df3ba8e7
FC
1271 '' => 'cpan/version/',
1272 },
4f3a742d
DR
1273 },
1274
4f3a742d 1275 'warnings' => {
099bebb1 1276 'FILES' => q[
4f3a742d 1277 lib/warnings
099bebb1
SH
1278 lib/warnings.{pm,t}
1279 regen/warnings.pl
4f3a742d 1280 t/lib/warnings
099bebb1 1281 ],
4f3a742d
DR
1282 },
1283
4f3a742d 1284 'Win32' => {
083231ea 1285 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1286 'FILES' => q[cpan/Win32],
4f3a742d
DR
1287 },
1288
1289 'Win32API::File' => {
df61f5a9 1290 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1291 'FILES' => q[cpan/Win32API-File],
1292 'EXCLUDED' => [
1293 qr{^ex/},
4f3a742d 1294 ],
4f3a742d
DR
1295 },
1296
4f3a742d 1297 'XSLoader' => {
6f2c9cc3 1298 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1299 'FILES' => q[dist/XSLoader],
1300 'EXCLUDED' => [
1301 qr{^eg/},
57f9caa0
SH
1302 qw( t/00-load.t
1303 t/01-api.t
1304 t/distchk.t
1305 t/pod.t
4f3a742d
DR
1306 t/podcover.t
1307 t/portfs.t
1308 ),
1309 'XSLoader.pm', # we use XSLoader_pm.PL
1310 ],
4f3a742d
DR
1311 },
1312
462ea751
DM
1313 # this pseudo-module represents all the files under ext/ and lib/
1314 # that aren't otherwise claimed. This means that the following two
1315 # commands will check that every file under ext/ and lib/ is
1316 # accounted for, and that there are no duplicates:
1317 #
1318 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1319 # perl Porting/Maintainers --checkmani
462ea751 1320
4f3a742d 1321 '_PERLLIB' => {
2af3c4b9 1322 'FILES' => q[
79852350
AB
1323 ext/Amiga-ARexx/
1324 ext/Amiga-Exec/
09213599 1325 ext/B/
2af3c4b9
SH
1326 ext/Devel-Peek/
1327 ext/DynaLoader/
1328 ext/Errno/
7b4d95f7 1329 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1330 ext/Fcntl/
1331 ext/File-DosGlob/
1332 ext/File-Find/
1333 ext/File-Glob/
1334 ext/FileCache/
1335 ext/GDBM_File/
1336 ext/Hash-Util-FieldHash/
1337 ext/Hash-Util/
1338 ext/I18N-Langinfo/
1339 ext/IPC-Open3/
1340 ext/NDBM_File/
1341 ext/ODBM_File/
1342 ext/Opcode/
1343 ext/POSIX/
1344 ext/PerlIO-encoding/
1345 ext/PerlIO-mmap/
1346 ext/PerlIO-scalar/
1347 ext/PerlIO-via/
1348 ext/Pod-Functions/
1349 ext/Pod-Html/
1350 ext/SDBM_File/
1351 ext/Sys-Hostname/
1352 ext/Tie-Hash-NamedCapture/
1353 ext/Tie-Memoize/
b3dcf775 1354 ext/VMS-DCLsym/
2af3c4b9 1355 ext/VMS-Filespec/
b3dcf775
SH
1356 ext/VMS-Stdio/
1357 ext/Win32CORE/
4f3a742d 1358 ext/XS-APItest/
2af3c4b9
SH
1359 ext/XS-Typemap/
1360 ext/arybase/
1361 ext/attributes/
1362 ext/mro/
1363 ext/re/
1364 lib/AnyDBM_File.{pm,t}
1365 lib/Benchmark.{pm,t}
38eca645 1366 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1367 lib/B/Op_private.pm
4f3a742d 1368 lib/CORE.pod
2af3c4b9 1369 lib/Class/Struct.{pm,t}
4f3a742d
DR
1370 lib/Config.t
1371 lib/Config/Extensions.{pm,t}
1372 lib/DB.{pm,t}
2af3c4b9
SH
1373 lib/DBM_Filter.pm
1374 lib/DBM_Filter/
1375 lib/DirHandle.{pm,t}
1376 lib/English.{pm,t}
4f3a742d
DR
1377 lib/ExtUtils/Embed.pm
1378 lib/ExtUtils/XSSymSet.pm
1379 lib/ExtUtils/t/Embed.t
1380 lib/ExtUtils/typemap
2af3c4b9
SH
1381 lib/File/Basename.{pm,t}
1382 lib/File/Compare.{pm,t}
1383 lib/File/Copy.{pm,t}
1384 lib/File/stat{.pm,.t,-7896.t}
1385 lib/FileHandle.{pm,t}
1386 lib/FindBin.{pm,t}
1387 lib/Getopt/Std.{pm,t}
cb198164 1388 lib/Internals.pod
4f3a742d 1389 lib/Internals.t
4b6af431 1390 lib/meta_notation.{pm,t}
4f3a742d
DR
1391 lib/Net/hostent.{pm,t}
1392 lib/Net/netent.{pm,t}
1393 lib/Net/protoent.{pm,t}
1394 lib/Net/servent.{pm,t}
2af3c4b9 1395 lib/PerlIO.pm
4f3a742d
DR
1396 lib/Pod/t/InputObjects.t
1397 lib/Pod/t/Select.t
1398 lib/Pod/t/Usage.t
4f3a742d
DR
1399 lib/Pod/t/utils.t
1400 lib/SelectSaver.{pm,t}
1401 lib/Symbol.{pm,t}
1402 lib/Thread.{pm,t}
1403 lib/Tie/Array.pm
1404 lib/Tie/Array/
1405 lib/Tie/ExtraHash.t
1406 lib/Tie/Handle.pm
1407 lib/Tie/Handle/
2af3c4b9 1408 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1409 lib/Tie/Scalar.{pm,t}
1410 lib/Tie/StdHandle.pm
1411 lib/Tie/SubstrHash.{pm,t}
1412 lib/Time/gmtime.{pm,t}
1413 lib/Time/localtime.{pm,t}
1414 lib/Time/tm.pm
1415 lib/UNIVERSAL.pm
1416 lib/Unicode/README
2af3c4b9 1417 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1418 lib/User/grent.{pm,t}
1419 lib/User/pwent.{pm,t}
2af3c4b9 1420 lib/_charnames.pm
4f3a742d
DR
1421 lib/blib.{pm,t}
1422 lib/bytes.{pm,t}
1423 lib/bytes_heavy.pl
1424 lib/charnames.{pm,t}
1425 lib/dbm_filter_util.pl
1426 lib/deprecate.pm
2af3c4b9 1427 lib/diagnostics.{pm,t}
4f3a742d
DR
1428 lib/dumpvar.{pl,t}
1429 lib/feature.{pm,t}
1430 lib/feature/
1431 lib/filetest.{pm,t}
1432 lib/h2ph.t
1433 lib/h2xs.t
1434 lib/integer.{pm,t}
1435 lib/less.{pm,t}
1436 lib/locale.{pm,t}
706055ce 1437 lib/locale_threads.t
4f3a742d
DR
1438 lib/open.{pm,t}
1439 lib/overload/numbers.pm
1440 lib/overloading.{pm,t}
2af3c4b9 1441 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1442 lib/perl5db.{pl,t}
1443 lib/perl5db/
a3b4b767 1444 lib/perlbug.t
2af3c4b9 1445 lib/sigtrap.{pm,t}
4f3a742d
DR
1446 lib/sort.{pm,t}
1447 lib/strict.{pm,t}
1448 lib/subs.{pm,t}
1449 lib/unicore/
1450 lib/utf8.{pm,t}
1451 lib/utf8_heavy.pl
1452 lib/vars{.pm,.t,_carp.t}
1453 lib/vmsish.{pm,t}
1454 ],
4f3a742d 1455 },
462ea751 1456);
b128a327 1457
97556ec3 1458# legacy CPAN flag
4f3a742d 1459for ( values %Modules ) {
97556ec3
GA
1460 $_->{CPAN} = !!$_->{DISTRIBUTION};
1461}
1462
099bebb1
SH
1463# legacy UPSTREAM flag
1464for ( keys %Modules ) {
1465 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1466 next if exists $Modules{$_}{UPSTREAM};
1467
1468 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1469 $Modules{$_}{UPSTREAM} = 'blead';
1470 }
1471 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1472 $Modules{$_}{UPSTREAM} = 'cpan';
1473 }
1474 else {
1475 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1476 }
1477}
1478
d350de41 1479# legacy MAINTAINER field
099bebb1 1480for ( keys %Modules ) {
b3dcf775 1481 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1482 next if exists $Modules{$_}{MAINTAINER};
1483
1484 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1485 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1486 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1487 }
099bebb1
SH
1488 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1489 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1490 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1491 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1492 }
099bebb1
SH
1493 else {
1494 warn "No DISTRIBUTION for non-blead module $_";
1495 }
d350de41
SH
1496}
1497
b128a327 14981;