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