This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Math::BigInt::FastCalc from version 0.5008 to 0.5009
[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
20d6f799
KE
68# necessarily match the newest version on CPAN. (For dist/ distributions,
69# which are blead-first, a request should be placed with the releaser(s) to
70# upload the corresponding cpan release, and the entry in this file should
71# only be updated when that release has been done.)
a55d270d 72
2c95b6e4
DM
73# EXCLUDED is a list of files to be excluded from a CPAN tarball before
74# comparing the remaining contents with core. Each item can either be a
75# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
76# It defaults to the empty list.
77
d43babf1 78# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
79# Perl core. Use this whenever patching a cpan upstream distribution
80# or whenever we expect to have a file that differs from the tarball.
81# If the file in blead matches the file in the tarball from CPAN,
82# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 83# customization might have been lost when updating from upstream. The
f81a37f2
SH
84# path should be relative to the distribution directory. If the upstream
85# distribution should be modified to incorporate the change then be sure
86# to raise a ticket for it on rt.cpan.org and add a comment alongside the
87# list of CUSTOMIZED files noting the ticket number.
d43babf1 88
ab87ca4d
DG
89# DEPRECATED contains the *first* version of Perl in which the module
90# was considered deprecated. It should only be present if the module is
8dad89f0 91# actually deprecated. Such modules should use deprecate.pm to
ab87ca4d
DG
92# issue a warning if used. E.g.:
93#
94# use if $] >= 5.011, 'deprecate';
95#
96
2c95b6e4 97# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 98# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
99# first. The first match causes that prefix to be replaced with the
100# corresponding key. For example, with the following MAP:
613f422f 101# {
4f3a742d
DR
102# 'lib/' => 'lib/',
103# '' => 'lib/Foo/',
2c95b6e4
DM
104# },
105#
106# these files are mapped as shown:
107#
108# README becomes lib/Foo/README
613f422f 109# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
110#
111# The default is dependent on the type of module.
112# For distributions which appear to be stored under ext/, it defaults to:
113#
114# { '' => 'ext/Foo-Bar/' }
115#
116# otherwise, it's
117#
613f422f 118# {
4f3a742d
DR
119# 'lib/' => 'lib/',
120# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
121# }
122
b128a327
JH
123%Modules = (
124
4f3a742d 125 'Archive::Tar' => {
8f6fa66c 126 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.32.tar.gz',
4f3a742d 127 'FILES' => q[cpan/Archive-Tar],
4f3a742d 128 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
129 'EXCLUDED' => [
130 qw(t/07_ptardiff.t),
131 ],
4f3a742d
DR
132 },
133
134 'Attribute::Handlers' => {
e8b9cef0 135 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 136 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
137 },
138
4f3a742d 139 'autodie' => {
dc013420 140 'DISTRIBUTION' => 'PJF/autodie-2.29.tar.gz',
4f3a742d
DR
141 'FILES' => q[cpan/autodie],
142 'EXCLUDED' => [
273225d4 143 qr{benchmarks},
f91d7e0d 144 qr{README\.md},
4f3a742d
DR
145 # All these tests depend upon external
146 # modules that don't exist when we're
147 # building the core. Hence, they can
148 # never run, and should not be merged.
ff4ad1c0 149 qw( t/author-critic.t
4f3a742d
DR
150 t/critic.t
151 t/fork.t
152 t/kwalitee.t
153 t/lex58.t
154 t/pod-coverage.t
155 t/pod.t
273225d4
CBW
156 t/release-pod-coverage.t
157 t/release-pod-syntax.t
4f3a742d
DR
158 t/socket.t
159 t/system.t
160 )
161 ],
5f3202fa
Z
162 'CUSTOMIZED' => [
163 # CPAN RT 105344
164 't/mkdir.t',
165 # smartmatch changes
166 'lib/autodie/exception.pm',
167 'lib/autodie/hints.pm',
168 't/exceptions.t',
169 't/lib/Hints_pod_examples.pm',
109cfdf5
KE
170 # CPAN RT#127762
171 't/recv.t',
5f3202fa 172 ],
4f3a742d
DR
173 },
174
175 'AutoLoader' => {
dff36865 176 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
177 'FILES' => q[cpan/AutoLoader],
178 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
179 },
180
181 'autouse' => {
965f9517 182 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
4f3a742d
DR
183 'FILES' => q[dist/autouse],
184 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
185 },
186
4f3a742d 187 'base' => {
4c13dc7e 188 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 189 'FILES' => q[dist/base],
4f3a742d
DR
190 },
191
4f3a742d 192 'bignum' => {
405fd651 193 'DISTRIBUTION' => 'PJACKLAM/bignum-0.51.tar.gz',
c287fe32 194 'FILES' => q[cpan/bignum],
4f3a742d 195 'EXCLUDED' => [
91f07087 196 qr{^t/author-},
d5c196da 197 qr{^t/release-},
c287fe32
SH
198 qw( t/00sig.t
199 t/01load.t
4f3a742d
DR
200 ),
201 ],
4f3a742d
DR
202 },
203
204 'Carp' => {
9e3f69e1 205 'DISTRIBUTION' => 'XSAWYERX/Carp-1.50.tar.gz',
4f3a742d 206 'FILES' => q[dist/Carp],
4f3a742d
DR
207 },
208
4f3a742d 209 'Compress::Raw::Bzip2' => {
8e832d25 210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.087.tar.gz',
4f3a742d
DR
211 'FILES' => q[cpan/Compress-Raw-Bzip2],
212 'EXCLUDED' => [
213 qr{^t/Test/},
8284a71c 214 qr{^t/meta},
65b62fea 215 'bzip2-src/bzip2-const.patch',
4f3a742d 216 'bzip2-src/bzip2-cpp.patch',
65b62fea 217 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 218 ],
4f3a742d
DR
219 },
220
221 'Compress::Raw::Zlib' => {
5fda5294 222 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.087.tar.gz',
4f3a742d
DR
223 'FILES' => q[cpan/Compress-Raw-Zlib],
224 'EXCLUDED' => [
84c82da4 225 qr{^examples/},
4f3a742d 226 qr{^t/Test/},
8284a71c 227 qr{^t/meta},
4f3a742d
DR
228 qw( t/000prereq.t
229 t/99pod.t
230 ),
231 ],
4f3a742d
DR
232 },
233
4b07058c 234 'Config::Perl::V' => {
72b2b1d9 235 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.31.tgz',
4b07058c 236 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
237 'EXCLUDED' => [qw(
238 examples/show-v.pl
b4ade012 239 )],
aff33f21 240 'CUSTOMIZED' => [ qw(V.pm) ],
4b07058c
RS
241 },
242
4f3a742d 243 'constant' => {
8b1ae794 244 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
245 'FILES' => q[dist/constant],
246 'EXCLUDED' => [
247 qw( t/00-load.t
248 t/more-tests.t
249 t/pod-coverage.t
250 t/pod.t
251 eg/synopsis.pl
252 ),
253 ],
4f3a742d
DR
254 },
255
256 'CPAN' => {
5cf88abd 257 'DISTRIBUTION' => 'ANDK/CPAN-2.27-TRIAL2.tar.gz',
4f3a742d
DR
258 'FILES' => q[cpan/CPAN],
259 'EXCLUDED' => [
260 qr{^distroprefs/},
261 qr{^inc/Test/},
45a13884
SH
262 qr{^t/CPAN/},
263 qr{^t/data/},
79116533 264 qr{^t/97-},
4f3a742d 265 qw( lib/CPAN/Admin.pm
6156383d 266 scripts/cpan-mirrors
bfae5bde 267 PAUSE2015.pub
6cc23b5a 268 PAUSE2019.pub
4f3a742d
DR
269 SlayMakefile
270 t/00signature.t
271 t/04clean_load.t
272 t/12cpan.t
273 t/13tarzip.t
274 t/14forkbomb.t
275 t/30shell.coverage
276 t/30shell.t
277 t/31sessions.t
278 t/41distribution.t
279 t/42distroprefs.t
280 t/43distroprefspref.t
45a13884 281 t/44cpanmeta.t
4f3a742d
DR
282 t/50pod.t
283 t/51pod.t
284 t/52podcover.t
285 t/60credentials.t
286 t/70_critic.t
bfae5bde 287 t/71_minimumversion.t
4f3a742d
DR
288 t/local_utils.pm
289 t/perlcriticrc
290 t/yaml_code.yml
291 ),
292 ],
4f3a742d
DR
293 },
294
278337cd
CBW
295 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
296 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 297 'CPAN::Meta' => {
f33f0562 298 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
4f3a742d
DR
299 'FILES' => q[cpan/CPAN-Meta],
300 'EXCLUDED' => [
f907dd3c
SH
301 qw[t/00-report-prereqs.t
302 t/00-report-prereqs.dd
f33f0562 303 ],
4f3a742d
DR
304 qr{^xt},
305 qr{^history},
306 ],
4f3a742d
DR
307 },
308
b6ae0ea7 309 'CPAN::Meta::Requirements' => {
054d0c99 310 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
311 'FILES' => q[cpan/CPAN-Meta-Requirements],
312 'EXCLUDED' => [
c4814040 313 qw(t/00-report-prereqs.t),
54b7cb30 314 qw(t/00-report-prereqs.dd),
608e531f 315 qw(t/version-cleanup.t),
b6ae0ea7 316 qr{^xt},
b6ae0ea7 317 ],
b6ae0ea7
CBW
318 },
319
4f3a742d 320 'CPAN::Meta::YAML' => {
0d99ea03 321 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
322 'FILES' => q[cpan/CPAN-Meta-YAML],
323 'EXCLUDED' => [
2954a1e9 324 't/00-report-prereqs.t',
e586de20 325 't/00-report-prereqs.dd',
4f3a742d
DR
326 qr{^xt},
327 ],
4f3a742d
DR
328 },
329
330 'Data::Dumper' => {
42b23152 331 'DISTRIBUTION' => 'XSAWYERX/Data-Dumper-2.173.tar.gz',
4f3a742d 332 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
333 },
334
335 'DB_File' => {
1e3f5c47 336 'DISTRIBUTION' => 'PMQS/DB_File-1.852.tar.gz',
4f3a742d
DR
337 'FILES' => q[cpan/DB_File],
338 'EXCLUDED' => [
339 qr{^patches/},
1e3f5c47 340 qr{^t/meta},
4f3a742d
DR
341 qw( t/pod.t
342 fallback.h
343 fallback.xs
344 ),
345 ],
4f3a742d
DR
346 },
347
4f3a742d 348 'Devel::PPPort' => {
c72549cc 349 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.52.tar.gz',
7baf245a 350 'FILES' => q[dist/Devel-PPPort],
84c82da4
SH
351 'EXCLUDED' => [
352 'PPPort.pm', # we use PPPort_pm.PL instead
bb20cabd 353 ],
4f3a742d
DR
354 },
355
97b1d6e6 356 'Devel::SelfStubber' => {
97b1d6e6
SH
357 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
358 'FILES' => q[dist/Devel-SelfStubber],
359 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
360 },
361
4f3a742d 362 'Digest' => {
4f3a742d
DR
363 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
364 'FILES' => q[cpan/Digest],
365 'EXCLUDED' => ['digest-bench'],
8b56300e
TC
366 'CUSTOMIZED' => [
367 # CVE-2016-1238
368 qw( Digest.pm )
369 ],
4f3a742d
DR
370 },
371
372 'Digest::MD5' => {
05a6ec77 373 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
4f3a742d
DR
374 'FILES' => q[cpan/Digest-MD5],
375 'EXCLUDED' => ['rfc1321.txt'],
686a07f4
TC
376 'CUSTOMIZED' => [
377 # RT #133495
378 qw(MD5.xs MD5.pm)
379 ],
4f3a742d
DR
380 },
381
382 'Digest::SHA' => {
78ce14b4 383 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz',
4f3a742d
DR
384 'FILES' => q[cpan/Digest-SHA],
385 'EXCLUDED' => [
386 qw( t/pod.t
387 t/podcover.t
388 examples/dups
389 ),
390 ],
4f3a742d
DR
391 },
392
4f3a742d 393 'Dumpvalue' => {
f6e46c4d 394 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
395 'FILES' => q[dist/Dumpvalue],
396 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
397 },
398
4f3a742d 399 'Encode' => {
e06f52f0 400 'DISTRIBUTION' => 'DANKOGAI/Encode-3.01.tar.gz',
4f3a742d 401 'FILES' => q[cpan/Encode],
4f3a742d
DR
402 },
403
404 'encoding::warnings' => {
4f3a742d 405 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 406 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
407 'EXCLUDED' => [
408 qr{^inc/Module/},
94c85d8e 409 qw(t/0-signature.t),
4f3a742d 410 ],
4f3a742d
DR
411 },
412
4f3a742d 413 'Env' => {
126fc07f 414 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
415 'FILES' => q[dist/Env],
416 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
417 },
418
de84ff2b 419 'experimental' => {
b4d728a5 420 'DISTRIBUTION' => 'LEONT/experimental-0.020.tar.gz',
de84ff2b 421 'FILES' => q[cpan/experimental],
4fdcb09b 422 'EXCLUDED' => [qr{^xt/}],
5f3202fa
Z
423 'CUSTOMIZED' => [
424 # smartmatch changes
425 't/basic.t',
426 ],
de84ff2b
RS
427 },
428
4f3a742d 429 'Exporter' => {
42b23152 430 'DISTRIBUTION' => 'TODDR/Exporter-5.73.tar.gz',
3110a055 431 'FILES' => q[dist/Exporter],
4f3a742d
DR
432 'EXCLUDED' => [
433 qw( t/pod.t
434 t/use.t
435 ),
436 ],
4f3a742d
DR
437 },
438
439 'ExtUtils::CBuilder' => {
73d55174 440 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280231.tar.gz',
4f3a742d 441 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
442 'EXCLUDED' => [
443 qw(README.mkdn),
444 qr{^xt},
445 ],
4f3a742d
DR
446 },
447
4f3a742d 448 'ExtUtils::Constant' => {
4f3a742d 449
4097fff1 450 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d
DR
451 'FILES' => q[cpan/ExtUtils-Constant],
452 'EXCLUDED' => [
453 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
454 examples/perl_keyword.pl
455 examples/perl_regcomp_posix_keyword.pl
456 ),
34c00cdf 457 ],
4f3a742d
DR
458 },
459
460 'ExtUtils::Install' => {
9de35bb2 461 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz',
d393d7e5 462 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
463 'EXCLUDED' => [
464 qw( t/lib/Test/Builder.pm
465 t/lib/Test/Builder/Module.pm
466 t/lib/Test/More.pm
467 t/lib/Test/Simple.pm
468 t/pod-coverage.t
469 t/pod.t
470 ),
471 ],
4f3a742d
DR
472 },
473
474 'ExtUtils::MakeMaker' => {
9bbd51b7 475 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.38.tar.gz',
4f3a742d
DR
476 'FILES' => q[cpan/ExtUtils-MakeMaker],
477 'EXCLUDED' => [
478 qr{^t/lib/Test/},
479 qr{^(bundled|my)/},
480 qr{^t/Liblist_Kid.t},
481 qr{^t/liblist/},
78fd4358 482 qr{^\.perlcriticrc},
84c82da4
SH
483 'PATCHING',
484 'README.packaging',
ce9582af 485 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 486 ],
4f3a742d
DR
487 },
488
489 'ExtUtils::Manifest' => {
1633525e 490 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.72.tar.gz',
854a00d8 491 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
492 'EXCLUDED' => [
493 qr(^t/00-report-prereqs),
494 qr(^xt/)
495 ],
4f3a742d
DR
496 },
497
498 'ExtUtils::ParseXS' => {
1bae5449 499 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
4f3a742d 500 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
501 },
502
4f3a742d 503 'File::Fetch' => {
b6806da1 504 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz',
4f3a742d 505 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
506 },
507
4f3a742d 508 'File::Path' => {
295a484e 509 'DISTRIBUTION' => 'JKEENAN/File-Path-2.16.tar.gz',
4f3a742d
DR
510 'FILES' => q[cpan/File-Path],
511 'EXCLUDED' => [
bfcc9519
SH
512 qw(t/Path-Class.t),
513 qr{^xt/},
4f3a742d 514 ],
4f3a742d
DR
515 },
516
4f3a742d 517 'File::Temp' => {
3b186cdc 518 'DISTRIBUTION' => 'ETHER/File-Temp-0.2309.tar.gz',
4f3a742d
DR
519 'FILES' => q[cpan/File-Temp],
520 'EXCLUDED' => [
6bc10107
SH
521 qw( README.mkdn
522 misc/benchmark.pl
4f3a742d
DR
523 misc/results.txt
524 ),
6bc10107 525 qr[^t/00-report-prereqs],
814e893f 526 qr{^xt},
4f3a742d 527 ],
4f3a742d
DR
528 },
529
4f3a742d 530 'Filter::Simple' => {
e9214465 531 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
532 'FILES' => q[dist/Filter-Simple],
533 'EXCLUDED' => [
4f3a742d
DR
534 qr{^demo/}
535 ],
4f3a742d
DR
536 },
537
538 'Filter::Util::Call' => {
cfaad56a 539 'DISTRIBUTION' => 'RURBAN/Filter-1.59.tar.gz',
4f3a742d
DR
540 'FILES' => q[cpan/Filter-Util-Call
541 pod/perlfilter.pod
542 ],
543 'EXCLUDED' => [
544 qr{^decrypt/},
545 qr{^examples/},
546 qr{^Exec/},
547 qr{^lib/Filter/},
548 qr{^tee/},
ca215658
SH
549 qw( .appveyor.yml
550 Call/Makefile.PL
4f3a742d
DR
551 Call/ppport.h
552 Call/typemap
553 mytest
554 t/cpp.t
555 t/decrypt.t
556 t/exec.t
cfaad56a 557 t/m4.t
4f3a742d 558 t/order.t
4f3a742d
DR
559 t/sh.t
560 t/tee.t
533d93cc 561 t/z_kwalitee.t
e765fd18 562 t/z_manifest.t
533d93cc
SH
563 t/z_meta.t
564 t/z_perl_minimum_version.t
565 t/z_pod-coverage.t
566 t/z_pod.t
4f3a742d
DR
567 ),
568 ],
569 'MAP' => {
e765fd18
SH
570 'Call/' => 'cpan/Filter-Util-Call/',
571 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
572 'perlfilter.pod' => 'pod/perlfilter.pod',
573 '' => 'cpan/Filter-Util-Call/',
4f3a742d 574 },
4f3a742d
DR
575 },
576
4f3a742d 577 'Getopt::Long' => {
2f36de81 578 'DISTRIBUTION' => 'JV/Getopt-Long-2.51.tar.gz',
4f3a742d
DR
579 'FILES' => q[cpan/Getopt-Long],
580 'EXCLUDED' => [
581 qr{^examples/},
582 qw( perl-Getopt-Long.spec
583 lib/newgetopt.pl
974d5816 584 t/gol-compat.t
4f3a742d
DR
585 ),
586 ],
4f3a742d
DR
587 },
588
4f3a742d 589 'HTTP::Tiny' => {
3a778cce 590 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.076.tar.gz',
4f3a742d
DR
591 'FILES' => q[cpan/HTTP-Tiny],
592 'EXCLUDED' => [
fcfb9f49 593 't/00-report-prereqs.t',
57d69a40 594 't/00-report-prereqs.dd',
4f3a742d 595 't/200_live.t',
44347bc3 596 't/200_live_local_ip.t',
fcfb9f49 597 't/210_live_ssl.t',
4f3a742d
DR
598 qr/^eg/,
599 qr/^xt/
600 ],
4f3a742d
DR
601 },
602
603 'I18N::Collate' => {
4f3a742d
DR
604 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
605 'FILES' => q[dist/I18N-Collate],
606 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
607 },
608
4f3a742d 609 'I18N::LangTags' => {
4f3a742d 610 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
611 },
612
613 'if' => {
85cede38 614 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 615 'FILES' => q[dist/if],
4f3a742d
DR
616 },
617
618 'IO' => {
f7c93718 619 'DISTRIBUTION' => 'TODDR/IO-1.39.tar.gz',
4f3a742d
DR
620 'FILES' => q[dist/IO/],
621 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
622 },
623
624 'IO-Compress' => {
afd070d3 625 'DISTRIBUTION' => 'PMQS/IO-Compress-2.087.tar.gz',
4f3a742d 626 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
627 'EXCLUDED' => [
628 qr{^examples/},
629 qr{^t/Test/},
9f58603c 630 qr{^t/999meta-},
84c82da4
SH
631 't/010examples-bzip2.t',
632 't/010examples-zlib.t',
633 't/cz-05examples.t',
634 ],
4f3a742d
DR
635 },
636
74a30e96 637 'IO::Socket::IP' => {
272643d0 638 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz',
74a30e96
CBW
639 'FILES' => q[cpan/IO-Socket-IP],
640 'EXCLUDED' => [
641 qr{^examples/},
642 ],
643 },
644
4f3a742d 645 'IO::Zlib' => {
4f3a742d
DR
646 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
647 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
648 },
649
650 'IPC::Cmd' => {
dc9ac3ee 651 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz',
4f3a742d 652 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
653 },
654
4f3a742d 655 'IPC::SysV' => {
f38527b2 656 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
657 'FILES' => q[cpan/IPC-SysV],
658 'EXCLUDED' => [
659 qw( const-c.inc
660 const-xs.inc
661 ),
662 ],
4f3a742d
DR
663 },
664
665 'JSON::PP' => {
92050bba 666 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.04.tar.gz',
4f3a742d 667 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
668 },
669
670 'lib' => {
4f3a742d
DR
671 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
672 'FILES' => q[dist/lib/],
673 'EXCLUDED' => [
674 qw( forPAUSE/lib.pm
675 t/00pod.t
676 ),
677 ],
4f3a742d
DR
678 },
679
680 'libnet' => {
8f2f8ba0 681 'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz',
4f3a742d
DR
682 'FILES' => q[cpan/libnet],
683 'EXCLUDED' => [
684 qw( Configure
2901a52f 685 t/changes.t
59e3cdd4
SH
686 t/critic.t
687 t/pod.t
688 t/pod_coverage.t
4f3a742d 689 ),
84c82da4 690 qr(^demos/),
dadfa42f 691 qr(^t/external/),
4f3a742d 692 ],
4f3a742d
DR
693 },
694
4f3a742d 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' => {
669a1300 717 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999817.tar.gz',
6b0f9b46 718 'FILES' => q[cpan/Math-BigInt],
4f3a742d 719 'EXCLUDED' => [
4f3a742d 720 qr{^examples/},
6b10d254 721 qr{^t/author-},
8729b735 722 qr{^t/release-},
4f3a742d
DR
723 qw( t/00sig.t
724 t/01load.t
4f3a742d
DR
725 ),
726 ],
4f3a742d
DR
727 },
728
729 'Math::BigInt::FastCalc' => {
5ddb873f 730 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5009.tar.gz',
6b0f9b46 731 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 732 'EXCLUDED' => [
d239a8c7 733 qr{^t/author-},
8c2a9132 734 qr{^t/release-},
d239a8c7 735 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
736 qw( t/00sig.t
737 t/01load.t
4f3a742d
DR
738 ),
739
740 # instead we use the versions of these test
741 # files that come with Math::BigInt:
742 qw( t/bigfltpm.inc
743 t/bigfltpm.t
744 t/bigintpm.inc
745 t/bigintpm.t
746 t/mbimbf.inc
747 t/mbimbf.t
748 ),
749 ],
4f3a742d
DR
750 },
751
752 'Math::BigRat' => {
3cc1ad36 753 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2614.tar.gz',
6b0f9b46 754 'FILES' => q[cpan/Math-BigRat],
4f3a742d 755 'EXCLUDED' => [
6320cdc0 756 qr{^t/author-},
3cc1ad36 757 qr{^t/release-},
4f3a742d
DR
758 qw( t/00sig.t
759 t/01load.t
9b331ac6
SH
760 ),
761 ],
4f3a742d
DR
762 },
763
764 'Math::Complex' => {
04ae1553 765 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 766 'FILES' => q[cpan/Math-Complex],
50e27233
JH
767 'CUSTOMIZED' => [
768 'lib/Math/Complex.pm', # CPAN RT 118467
769 't/Complex.t', # CPAN RT 118467
770 't/Trig.t', # CPAN RT 118467
771 ],
4f3a742d
DR
772 'EXCLUDED' => [
773 qw( t/pod.t
774 t/pod-coverage.t
775 ),
776 ],
4f3a742d
DR
777 },
778
779 'Memoize' => {
8114efa0 780 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
781 'FILES' => q[cpan/Memoize],
782 'EXCLUDED' => ['article.html'],
8b56300e
TC
783 'CUSTOMIZED' => [
784 # CVE-2016-1238
785 qw( Memoize.pm )
786 ],
4f3a742d
DR
787 },
788
789 'MIME::Base64' => {
6b10655d 790 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
791 'FILES' => q[cpan/MIME-Base64],
792 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
793 },
794
4f3a742d 795 'Module::CoreList' => {
3e14cc16 796 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20190920.tar.gz',
4f3a742d 797 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
798 },
799
800 'Module::Load' => {
df562526 801 'DISTRIBUTION' => 'BINGOS/Module-Load-0.34.tar.gz',
4f3a742d 802 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
803 },
804
805 'Module::Load::Conditional' => {
2c34ec1b 806 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz',
4f3a742d 807 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
808 },
809
810 'Module::Loaded' => {
4f3a742d
DR
811 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
812 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
813 },
814
815 'Module::Metadata' => {
c7fb6257 816 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz',
4f3a742d
DR
817 'FILES' => q[cpan/Module-Metadata],
818 'EXCLUDED' => [
b9beed70 819 qw(t/00-report-prereqs.t),
adc2cdfb 820 qw(t/00-report-prereqs.dd),
e6d414a9 821 qr{weaver.ini},
4f3a742d
DR
822 qr{^xt},
823 ],
4f3a742d
DR
824 },
825
4f3a742d 826 'Net::Ping' => {
2e598186 827 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.71.tar.gz',
4f3a742d 828 'FILES' => q[dist/Net-Ping],
773d126d 829 'EXCLUDED' => [
26e9d721 830 qw(README.md.PL),
773d126d
CBW
831 qw(t/020_external.t),
832 qw(t/600_pod.t),
833 qw(t/601_pod-coverage.t),
834 ],
4f3a742d
DR
835 },
836
837 'NEXT' => {
c8321e06 838 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
4f3a742d
DR
839 'FILES' => q[cpan/NEXT],
840 'EXCLUDED' => [qr{^demo/}],
ffd1c688 841 'CUSTOMIZED' => [ qw(lib/NEXT.pm t/next.t) ],
4f3a742d
DR
842 },
843
4f3a742d 844 'Params::Check' => {
8b21fa03 845 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 846 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
847 },
848
849 'parent' => {
f5d75fd0 850 'DISTRIBUTION' => 'CORION/parent-0.237.tar.gz',
4f3a742d 851 'FILES' => q[cpan/parent],
39250dd4
SH
852 'EXCLUDED' => [
853 qr{^xt}
854 ],
4f3a742d
DR
855 },
856
4f3a742d 857 'PathTools' => {
9e3f69e1 858 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.tar.gz',
cb8c8458 859 'FILES' => q[dist/PathTools],
76250107
SH
860 'EXCLUDED' => [
861 qr{^t/lib/Test/},
862 qw( t/rel2abs_vs_symlink.t),
863 ],
4f3a742d
DR
864 },
865
97b1d6e6 866 'Perl::OSType' => {
ea8e5adc 867 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 868 'FILES' => q[cpan/Perl-OSType],
765955c0 869 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
870 },
871
97b1d6e6 872 'perlfaq' => {
257870a6 873 'DISTRIBUTION' => 'ETHER/perlfaq-5.20190126.tar.gz',
97b1d6e6 874 'FILES' => q[cpan/perlfaq],
928a385c 875 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ],
97b1d6e6
SH
876 },
877
4f3a742d 878 'PerlIO::via::QuotedPrint' => {
96623e31 879 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 880 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
881 },
882
0c501878 883 'Pod::Checker' => {
0de6c762 884 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
0c501878 885 'FILES' => q[cpan/Pod-Checker],
2beba2a9
SH
886 'CUSTOMIZED' => [ qw[
887 t/pod/contains_bad_pod.xr
888 t/pod/selfcheck.t
889 t/pod/testcmp.pl
890 t/pod/testpchk.pl
891 ] ],
0c501878
CBW
892 },
893
4f3a742d 894 'Pod::Escapes' => {
f347d3e3 895 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 896 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
897 },
898
4f3a742d 899 'Pod::Perldoc' => {
6aff4bf3 900 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 901 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 902
fa884b76
DM
903 # Note that we use the CPAN-provided Makefile.PL, since it
904 # contains special handling of the installation of perldoc.pod
905
5fddd31d
SH
906 'EXCLUDED' => [
907 # In blead, the perldoc executable is generated by perldoc.PL
908 # instead
909 # XXX We can and should fix this, but clean up the DRY-failure in
910 # utils first
911 'perldoc',
912
913 # https://rt.cpan.org/Ticket/Display.html?id=116827
914 't/02_module_pod_output.t'
915 ],
f2ee4cb8
Z
916
917 'CUSTOMIZED' => [
918 # [rt.cpan.org #88204], [rt.cpan.org #120229]
919 'lib/Pod/Perldoc.pm',
920 ],
4f3a742d
DR
921 },
922
923 'Pod::Simple' => {
f2667158 924 'DISTRIBUTION' => 'KHW/Pod-Simple-3.39.tar.gz',
4f3a742d 925 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
926 },
927
0c501878 928 'Pod::Usage' => {
3735683b 929 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
0c501878 930 'FILES' => q[cpan/Pod-Usage],
88e4265c
CB
931 'CUSTOMIZED' => [
932 't/pod/testp2pt.pl',
933 ],
0c501878
CBW
934 },
935
4f3a742d 936 'podlators' => {
be26e211 937 'DISTRIBUTION' => 'RRA/podlators-4.12.tar.gz',
4f3a742d 938 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
939 'EXCLUDED' => [
940 qr{^docs/metadata/},
941 ],
4f3a742d 942
4f3a742d
DR
943 'MAP' => {
944 '' => 'cpan/podlators/',
4f3a742d 945 # this file lives outside the cpan/ directory
1efe9157 946 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 947 },
4f3a742d
DR
948 },
949
4f3a742d 950 'Safe' => {
e739c653 951 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 952 'FILES' => q[dist/Safe],
4f3a742d
DR
953 },
954
13bb7c4d 955 'Scalar::Util' => {
2ad8e1fa 956 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.52.tar.gz',
869a9612 957 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
958 },
959
4f3a742d 960 'Search::Dict' => {
0b0a7092 961 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 962 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
963 },
964
965 'SelfLoader' => {
879d999b 966 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
967 'FILES' => q[dist/SelfLoader],
968 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
969 },
970
4f3a742d 971 'Socket' => {
2eb1f907 972 'DISTRIBUTION' => 'PEVANS/Socket-2.029.tar.gz',
4f3a742d 973 'FILES' => q[cpan/Socket],
4f3a742d
DR
974 },
975
976 'Storable' => {
e7e4fc7f 977 'DISTRIBUTION' => 'XSAWYERX/Storable-3.15.tar.gz',
4f3a742d 978 'FILES' => q[dist/Storable],
76250107
SH
979 'EXCLUDED' => [
980 qr{^t/compat/},
981 ],
4f3a742d
DR
982 },
983
4f3a742d 984 'Sys::Syslog' => {
9f0af693 985 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
4f3a742d
DR
986 'FILES' => q[cpan/Sys-Syslog],
987 'EXCLUDED' => [
988 qr{^eg/},
84c82da4
SH
989 qw( README.win32
990 t/data-validation.t
4f3a742d
DR
991 t/distchk.t
992 t/pod.t
993 t/podcover.t
994 t/podspell.t
995 t/portfs.t
996 win32/PerlLog.RES
4f3a742d
DR
997 ),
998 ],
4f3a742d
DR
999 },
1000
1001 'Term::ANSIColor' => {
93d7ac13 1002 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1003 'FILES' => q[cpan/Term-ANSIColor],
1004 'EXCLUDED' => [
93d7ac13 1005 qr{^docs/},
92f80b37
CBW
1006 qr{^examples/},
1007 qr{^t/data/},
5e64492f
CBW
1008 qr{^t/docs/},
1009 qr{^t/style/},
1010 qw( t/module/aliases-env.t ),
4f3a742d 1011 ],
4f3a742d
DR
1012 },
1013
1014 'Term::Cap' => {
23a75734 1015 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1016 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1017 },
1018
1019 'Term::Complete' => {
4f3a742d
DR
1020 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1021 'FILES' => q[dist/Term-Complete],
1022 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1023 },
1024
1025 'Term::ReadLine' => {
75ad3638 1026 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1027 'FILES' => q[dist/Term-ReadLine],
1028 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1029 },
1030
4f3a742d 1031 'Test' => {
1c22e001 1032 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1033 'FILES' => q[dist/Test],
4f3a742d
DR
1034 },
1035
1036 'Test::Harness' => {
158ffeeb 1037 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1038 'FILES' => q[cpan/Test-Harness],
1039 'EXCLUDED' => [
1040 qr{^examples/},
4f3a742d
DR
1041 qr{^xt/},
1042 qw( Changes-2.64
8db65552 1043 MANIFEST.CUMMULATIVE
4f3a742d
DR
1044 HACKING.pod
1045 perlcriticrc
8db65552 1046 t/000-load.t
4f3a742d
DR
1047 t/lib/if.pm
1048 ),
1049 ],
4f3a742d
DR
1050 },
1051
1052 'Test::Simple' => {
00ea29f1 1053 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302168.tar.gz',
4f3a742d
DR
1054 'FILES' => q[cpan/Test-Simple],
1055 'EXCLUDED' => [
0b4ffce6
SH
1056 qr{^examples/},
1057 qr{^xt/},
022600ce 1058 qw( appveyor.yml
80a7dd19 1059 t/00compile.t
c6a6e1c8
CG
1060 t/00-report.t
1061 t/zzz-check-breaks.t
4f3a742d
DR
1062 ),
1063 ],
f266b743 1064 },
4f3a742d
DR
1065
1066 'Text::Abbrev' => {
5e96eee9 1067 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1068 'FILES' => q[dist/Text-Abbrev],
1069 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1070 },
1071
1072 'Text::Balanced' => {
03a97c81 1073 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1074 'FILES' => q[cpan/Text-Balanced],
1075 'EXCLUDED' => [
1076 qw( t/97_meta.t
1077 t/98_pod.t
1078 t/99_pmv.t
1079 ),
1080 ],
4f3a742d
DR
1081 },
1082
1083 'Text::ParseWords' => {
a790e348 1084 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1085 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1086 },
1087
4f3a742d 1088 'Text-Tabs+Wrap' => {
83aea42c 1089 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1090 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1091 'EXCLUDED' => [
1092 qr/^lib\.old/,
1093 't/dnsparks.t', # see af6492bf9e
4f3a742d 1094 ],
e7b92d54
SH
1095 'MAP' => {
1096 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1097 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1098 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1099 },
4f3a742d
DR
1100 },
1101
4e75700d
AC
1102 # Jerry Hedden does take patches that are applied to blead first, even
1103 # though that can be hard to discern from the Git history; so it's
1104 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1105 # to be under dist/ rather than cpan/
4f3a742d 1106 'Thread::Queue' => {
e1578db3 1107 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz',
4f3a742d
DR
1108 'FILES' => q[dist/Thread-Queue],
1109 'EXCLUDED' => [
1fd4700e
JH
1110 qr{^examples/},
1111 qw( t/00_load.t
4f3a742d
DR
1112 t/99_pod.t
1113 t/test.pl
1114 ),
1115 ],
4f3a742d
DR
1116 },
1117
1118 'Thread::Semaphore' => {
51068c14 1119 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1120 'FILES' => q[dist/Thread-Semaphore],
1121 'EXCLUDED' => [
1122 qw( examples/semaphore.pl
1123 t/00_load.t
1124 t/99_pod.t
1125 t/test.pl
1126 ),
1127 ],
4f3a742d
DR
1128 },
1129
1130 'threads' => {
40e3ceea 1131 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1132 'FILES' => q[dist/threads],
1133 'EXCLUDED' => [
1134 qr{^examples/},
1135 qw( t/pod.t
1136 t/test.pl
1137 threads.h
1138 ),
1139 ],
4f3a742d
DR
1140 },
1141
1142 'threads::shared' => {
fdfb42a0 1143 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz',
4f3a742d
DR
1144 'FILES' => q[dist/threads-shared],
1145 'EXCLUDED' => [
1146 qw( examples/class.pl
1147 shared.h
1148 t/pod.t
1149 t/test.pl
1150 ),
1151 ],
4f3a742d
DR
1152 },
1153
1154 'Tie::File' => {
4ac9c666 1155 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1156 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1157 },
1158
4f3a742d 1159 'Tie::RefHash' => {
4f3a742d
DR
1160 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1161 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1162 },
1163
1164 'Time::HiRes' => {
b6125dfc 1165 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9760.tar.gz',
91ba54d4 1166 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1167 },
1168
1169 'Time::Local' => {
d82c4df6 1170 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.28.tar.gz',
4f3a742d
DR
1171 'FILES' => q[cpan/Time-Local],
1172 'EXCLUDED' => [
cc890588 1173 qr{^xt/},
d82c4df6
SH
1174 qw( appveyor.yml
1175 perlcriticrc
cc890588
SH
1176 perltidyrc
1177 tidyall.ini
1178 t/00-report-prereqs.t
1179 t/00-report-prereqs.dd
1180 ),
4f3a742d 1181 ],
4f3a742d
DR
1182 },
1183
1184 'Time::Piece' => {
9d890bee 1185 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.33.tar.gz',
4f3a742d 1186 'FILES' => q[cpan/Time-Piece],
fd481c17 1187 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1188 },
1189
1190 'Unicode::Collate' => {
6330ea69 1191 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.27.tar.gz',
4f3a742d
DR
1192 'FILES' => q[cpan/Unicode-Collate],
1193 'EXCLUDED' => [
1194 qr{N$},
1195 qr{^data/},
1196 qr{^gendata/},
1197 qw( disableXS
1198 enableXS
1199 mklocale
1200 ),
1201 ],
4f3a742d
DR
1202 },
1203
1204 'Unicode::Normalize' => {
d339f061 1205 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz',
3baae3fa 1206 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1207 'EXCLUDED' => [
1208 qw( MANIFEST.N
1209 Normalize.pmN
1210 disableXS
1211 enableXS
1212 ),
1213 ],
4f3a742d
DR
1214 },
1215
4f3a742d 1216 'version' => {
c9137fab 1217 'DISTRIBUTION' => 'JPEACOCK/version-0.9924.tar.gz',
4fa93b19 1218 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1219 'EXCLUDED' => [
df3ba8e7 1220 qr{^vutil/lib/},
c60b4fa6 1221 'vutil/Makefile.PL',
df3ba8e7
FC
1222 'vutil/ppport.h',
1223 'vutil/vxs.xs',
ce9582af 1224 't/00impl-pp.t',
4f3a742d 1225 't/survey_locales',
d1e81356 1226 'vperl/vpp.pm',
4f3a742d 1227 ],
f81a37f2 1228
c872d591
SH
1229 # When adding the CPAN-distributed files for version.pm, it is necessary
1230 # to delete an entire block out of lib/version.pm, since that code is
1231 # only necessary with the CPAN release.
f81a37f2
SH
1232 'CUSTOMIZED' => [
1233 qw( lib/version.pm
fd8a724d 1234 vutil.c
f81a37f2
SH
1235 ),
1236 ],
1237
df3ba8e7 1238 'MAP' => {
4fa93b19 1239 'vutil/' => '',
df3ba8e7
FC
1240 '' => 'cpan/version/',
1241 },
4f3a742d
DR
1242 },
1243
4f3a742d 1244 'warnings' => {
099bebb1 1245 'FILES' => q[
4f3a742d 1246 lib/warnings
099bebb1
SH
1247 lib/warnings.{pm,t}
1248 regen/warnings.pl
4f3a742d 1249 t/lib/warnings
099bebb1 1250 ],
4f3a742d
DR
1251 },
1252
4f3a742d 1253 'Win32' => {
95f2d795 1254 'DISTRIBUTION' => "JDB/Win32-0.53.tar.gz",
4f3a742d 1255 'FILES' => q[cpan/Win32],
4f3a742d
DR
1256 },
1257
1258 'Win32API::File' => {
df61f5a9 1259 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1260 'FILES' => q[cpan/Win32API-File],
1261 'EXCLUDED' => [
1262 qr{^ex/},
4f3a742d 1263 ],
4f3a742d
DR
1264 },
1265
4f3a742d 1266 'XSLoader' => {
6f2c9cc3 1267 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1268 'FILES' => q[dist/XSLoader],
1269 'EXCLUDED' => [
1270 qr{^eg/},
57f9caa0
SH
1271 qw( t/00-load.t
1272 t/01-api.t
1273 t/distchk.t
1274 t/pod.t
4f3a742d
DR
1275 t/podcover.t
1276 t/portfs.t
1277 ),
1278 'XSLoader.pm', # we use XSLoader_pm.PL
1279 ],
4f3a742d
DR
1280 },
1281
462ea751
DM
1282 # this pseudo-module represents all the files under ext/ and lib/
1283 # that aren't otherwise claimed. This means that the following two
1284 # commands will check that every file under ext/ and lib/ is
1285 # accounted for, and that there are no duplicates:
1286 #
1287 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1288 # perl Porting/Maintainers --checkmani
462ea751 1289
4f3a742d 1290 '_PERLLIB' => {
2af3c4b9 1291 'FILES' => q[
79852350
AB
1292 ext/Amiga-ARexx/
1293 ext/Amiga-Exec/
09213599 1294 ext/B/
2af3c4b9
SH
1295 ext/Devel-Peek/
1296 ext/DynaLoader/
1297 ext/Errno/
7b4d95f7 1298 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1299 ext/Fcntl/
1300 ext/File-DosGlob/
1301 ext/File-Find/
1302 ext/File-Glob/
1303 ext/FileCache/
1304 ext/GDBM_File/
1305 ext/Hash-Util-FieldHash/
1306 ext/Hash-Util/
1307 ext/I18N-Langinfo/
1308 ext/IPC-Open3/
1309 ext/NDBM_File/
1310 ext/ODBM_File/
1311 ext/Opcode/
1312 ext/POSIX/
1313 ext/PerlIO-encoding/
1314 ext/PerlIO-mmap/
1315 ext/PerlIO-scalar/
1316 ext/PerlIO-via/
1317 ext/Pod-Functions/
1318 ext/Pod-Html/
1319 ext/SDBM_File/
1320 ext/Sys-Hostname/
1321 ext/Tie-Hash-NamedCapture/
1322 ext/Tie-Memoize/
b3dcf775 1323 ext/VMS-DCLsym/
2af3c4b9 1324 ext/VMS-Filespec/
b3dcf775
SH
1325 ext/VMS-Stdio/
1326 ext/Win32CORE/
4f3a742d 1327 ext/XS-APItest/
2af3c4b9 1328 ext/XS-Typemap/
2af3c4b9
SH
1329 ext/attributes/
1330 ext/mro/
1331 ext/re/
1332 lib/AnyDBM_File.{pm,t}
1333 lib/Benchmark.{pm,t}
38eca645 1334 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1335 lib/B/Op_private.pm
4f3a742d 1336 lib/CORE.pod
2af3c4b9 1337 lib/Class/Struct.{pm,t}
4f3a742d
DR
1338 lib/Config.t
1339 lib/Config/Extensions.{pm,t}
1340 lib/DB.{pm,t}
2af3c4b9
SH
1341 lib/DBM_Filter.pm
1342 lib/DBM_Filter/
1343 lib/DirHandle.{pm,t}
1344 lib/English.{pm,t}
4f3a742d
DR
1345 lib/ExtUtils/Embed.pm
1346 lib/ExtUtils/XSSymSet.pm
1347 lib/ExtUtils/t/Embed.t
1348 lib/ExtUtils/typemap
2af3c4b9
SH
1349 lib/File/Basename.{pm,t}
1350 lib/File/Compare.{pm,t}
1351 lib/File/Copy.{pm,t}
1352 lib/File/stat{.pm,.t,-7896.t}
1353 lib/FileHandle.{pm,t}
1354 lib/FindBin.{pm,t}
1355 lib/Getopt/Std.{pm,t}
cb198164 1356 lib/Internals.pod
4f3a742d 1357 lib/Internals.t
4b6af431 1358 lib/meta_notation.{pm,t}
4f3a742d
DR
1359 lib/Net/hostent.{pm,t}
1360 lib/Net/netent.{pm,t}
1361 lib/Net/protoent.{pm,t}
1362 lib/Net/servent.{pm,t}
2af3c4b9 1363 lib/PerlIO.pm
4f3a742d 1364 lib/Pod/t/Usage.t
4f3a742d
DR
1365 lib/SelectSaver.{pm,t}
1366 lib/Symbol.{pm,t}
1367 lib/Thread.{pm,t}
1368 lib/Tie/Array.pm
1369 lib/Tie/Array/
1370 lib/Tie/ExtraHash.t
1371 lib/Tie/Handle.pm
1372 lib/Tie/Handle/
2af3c4b9 1373 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1374 lib/Tie/Scalar.{pm,t}
1375 lib/Tie/StdHandle.pm
1376 lib/Tie/SubstrHash.{pm,t}
1377 lib/Time/gmtime.{pm,t}
1378 lib/Time/localtime.{pm,t}
1379 lib/Time/tm.pm
1380 lib/UNIVERSAL.pm
1381 lib/Unicode/README
2af3c4b9 1382 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1383 lib/User/grent.{pm,t}
1384 lib/User/pwent.{pm,t}
2af3c4b9 1385 lib/_charnames.pm
4f3a742d
DR
1386 lib/blib.{pm,t}
1387 lib/bytes.{pm,t}
1388 lib/bytes_heavy.pl
1389 lib/charnames.{pm,t}
1390 lib/dbm_filter_util.pl
1391 lib/deprecate.pm
2af3c4b9 1392 lib/diagnostics.{pm,t}
4f3a742d
DR
1393 lib/dumpvar.{pl,t}
1394 lib/feature.{pm,t}
1395 lib/feature/
1396 lib/filetest.{pm,t}
1397 lib/h2ph.t
1398 lib/h2xs.t
1399 lib/integer.{pm,t}
1400 lib/less.{pm,t}
1401 lib/locale.{pm,t}
706055ce 1402 lib/locale_threads.t
4f3a742d
DR
1403 lib/open.{pm,t}
1404 lib/overload/numbers.pm
1405 lib/overloading.{pm,t}
2af3c4b9 1406 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1407 lib/perl5db.{pl,t}
1408 lib/perl5db/
a3b4b767 1409 lib/perlbug.t
2af3c4b9 1410 lib/sigtrap.{pm,t}
4f3a742d
DR
1411 lib/sort.{pm,t}
1412 lib/strict.{pm,t}
1413 lib/subs.{pm,t}
1414 lib/unicore/
1415 lib/utf8.{pm,t}
1416 lib/utf8_heavy.pl
1417 lib/vars{.pm,.t,_carp.t}
1418 lib/vmsish.{pm,t}
1419 ],
4f3a742d 1420 },
462ea751 1421);
b128a327 1422
97556ec3 1423# legacy CPAN flag
4f3a742d 1424for ( values %Modules ) {
97556ec3
GA
1425 $_->{CPAN} = !!$_->{DISTRIBUTION};
1426}
1427
099bebb1
SH
1428# legacy UPSTREAM flag
1429for ( keys %Modules ) {
1430 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1431 next if exists $Modules{$_}{UPSTREAM};
1432
1433 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1434 $Modules{$_}{UPSTREAM} = 'blead';
1435 }
1436 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1437 $Modules{$_}{UPSTREAM} = 'cpan';
1438 }
1439 else {
1440 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1441 }
1442}
1443
d350de41 1444# legacy MAINTAINER field
099bebb1 1445for ( keys %Modules ) {
b3dcf775 1446 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1447 next if exists $Modules{$_}{MAINTAINER};
1448
1449 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1450 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1451 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1452 }
099bebb1
SH
1453 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1454 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1455 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1456 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1457 }
099bebb1
SH
1458 else {
1459 warn "No DISTRIBUTION for non-blead module $_";
1460 }
d350de41
SH
1461}
1462
b128a327 14631;