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