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