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