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