This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update ExtUtils-MakeMaker to CPAN version 7.42
[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' => {
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' => {
0af833d7 210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.093.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' => {
a907f702 222 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.093.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' => {
5225e517 349 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.56.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
dd469d97
SH
378 qw(MD5.xs MD5.pm),
379 qw(Makefile.PL t/files.t)
686a07f4 380 ],
4f3a742d
DR
381 },
382
383 'Digest::SHA' => {
78ce14b4 384 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz',
4f3a742d
DR
385 'FILES' => q[cpan/Digest-SHA],
386 'EXCLUDED' => [
387 qw( t/pod.t
388 t/podcover.t
389 examples/dups
390 ),
391 ],
4f3a742d
DR
392 },
393
4f3a742d 394 'Dumpvalue' => {
f6e46c4d 395 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
396 'FILES' => q[dist/Dumpvalue],
397 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
398 },
399
4f3a742d 400 'Encode' => {
e06f52f0 401 'DISTRIBUTION' => 'DANKOGAI/Encode-3.01.tar.gz',
4f3a742d 402 'FILES' => q[cpan/Encode],
4f3a742d
DR
403 },
404
405 'encoding::warnings' => {
4f3a742d 406 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 407 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
408 'EXCLUDED' => [
409 qr{^inc/Module/},
94c85d8e 410 qw(t/0-signature.t),
4f3a742d 411 ],
4f3a742d
DR
412 },
413
4f3a742d 414 'Env' => {
126fc07f 415 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
416 'FILES' => q[dist/Env],
417 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
418 },
419
de84ff2b 420 'experimental' => {
b4d728a5 421 'DISTRIBUTION' => 'LEONT/experimental-0.020.tar.gz',
de84ff2b 422 'FILES' => q[cpan/experimental],
4fdcb09b 423 'EXCLUDED' => [qr{^xt/}],
5f3202fa
Z
424 'CUSTOMIZED' => [
425 # smartmatch changes
426 't/basic.t',
427 ],
de84ff2b
RS
428 },
429
4f3a742d 430 'Exporter' => {
42b23152 431 'DISTRIBUTION' => 'TODDR/Exporter-5.73.tar.gz',
3110a055 432 'FILES' => q[dist/Exporter],
4f3a742d
DR
433 'EXCLUDED' => [
434 qw( t/pod.t
435 t/use.t
436 ),
437 ],
4f3a742d
DR
438 },
439
440 'ExtUtils::CBuilder' => {
73d55174 441 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280231.tar.gz',
4f3a742d 442 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
443 'EXCLUDED' => [
444 qw(README.mkdn),
445 qr{^xt},
446 ],
4f3a742d
DR
447 },
448
4f3a742d 449 'ExtUtils::Constant' => {
4f3a742d 450
4097fff1 451 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d
DR
452 'FILES' => q[cpan/ExtUtils-Constant],
453 'EXCLUDED' => [
454 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
455 examples/perl_keyword.pl
456 examples/perl_regcomp_posix_keyword.pl
457 ),
34c00cdf 458 ],
4f3a742d
DR
459 },
460
461 'ExtUtils::Install' => {
9de35bb2 462 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz',
d393d7e5 463 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
464 'EXCLUDED' => [
465 qw( t/lib/Test/Builder.pm
466 t/lib/Test/Builder/Module.pm
467 t/lib/Test/More.pm
468 t/lib/Test/Simple.pm
469 t/pod-coverage.t
470 t/pod.t
471 ),
472 ],
4f3a742d
DR
473 },
474
475 'ExtUtils::MakeMaker' => {
fcafb10c 476 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.42.tar.gz',
4f3a742d
DR
477 'FILES' => q[cpan/ExtUtils-MakeMaker],
478 'EXCLUDED' => [
479 qr{^t/lib/Test/},
480 qr{^(bundled|my)/},
481 qr{^t/Liblist_Kid.t},
482 qr{^t/liblist/},
78fd4358 483 qr{^\.perlcriticrc},
84c82da4
SH
484 'PATCHING',
485 'README.packaging',
ce9582af 486 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 487 ],
4f3a742d
DR
488 },
489
490 'ExtUtils::Manifest' => {
1633525e 491 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.72.tar.gz',
854a00d8 492 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
493 'EXCLUDED' => [
494 qr(^t/00-report-prereqs),
495 qr(^xt/)
496 ],
4f3a742d
DR
497 },
498
499 'ExtUtils::ParseXS' => {
1bae5449 500 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
4f3a742d 501 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
502 },
503
4f3a742d 504 'File::Fetch' => {
b6806da1 505 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz',
4f3a742d 506 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
507 },
508
4f3a742d 509 'File::Path' => {
295a484e 510 'DISTRIBUTION' => 'JKEENAN/File-Path-2.16.tar.gz',
4f3a742d
DR
511 'FILES' => q[cpan/File-Path],
512 'EXCLUDED' => [
bfcc9519
SH
513 qw(t/Path-Class.t),
514 qr{^xt/},
4f3a742d 515 ],
4f3a742d
DR
516 },
517
4f3a742d 518 'File::Temp' => {
3b186cdc 519 'DISTRIBUTION' => 'ETHER/File-Temp-0.2309.tar.gz',
4f3a742d
DR
520 'FILES' => q[cpan/File-Temp],
521 'EXCLUDED' => [
6bc10107
SH
522 qw( README.mkdn
523 misc/benchmark.pl
4f3a742d
DR
524 misc/results.txt
525 ),
6bc10107 526 qr[^t/00-report-prereqs],
814e893f 527 qr{^xt},
4f3a742d 528 ],
4f3a742d
DR
529 },
530
4f3a742d 531 'Filter::Simple' => {
e9214465 532 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
533 'FILES' => q[dist/Filter-Simple],
534 'EXCLUDED' => [
4f3a742d
DR
535 qr{^demo/}
536 ],
4f3a742d
DR
537 },
538
539 'Filter::Util::Call' => {
cfaad56a 540 'DISTRIBUTION' => 'RURBAN/Filter-1.59.tar.gz',
4f3a742d
DR
541 'FILES' => q[cpan/Filter-Util-Call
542 pod/perlfilter.pod
543 ],
544 'EXCLUDED' => [
545 qr{^decrypt/},
546 qr{^examples/},
547 qr{^Exec/},
548 qr{^lib/Filter/},
549 qr{^tee/},
ca215658
SH
550 qw( .appveyor.yml
551 Call/Makefile.PL
4f3a742d
DR
552 Call/ppport.h
553 Call/typemap
554 mytest
555 t/cpp.t
556 t/decrypt.t
557 t/exec.t
cfaad56a 558 t/m4.t
4f3a742d 559 t/order.t
4f3a742d
DR
560 t/sh.t
561 t/tee.t
533d93cc 562 t/z_kwalitee.t
e765fd18 563 t/z_manifest.t
533d93cc
SH
564 t/z_meta.t
565 t/z_perl_minimum_version.t
566 t/z_pod-coverage.t
567 t/z_pod.t
4f3a742d
DR
568 ),
569 ],
570 'MAP' => {
e765fd18
SH
571 'Call/' => 'cpan/Filter-Util-Call/',
572 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
573 'perlfilter.pod' => 'pod/perlfilter.pod',
574 '' => 'cpan/Filter-Util-Call/',
4f3a742d 575 },
dd469d97
SH
576 'CUSTOMIZED' => [
577 qw(pod/perlfilter.pod)
578 ],
4f3a742d
DR
579 },
580
3e191967
S
581 'FindBin' => {
582 'DISTRIBUTION' => 'XSAWYERX/FindBin-0.000.tar.gz',
583 'FILES' => q[dist/FindBin],
584 },
585
4f3a742d 586 'Getopt::Long' => {
2f36de81 587 'DISTRIBUTION' => 'JV/Getopt-Long-2.51.tar.gz',
4f3a742d
DR
588 'FILES' => q[cpan/Getopt-Long],
589 'EXCLUDED' => [
590 qr{^examples/},
591 qw( perl-Getopt-Long.spec
592 lib/newgetopt.pl
974d5816 593 t/gol-compat.t
4f3a742d
DR
594 ),
595 ],
4f3a742d
DR
596 },
597
4f3a742d 598 'HTTP::Tiny' => {
3a778cce 599 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.076.tar.gz',
4f3a742d
DR
600 'FILES' => q[cpan/HTTP-Tiny],
601 'EXCLUDED' => [
fcfb9f49 602 't/00-report-prereqs.t',
57d69a40 603 't/00-report-prereqs.dd',
4f3a742d 604 't/200_live.t',
44347bc3 605 't/200_live_local_ip.t',
fcfb9f49 606 't/210_live_ssl.t',
4f3a742d
DR
607 qr/^eg/,
608 qr/^xt/
609 ],
4f3a742d
DR
610 },
611
612 'I18N::Collate' => {
4f3a742d
DR
613 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
614 'FILES' => q[dist/I18N-Collate],
615 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
616 },
617
4f3a742d 618 'I18N::LangTags' => {
4f3a742d 619 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
620 },
621
622 'if' => {
85cede38 623 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 624 'FILES' => q[dist/if],
4f3a742d
DR
625 },
626
627 'IO' => {
f7c93718 628 'DISTRIBUTION' => 'TODDR/IO-1.39.tar.gz',
4f3a742d
DR
629 'FILES' => q[dist/IO/],
630 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
631 },
632
633 'IO-Compress' => {
72b8e1a2 634 'DISTRIBUTION' => 'PMQS/IO-Compress-2.093.tar.gz',
4f3a742d 635 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
636 'EXCLUDED' => [
637 qr{^examples/},
638 qr{^t/Test/},
9f58603c 639 qr{^t/999meta-},
84c82da4
SH
640 't/010examples-bzip2.t',
641 't/010examples-zlib.t',
642 't/cz-05examples.t',
643 ],
4f3a742d
DR
644 },
645
74a30e96 646 'IO::Socket::IP' => {
272643d0 647 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz',
74a30e96
CBW
648 'FILES' => q[cpan/IO-Socket-IP],
649 'EXCLUDED' => [
650 qr{^examples/},
651 ],
652 },
653
4f3a742d 654 'IO::Zlib' => {
4f3a742d
DR
655 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
656 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
657 },
658
659 'IPC::Cmd' => {
dc9ac3ee 660 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz',
4f3a742d 661 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
662 },
663
4f3a742d 664 'IPC::SysV' => {
f38527b2 665 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
666 'FILES' => q[cpan/IPC-SysV],
667 'EXCLUDED' => [
668 qw( const-c.inc
669 const-xs.inc
670 ),
671 ],
4f3a742d
DR
672 },
673
674 'JSON::PP' => {
92050bba 675 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.04.tar.gz',
4f3a742d 676 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
677 },
678
679 'lib' => {
4f3a742d
DR
680 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
681 'FILES' => q[dist/lib/],
682 'EXCLUDED' => [
683 qw( forPAUSE/lib.pm
684 t/00pod.t
685 ),
686 ],
4f3a742d
DR
687 },
688
689 'libnet' => {
8f2f8ba0 690 'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz',
4f3a742d
DR
691 'FILES' => q[cpan/libnet],
692 'EXCLUDED' => [
693 qw( Configure
2901a52f 694 t/changes.t
59e3cdd4
SH
695 t/critic.t
696 t/pod.t
697 t/pod_coverage.t
4f3a742d 698 ),
84c82da4 699 qr(^demos/),
dadfa42f 700 qr(^t/external/),
4f3a742d 701 ],
4f3a742d
DR
702 },
703
4f3a742d 704 'Locale::Maketext' => {
822f029b 705 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.tar.gz',
4f3a742d
DR
706 'FILES' => q[dist/Locale-Maketext],
707 'EXCLUDED' => [
708 qw(
709 perlcriticrc
710 t/00_load.t
711 t/pod.t
712 ),
713 ],
4f3a742d
DR
714 },
715
716 'Locale::Maketext::Simple' => {
4f3a742d
DR
717 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
718 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
719 'CUSTOMIZED' => [
720 # CVE-2016-1238
721 qw( lib/Locale/Maketext/Simple.pm )
722 ],
4f3a742d
DR
723 },
724
4f3a742d 725 'Math::BigInt' => {
83cfb917 726 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999818.tar.gz',
6b0f9b46 727 'FILES' => q[cpan/Math-BigInt],
4f3a742d 728 'EXCLUDED' => [
4f3a742d 729 qr{^examples/},
6b10d254 730 qr{^t/author-},
8729b735 731 qr{^t/release-},
4f3a742d
DR
732 qw( t/00sig.t
733 t/01load.t
4f3a742d
DR
734 ),
735 ],
4f3a742d
DR
736 },
737
738 'Math::BigInt::FastCalc' => {
5ddb873f 739 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5009.tar.gz',
6b0f9b46 740 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 741 'EXCLUDED' => [
d239a8c7 742 qr{^t/author-},
8c2a9132 743 qr{^t/release-},
d239a8c7 744 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
745 qw( t/00sig.t
746 t/01load.t
4f3a742d
DR
747 ),
748
749 # instead we use the versions of these test
750 # files that come with Math::BigInt:
751 qw( t/bigfltpm.inc
752 t/bigfltpm.t
753 t/bigintpm.inc
754 t/bigintpm.t
755 t/mbimbf.inc
756 t/mbimbf.t
757 ),
758 ],
4f3a742d
DR
759 },
760
761 'Math::BigRat' => {
3cc1ad36 762 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2614.tar.gz',
6b0f9b46 763 'FILES' => q[cpan/Math-BigRat],
4f3a742d 764 'EXCLUDED' => [
6320cdc0 765 qr{^t/author-},
3cc1ad36 766 qr{^t/release-},
4f3a742d
DR
767 qw( t/00sig.t
768 t/01load.t
9b331ac6
SH
769 ),
770 ],
4f3a742d
DR
771 },
772
773 'Math::Complex' => {
04ae1553 774 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 775 'FILES' => q[cpan/Math-Complex],
50e27233
JH
776 'CUSTOMIZED' => [
777 'lib/Math/Complex.pm', # CPAN RT 118467
778 't/Complex.t', # CPAN RT 118467
779 't/Trig.t', # CPAN RT 118467
780 ],
4f3a742d
DR
781 'EXCLUDED' => [
782 qw( t/pod.t
783 t/pod-coverage.t
784 ),
785 ],
4f3a742d
DR
786 },
787
788 'Memoize' => {
8114efa0 789 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
790 'FILES' => q[cpan/Memoize],
791 'EXCLUDED' => ['article.html'],
8b56300e
TC
792 'CUSTOMIZED' => [
793 # CVE-2016-1238
794 qw( Memoize.pm )
795 ],
4f3a742d
DR
796 },
797
798 'MIME::Base64' => {
6b10655d 799 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
800 'FILES' => q[cpan/MIME-Base64],
801 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
802 },
803
4f3a742d 804 'Module::CoreList' => {
3c0fb87f 805 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20191120.tar.gz',
4f3a742d 806 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
807 },
808
809 'Module::Load' => {
df562526 810 'DISTRIBUTION' => 'BINGOS/Module-Load-0.34.tar.gz',
4f3a742d 811 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
812 },
813
814 'Module::Load::Conditional' => {
6baaa04b 815 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.70.tar.gz',
4f3a742d 816 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
817 },
818
819 'Module::Loaded' => {
4f3a742d
DR
820 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
821 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
822 },
823
824 'Module::Metadata' => {
c7fb6257 825 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz',
4f3a742d
DR
826 'FILES' => q[cpan/Module-Metadata],
827 'EXCLUDED' => [
b9beed70 828 qw(t/00-report-prereqs.t),
adc2cdfb 829 qw(t/00-report-prereqs.dd),
e6d414a9 830 qr{weaver.ini},
4f3a742d
DR
831 qr{^xt},
832 ],
4f3a742d
DR
833 },
834
4f3a742d 835 'Net::Ping' => {
2e598186 836 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.71.tar.gz',
4f3a742d 837 'FILES' => q[dist/Net-Ping],
773d126d 838 'EXCLUDED' => [
26e9d721 839 qw(README.md.PL),
773d126d
CBW
840 qw(t/020_external.t),
841 qw(t/600_pod.t),
842 qw(t/601_pod-coverage.t),
843 ],
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' => {
f5d75fd0 859 'DISTRIBUTION' => 'CORION/parent-0.237.tar.gz',
4f3a742d 860 'FILES' => q[cpan/parent],
39250dd4
SH
861 'EXCLUDED' => [
862 qr{^xt}
863 ],
4f3a742d
DR
864 },
865
4f3a742d 866 'PathTools' => {
9e3f69e1 867 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.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' => {
a5920160 882 'DISTRIBUTION' => 'ETHER/perlfaq-5.20191102.tar.gz',
97b1d6e6 883 'FILES' => q[cpan/perlfaq],
928a385c 884 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ],
97b1d6e6
SH
885 },
886
4f3a742d 887 'PerlIO::via::QuotedPrint' => {
96623e31 888 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 889 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
890 },
891
0c501878 892 'Pod::Checker' => {
0de6c762 893 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
0c501878 894 'FILES' => q[cpan/Pod-Checker],
2beba2a9
SH
895 'CUSTOMIZED' => [ qw[
896 t/pod/contains_bad_pod.xr
897 t/pod/selfcheck.t
898 t/pod/testcmp.pl
899 t/pod/testpchk.pl
900 ] ],
0c501878
CBW
901 },
902
4f3a742d 903 'Pod::Escapes' => {
f347d3e3 904 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 905 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
906 },
907
4f3a742d 908 'Pod::Perldoc' => {
6aff4bf3 909 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 910 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 911
fa884b76
DM
912 # Note that we use the CPAN-provided Makefile.PL, since it
913 # contains special handling of the installation of perldoc.pod
914
5fddd31d
SH
915 'EXCLUDED' => [
916 # In blead, the perldoc executable is generated by perldoc.PL
917 # instead
918 # XXX We can and should fix this, but clean up the DRY-failure in
919 # utils first
920 'perldoc',
921
922 # https://rt.cpan.org/Ticket/Display.html?id=116827
923 't/02_module_pod_output.t'
924 ],
f2ee4cb8
Z
925
926 'CUSTOMIZED' => [
927 # [rt.cpan.org #88204], [rt.cpan.org #120229]
928 'lib/Pod/Perldoc.pm',
929 ],
4f3a742d
DR
930 },
931
932 'Pod::Simple' => {
92a915ab 933 'DISTRIBUTION' => 'KHW/Pod-Simple-3.40.tar.gz',
4f3a742d 934 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
935 },
936
0c501878 937 'Pod::Usage' => {
3735683b 938 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
0c501878 939 'FILES' => q[cpan/Pod-Usage],
88e4265c
CB
940 'CUSTOMIZED' => [
941 't/pod/testp2pt.pl',
942 ],
0c501878
CBW
943 },
944
4f3a742d 945 'podlators' => {
be26e211 946 'DISTRIBUTION' => 'RRA/podlators-4.12.tar.gz',
4f3a742d 947 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
948 'EXCLUDED' => [
949 qr{^docs/metadata/},
950 ],
4f3a742d 951
4f3a742d
DR
952 'MAP' => {
953 '' => 'cpan/podlators/',
4f3a742d 954 # this file lives outside the cpan/ directory
1efe9157 955 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 956 },
4f3a742d
DR
957 },
958
4f3a742d 959 'Safe' => {
e739c653 960 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 961 'FILES' => q[dist/Safe],
4f3a742d
DR
962 },
963
13bb7c4d 964 'Scalar::Util' => {
bec9d907 965 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.53.tar.gz',
869a9612 966 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
967 },
968
4f3a742d 969 'Search::Dict' => {
0b0a7092 970 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 971 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
972 },
973
974 'SelfLoader' => {
879d999b 975 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
976 'FILES' => q[dist/SelfLoader],
977 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
978 },
979
4f3a742d 980 'Socket' => {
2eb1f907 981 'DISTRIBUTION' => 'PEVANS/Socket-2.029.tar.gz',
4f3a742d 982 'FILES' => q[cpan/Socket],
4f3a742d
DR
983 },
984
985 'Storable' => {
e7e4fc7f 986 'DISTRIBUTION' => 'XSAWYERX/Storable-3.15.tar.gz',
4f3a742d 987 'FILES' => q[dist/Storable],
76250107
SH
988 'EXCLUDED' => [
989 qr{^t/compat/},
990 ],
4f3a742d
DR
991 },
992
4f3a742d 993 'Sys::Syslog' => {
10934390 994 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.36.tar.gz',
4f3a742d
DR
995 'FILES' => q[cpan/Sys-Syslog],
996 'EXCLUDED' => [
997 qr{^eg/},
84c82da4
SH
998 qw( README.win32
999 t/data-validation.t
4f3a742d
DR
1000 t/distchk.t
1001 t/pod.t
1002 t/podcover.t
1003 t/podspell.t
1004 t/portfs.t
1005 win32/PerlLog.RES
4f3a742d
DR
1006 ),
1007 ],
4f3a742d
DR
1008 },
1009
1010 'Term::ANSIColor' => {
93d7ac13 1011 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1012 'FILES' => q[cpan/Term-ANSIColor],
1013 'EXCLUDED' => [
93d7ac13 1014 qr{^docs/},
92f80b37
CBW
1015 qr{^examples/},
1016 qr{^t/data/},
5e64492f
CBW
1017 qr{^t/docs/},
1018 qr{^t/style/},
1019 qw( t/module/aliases-env.t ),
4f3a742d 1020 ],
4f3a742d
DR
1021 },
1022
1023 'Term::Cap' => {
23a75734 1024 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1025 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1026 },
1027
1028 'Term::Complete' => {
4f3a742d
DR
1029 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1030 'FILES' => q[dist/Term-Complete],
1031 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1032 },
1033
1034 'Term::ReadLine' => {
75ad3638 1035 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1036 'FILES' => q[dist/Term-ReadLine],
1037 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1038 },
1039
4f3a742d 1040 'Test' => {
1c22e001 1041 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1042 'FILES' => q[dist/Test],
4f3a742d
DR
1043 },
1044
1045 'Test::Harness' => {
158ffeeb 1046 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1047 'FILES' => q[cpan/Test-Harness],
1048 'EXCLUDED' => [
1049 qr{^examples/},
4f3a742d
DR
1050 qr{^xt/},
1051 qw( Changes-2.64
8db65552 1052 MANIFEST.CUMMULATIVE
4f3a742d
DR
1053 HACKING.pod
1054 perlcriticrc
8db65552 1055 t/000-load.t
4f3a742d
DR
1056 t/lib/if.pm
1057 ),
1058 ],
4f3a742d
DR
1059 },
1060
1061 'Test::Simple' => {
62fc0889 1062 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302170.tar.gz',
4f3a742d
DR
1063 'FILES' => q[cpan/Test-Simple],
1064 'EXCLUDED' => [
0b4ffce6
SH
1065 qr{^examples/},
1066 qr{^xt/},
022600ce 1067 qw( appveyor.yml
80a7dd19 1068 t/00compile.t
c6a6e1c8
CG
1069 t/00-report.t
1070 t/zzz-check-breaks.t
4f3a742d
DR
1071 ),
1072 ],
f266b743 1073 },
4f3a742d
DR
1074
1075 'Text::Abbrev' => {
5e96eee9 1076 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1077 'FILES' => q[dist/Text-Abbrev],
1078 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1079 },
1080
1081 'Text::Balanced' => {
03a97c81 1082 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1083 'FILES' => q[cpan/Text-Balanced],
1084 'EXCLUDED' => [
1085 qw( t/97_meta.t
1086 t/98_pod.t
1087 t/99_pmv.t
1088 ),
1089 ],
4f3a742d
DR
1090 },
1091
1092 'Text::ParseWords' => {
a790e348 1093 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1094 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1095 },
1096
4f3a742d 1097 'Text-Tabs+Wrap' => {
83aea42c 1098 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1099 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1100 'EXCLUDED' => [
1101 qr/^lib\.old/,
1102 't/dnsparks.t', # see af6492bf9e
4f3a742d 1103 ],
e7b92d54
SH
1104 'MAP' => {
1105 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1106 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1107 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1108 },
4f3a742d
DR
1109 },
1110
4e75700d
AC
1111 # Jerry Hedden does take patches that are applied to blead first, even
1112 # though that can be hard to discern from the Git history; so it's
1113 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1114 # to be under dist/ rather than cpan/
4f3a742d 1115 'Thread::Queue' => {
e1578db3 1116 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz',
4f3a742d
DR
1117 'FILES' => q[dist/Thread-Queue],
1118 'EXCLUDED' => [
1fd4700e
JH
1119 qr{^examples/},
1120 qw( t/00_load.t
4f3a742d
DR
1121 t/99_pod.t
1122 t/test.pl
1123 ),
1124 ],
4f3a742d
DR
1125 },
1126
1127 'Thread::Semaphore' => {
51068c14 1128 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1129 'FILES' => q[dist/Thread-Semaphore],
1130 'EXCLUDED' => [
1131 qw( examples/semaphore.pl
1132 t/00_load.t
1133 t/99_pod.t
1134 t/test.pl
1135 ),
1136 ],
4f3a742d
DR
1137 },
1138
1139 'threads' => {
40e3ceea 1140 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1141 'FILES' => q[dist/threads],
1142 'EXCLUDED' => [
1143 qr{^examples/},
1144 qw( t/pod.t
1145 t/test.pl
1146 threads.h
1147 ),
1148 ],
4f3a742d
DR
1149 },
1150
1151 'threads::shared' => {
fdfb42a0 1152 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz',
4f3a742d
DR
1153 'FILES' => q[dist/threads-shared],
1154 'EXCLUDED' => [
1155 qw( examples/class.pl
1156 shared.h
1157 t/pod.t
1158 t/test.pl
1159 ),
1160 ],
4f3a742d
DR
1161 },
1162
1163 'Tie::File' => {
4ac9c666 1164 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1165 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1166 },
1167
4f3a742d 1168 'Tie::RefHash' => {
4f3a742d
DR
1169 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1170 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1171 },
1172
1173 'Time::HiRes' => {
b6125dfc 1174 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9760.tar.gz',
91ba54d4 1175 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1176 },
1177
1178 'Time::Local' => {
d82c4df6 1179 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.28.tar.gz',
4f3a742d
DR
1180 'FILES' => q[cpan/Time-Local],
1181 'EXCLUDED' => [
cc890588 1182 qr{^xt/},
d82c4df6
SH
1183 qw( appveyor.yml
1184 perlcriticrc
cc890588
SH
1185 perltidyrc
1186 tidyall.ini
1187 t/00-report-prereqs.t
1188 t/00-report-prereqs.dd
1189 ),
4f3a742d 1190 ],
4f3a742d
DR
1191 },
1192
1193 'Time::Piece' => {
9d890bee 1194 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.33.tar.gz',
4f3a742d 1195 'FILES' => q[cpan/Time-Piece],
fd481c17 1196 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1197 },
1198
1199 'Unicode::Collate' => {
6330ea69 1200 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.27.tar.gz',
4f3a742d
DR
1201 'FILES' => q[cpan/Unicode-Collate],
1202 'EXCLUDED' => [
1203 qr{N$},
1204 qr{^data/},
1205 qr{^gendata/},
1206 qw( disableXS
1207 enableXS
1208 mklocale
1209 ),
1210 ],
4f3a742d
DR
1211 },
1212
1213 'Unicode::Normalize' => {
d339f061 1214 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz',
3baae3fa 1215 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1216 'EXCLUDED' => [
1217 qw( MANIFEST.N
1218 Normalize.pmN
1219 disableXS
1220 enableXS
1221 ),
1222 ],
4f3a742d
DR
1223 },
1224
4f3a742d 1225 'version' => {
c9137fab 1226 'DISTRIBUTION' => 'JPEACOCK/version-0.9924.tar.gz',
4fa93b19 1227 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1228 'EXCLUDED' => [
df3ba8e7 1229 qr{^vutil/lib/},
c60b4fa6 1230 'vutil/Makefile.PL',
df3ba8e7
FC
1231 'vutil/ppport.h',
1232 'vutil/vxs.xs',
ce9582af 1233 't/00impl-pp.t',
4f3a742d 1234 't/survey_locales',
d1e81356 1235 'vperl/vpp.pm',
4f3a742d 1236 ],
f81a37f2 1237
c872d591
SH
1238 # When adding the CPAN-distributed files for version.pm, it is necessary
1239 # to delete an entire block out of lib/version.pm, since that code is
1240 # only necessary with the CPAN release.
f81a37f2
SH
1241 'CUSTOMIZED' => [
1242 qw( lib/version.pm
fd8a724d 1243 vutil.c
f81a37f2
SH
1244 ),
1245 ],
1246
df3ba8e7 1247 'MAP' => {
4fa93b19 1248 'vutil/' => '',
df3ba8e7
FC
1249 '' => 'cpan/version/',
1250 },
4f3a742d
DR
1251 },
1252
4f3a742d 1253 'warnings' => {
099bebb1 1254 'FILES' => q[
4f3a742d 1255 lib/warnings
099bebb1
SH
1256 lib/warnings.{pm,t}
1257 regen/warnings.pl
4f3a742d 1258 t/lib/warnings
099bebb1 1259 ],
4f3a742d
DR
1260 },
1261
4f3a742d 1262 'Win32' => {
95f2d795 1263 'DISTRIBUTION' => "JDB/Win32-0.53.tar.gz",
4f3a742d 1264 'FILES' => q[cpan/Win32],
4f3a742d
DR
1265 },
1266
1267 'Win32API::File' => {
df61f5a9 1268 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1269 'FILES' => q[cpan/Win32API-File],
1270 'EXCLUDED' => [
1271 qr{^ex/},
4f3a742d 1272 ],
6177f132
DIM
1273 # https://rt.cpan.org/Ticket/Display.html?id=127837
1274 'CUSTOMIZED' => [
1275 qw( File.pm
1276 File.xs
1277 ),
1278 ],
4f3a742d
DR
1279 },
1280
4f3a742d 1281 'XSLoader' => {
6f2c9cc3 1282 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1283 'FILES' => q[dist/XSLoader],
1284 'EXCLUDED' => [
1285 qr{^eg/},
57f9caa0
SH
1286 qw( t/00-load.t
1287 t/01-api.t
1288 t/distchk.t
1289 t/pod.t
4f3a742d
DR
1290 t/podcover.t
1291 t/portfs.t
1292 ),
1293 'XSLoader.pm', # we use XSLoader_pm.PL
1294 ],
4f3a742d
DR
1295 },
1296
462ea751
DM
1297 # this pseudo-module represents all the files under ext/ and lib/
1298 # that aren't otherwise claimed. This means that the following two
1299 # commands will check that every file under ext/ and lib/ is
1300 # accounted for, and that there are no duplicates:
1301 #
1302 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1303 # perl Porting/Maintainers --checkmani
462ea751 1304
4f3a742d 1305 '_PERLLIB' => {
2af3c4b9 1306 'FILES' => q[
79852350
AB
1307 ext/Amiga-ARexx/
1308 ext/Amiga-Exec/
09213599 1309 ext/B/
2af3c4b9
SH
1310 ext/Devel-Peek/
1311 ext/DynaLoader/
1312 ext/Errno/
7b4d95f7 1313 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1314 ext/Fcntl/
1315 ext/File-DosGlob/
1316 ext/File-Find/
1317 ext/File-Glob/
1318 ext/FileCache/
1319 ext/GDBM_File/
1320 ext/Hash-Util-FieldHash/
1321 ext/Hash-Util/
1322 ext/I18N-Langinfo/
1323 ext/IPC-Open3/
1324 ext/NDBM_File/
1325 ext/ODBM_File/
1326 ext/Opcode/
1327 ext/POSIX/
1328 ext/PerlIO-encoding/
1329 ext/PerlIO-mmap/
1330 ext/PerlIO-scalar/
1331 ext/PerlIO-via/
1332 ext/Pod-Functions/
1333 ext/Pod-Html/
1334 ext/SDBM_File/
1335 ext/Sys-Hostname/
1336 ext/Tie-Hash-NamedCapture/
1337 ext/Tie-Memoize/
b3dcf775 1338 ext/VMS-DCLsym/
2af3c4b9 1339 ext/VMS-Filespec/
b3dcf775
SH
1340 ext/VMS-Stdio/
1341 ext/Win32CORE/
4f3a742d 1342 ext/XS-APItest/
2af3c4b9 1343 ext/XS-Typemap/
2af3c4b9
SH
1344 ext/attributes/
1345 ext/mro/
1346 ext/re/
1347 lib/AnyDBM_File.{pm,t}
1348 lib/Benchmark.{pm,t}
38eca645 1349 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1350 lib/B/Op_private.pm
4f3a742d 1351 lib/CORE.pod
2af3c4b9 1352 lib/Class/Struct.{pm,t}
4f3a742d
DR
1353 lib/Config.t
1354 lib/Config/Extensions.{pm,t}
1355 lib/DB.{pm,t}
2af3c4b9
SH
1356 lib/DBM_Filter.pm
1357 lib/DBM_Filter/
1358 lib/DirHandle.{pm,t}
1359 lib/English.{pm,t}
4f3a742d
DR
1360 lib/ExtUtils/Embed.pm
1361 lib/ExtUtils/XSSymSet.pm
1362 lib/ExtUtils/t/Embed.t
1363 lib/ExtUtils/typemap
2af3c4b9
SH
1364 lib/File/Basename.{pm,t}
1365 lib/File/Compare.{pm,t}
1366 lib/File/Copy.{pm,t}
1367 lib/File/stat{.pm,.t,-7896.t}
1368 lib/FileHandle.{pm,t}
2af3c4b9 1369 lib/Getopt/Std.{pm,t}
cb198164 1370 lib/Internals.pod
4f3a742d 1371 lib/Internals.t
4b6af431 1372 lib/meta_notation.{pm,t}
4f3a742d
DR
1373 lib/Net/hostent.{pm,t}
1374 lib/Net/netent.{pm,t}
1375 lib/Net/protoent.{pm,t}
1376 lib/Net/servent.{pm,t}
2af3c4b9 1377 lib/PerlIO.pm
4f3a742d 1378 lib/Pod/t/Usage.t
4f3a742d
DR
1379 lib/SelectSaver.{pm,t}
1380 lib/Symbol.{pm,t}
1381 lib/Thread.{pm,t}
1382 lib/Tie/Array.pm
1383 lib/Tie/Array/
1384 lib/Tie/ExtraHash.t
1385 lib/Tie/Handle.pm
1386 lib/Tie/Handle/
2af3c4b9 1387 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1388 lib/Tie/Scalar.{pm,t}
1389 lib/Tie/StdHandle.pm
1390 lib/Tie/SubstrHash.{pm,t}
1391 lib/Time/gmtime.{pm,t}
1392 lib/Time/localtime.{pm,t}
1393 lib/Time/tm.pm
1394 lib/UNIVERSAL.pm
1395 lib/Unicode/README
2af3c4b9 1396 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1397 lib/User/grent.{pm,t}
1398 lib/User/pwent.{pm,t}
2af3c4b9 1399 lib/_charnames.pm
4f3a742d
DR
1400 lib/blib.{pm,t}
1401 lib/bytes.{pm,t}
1402 lib/bytes_heavy.pl
1403 lib/charnames.{pm,t}
1404 lib/dbm_filter_util.pl
1405 lib/deprecate.pm
2af3c4b9 1406 lib/diagnostics.{pm,t}
4f3a742d
DR
1407 lib/dumpvar.{pl,t}
1408 lib/feature.{pm,t}
1409 lib/feature/
1410 lib/filetest.{pm,t}
1411 lib/h2ph.t
1412 lib/h2xs.t
1413 lib/integer.{pm,t}
1414 lib/less.{pm,t}
1415 lib/locale.{pm,t}
706055ce 1416 lib/locale_threads.t
4f3a742d
DR
1417 lib/open.{pm,t}
1418 lib/overload/numbers.pm
1419 lib/overloading.{pm,t}
2af3c4b9 1420 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1421 lib/perl5db.{pl,t}
1422 lib/perl5db/
a3b4b767 1423 lib/perlbug.t
2af3c4b9 1424 lib/sigtrap.{pm,t}
4f3a742d
DR
1425 lib/sort.{pm,t}
1426 lib/strict.{pm,t}
1427 lib/subs.{pm,t}
1428 lib/unicore/
1429 lib/utf8.{pm,t}
4f3a742d
DR
1430 lib/vars{.pm,.t,_carp.t}
1431 lib/vmsish.{pm,t}
1432 ],
4f3a742d 1433 },
462ea751 1434);
b128a327 1435
97556ec3 1436# legacy CPAN flag
4f3a742d 1437for ( values %Modules ) {
97556ec3
GA
1438 $_->{CPAN} = !!$_->{DISTRIBUTION};
1439}
1440
099bebb1
SH
1441# legacy UPSTREAM flag
1442for ( keys %Modules ) {
1443 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1444 next if exists $Modules{$_}{UPSTREAM};
1445
1446 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1447 $Modules{$_}{UPSTREAM} = 'blead';
1448 }
1449 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1450 $Modules{$_}{UPSTREAM} = 'cpan';
1451 }
1452 else {
1453 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1454 }
1455}
1456
d350de41 1457# legacy MAINTAINER field
099bebb1 1458for ( keys %Modules ) {
b3dcf775 1459 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1460 next if exists $Modules{$_}{MAINTAINER};
1461
1462 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1463 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1464 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1465 }
099bebb1
SH
1466 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1467 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1468 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1469 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1470 }
099bebb1
SH
1471 else {
1472 warn "No DISTRIBUTION for non-blead module $_";
1473 }
d350de41
SH
1474}
1475
b128a327 14761;