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