This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
ExtUtils-Constant is synced with version 0.25
[perl5.git] / Porting / Maintainers.pl
CommitLineData
1f00b0d6 1#!perl
c9fe4ea1
JH
2# A simple listing of core files that have specific maintainers,
3# or at least someone that can be called an "interested party".
4# Also, a "module" does not necessarily mean a CPAN module, it
5# might mean a file or files or a subdirectory.
6# Most (but not all) of the modules have dual lives in the core
97556ec3 7# and in CPAN.
b128a327 8
0cf51544
JH
9package Maintainers;
10
cdad3b53 11use utf8;
9b9b4b79
NC
12use File::Glob qw(:case);
13
2c95b6e4
DM
14# IGNORABLE: files which, if they appear in the root of a CPAN
15# distribution, need not appear in core (i.e. core-cpan-diff won't
16# complain if it can't find them)
17
18@IGNORABLE = qw(
d3bd9fae 19 .cvsignore .dualLivedDiffConfig .gitignore .perlcriticrc .perltidyrc
4d25f022 20 .travis.yml ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
9cd8e8a5
MB
21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.md
22 CONTRIBUTING.mkdn COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY
23 INSTALL INSTALL.SKIP LICENCE LICENSE Makefile.PL MANIFEST MANIFEST.SKIP
24 META.json META.yml MYMETA.json MYMETA.yml NEW NEWS NOTES perlcritic.rc
25 ppport.h README README.md README.pod README.PATCHING SIGNATURE THANKS TODO
26 Todo VERSION WHATSNEW
2c95b6e4
DM
27);
28
e30e10b5 29# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 30# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
31# CPAN distribution.
32
33# The keys of %Modules are human descriptions of the distributions, and
34# may not exactly match a module or distribution name. Distributions
35# which have an obvious top-level module associated with them will usually
36# have a key named for that module, e.g. 'Archive::Extract' for
37# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
38# on the name of the distribution, e.g. 'Locale-Codes' for
39# Locale-Codes-N.NN.tar.gz'.
d350de41 40
099bebb1
SH
41# UPSTREAM indicates where patches should go. This is generally now
42# inferred from the FILES: modules with files in dist/, ext/ and lib/
43# are understood to have UPSTREAM 'blead', meaning that the copy of the
44# module in the blead sources is to be considered canonical, while
45# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
46# meaning that the module on CPAN is to be patched first.
47
b3dcf775
SH
48# MAINTAINER has previously been used to indicate who the current maintainer
49# of the module is, but this is no longer stated explicitly. It is now
50# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
51# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
a40258e5 52# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-2.00.tar.gz'.
b3dcf775
SH
53# (PAUSE's View Permissions page may be consulted to find other authors who
54# have owner or co-maint permissions for the module in question.)
d350de41 55
e30e10b5
DM
56# FILES is a list of filenames, glob patterns, and directory
57# names to be recursed down, which collectively generate a complete list
58# of the files associated with the distribution.
59
e1466347
JC
60# BUGS is an email or url to post bug reports. For modules with
61# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
62# appears to automatically provide a URL for CPAN modules; any value
63# given here overrides the default:
64# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
65
a55d270d
DM
66# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
67# included in core are derived from. Note that the file's version may not
68# necessarily match the newest version on CPAN.
69
2c95b6e4
DM
70# EXCLUDED is a list of files to be excluded from a CPAN tarball before
71# comparing the remaining contents with core. Each item can either be a
72# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
73# It defaults to the empty list.
74
d43babf1 75# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
76# Perl core. Use this whenever patching a cpan upstream distribution
77# or whenever we expect to have a file that differs from the tarball.
78# If the file in blead matches the file in the tarball from CPAN,
79# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 80# customization might have been lost when updating from upstream. The
f81a37f2
SH
81# path should be relative to the distribution directory. If the upstream
82# distribution should be modified to incorporate the change then be sure
83# to raise a ticket for it on rt.cpan.org and add a comment alongside the
84# list of CUSTOMIZED files noting the ticket number.
d43babf1 85
ab87ca4d
DG
86# DEPRECATED contains the *first* version of Perl in which the module
87# was considered deprecated. It should only be present if the module is
8dad89f0 88# actually deprecated. Such modules should use deprecate.pm to
ab87ca4d
DG
89# issue a warning if used. E.g.:
90#
91# use if $] >= 5.011, 'deprecate';
92#
93
2c95b6e4 94# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 95# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
96# first. The first match causes that prefix to be replaced with the
97# corresponding key. For example, with the following MAP:
613f422f 98# {
4f3a742d
DR
99# 'lib/' => 'lib/',
100# '' => 'lib/Foo/',
2c95b6e4
DM
101# },
102#
103# these files are mapped as shown:
104#
105# README becomes lib/Foo/README
613f422f 106# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
107#
108# The default is dependent on the type of module.
109# For distributions which appear to be stored under ext/, it defaults to:
110#
111# { '' => 'ext/Foo-Bar/' }
112#
113# otherwise, it's
114#
613f422f 115# {
4f3a742d
DR
116# 'lib/' => 'lib/',
117# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
118# }
119
b128a327
JH
120%Modules = (
121
4f3a742d 122 'Archive::Tar' => {
8055fa98 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.30.tar.gz',
4f3a742d 124 'FILES' => q[cpan/Archive-Tar],
4f3a742d 125 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
126 'EXCLUDED' => [
127 qw(t/07_ptardiff.t),
128 ],
4f3a742d
DR
129 },
130
131 'Attribute::Handlers' => {
e8b9cef0 132 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 133 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
134 },
135
4f3a742d 136 'autodie' => {
dc013420 137 'DISTRIBUTION' => 'PJF/autodie-2.29.tar.gz',
4f3a742d
DR
138 'FILES' => q[cpan/autodie],
139 'EXCLUDED' => [
273225d4 140 qr{benchmarks},
f91d7e0d 141 qr{README\.md},
4f3a742d
DR
142 # All these tests depend upon external
143 # modules that don't exist when we're
144 # building the core. Hence, they can
145 # never run, and should not be merged.
ff4ad1c0 146 qw( t/author-critic.t
4f3a742d
DR
147 t/critic.t
148 t/fork.t
149 t/kwalitee.t
150 t/lex58.t
151 t/pod-coverage.t
152 t/pod.t
273225d4
CBW
153 t/release-pod-coverage.t
154 t/release-pod-syntax.t
4f3a742d
DR
155 t/socket.t
156 t/system.t
157 )
158 ],
5f3202fa
Z
159 'CUSTOMIZED' => [
160 # CPAN RT 105344
161 't/mkdir.t',
162 # smartmatch changes
163 'lib/autodie/exception.pm',
164 'lib/autodie/hints.pm',
165 't/exceptions.t',
166 't/lib/Hints_pod_examples.pm',
167 ],
4f3a742d
DR
168 },
169
170 'AutoLoader' => {
dff36865 171 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
172 'FILES' => q[cpan/AutoLoader],
173 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
174 },
175
176 'autouse' => {
965f9517 177 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
4f3a742d
DR
178 'FILES' => q[dist/autouse],
179 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
180 },
181
9e01a143 182 'B::Debug' => {
8bdc12c6 183 'DISTRIBUTION' => 'RURBAN/B-Debug-1.26.tar.gz',
9e01a143
DIM
184 'FILES' => q[cpan/B-Debug],
185 'EXCLUDED' => ['t/pod.t'],
16fc71a0 186 'DEPRECATED' => '5.027003',
9e01a143
DIM
187 },
188
4f3a742d 189 'base' => {
4c13dc7e 190 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 191 'FILES' => q[dist/base],
4f3a742d
DR
192 },
193
4f3a742d 194 'bignum' => {
9e173cc3 195 'DISTRIBUTION' => 'PJACKLAM/bignum-0.49.tar.gz',
c287fe32 196 'FILES' => q[cpan/bignum],
4f3a742d 197 'EXCLUDED' => [
91f07087 198 qr{^t/author-},
c287fe32
SH
199 qw( t/00sig.t
200 t/01load.t
201 t/02pod.t
202 t/03podcov.t
4f3a742d
DR
203 ),
204 ],
4f3a742d
DR
205 },
206
207 'Carp' => {
ba705463 208 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
4f3a742d 209 'FILES' => q[dist/Carp],
4f3a742d
DR
210 },
211
4f3a742d 212 'Compress::Raw::Bzip2' => {
2692cc79 213 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.081.tar.gz',
4f3a742d
DR
214 'FILES' => q[cpan/Compress-Raw-Bzip2],
215 'EXCLUDED' => [
216 qr{^t/Test/},
65b62fea 217 'bzip2-src/bzip2-const.patch',
4f3a742d 218 'bzip2-src/bzip2-cpp.patch',
65b62fea 219 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 220 ],
4f3a742d
DR
221 },
222
223 'Compress::Raw::Zlib' => {
9a27f4d0 224 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.081.tar.gz',
4f3a742d
DR
225 'FILES' => q[cpan/Compress-Raw-Zlib],
226 'EXCLUDED' => [
84c82da4 227 qr{^examples/},
4f3a742d
DR
228 qr{^t/Test/},
229 qw( t/000prereq.t
230 t/99pod.t
231 ),
232 ],
4f3a742d
DR
233 },
234
4b07058c 235 'Config::Perl::V' => {
eeb5a5dc 236 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.29.tgz',
4b07058c 237 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
238 'EXCLUDED' => [qw(
239 examples/show-v.pl
b4ade012 240 )],
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' => {
6cc23b5a 257 'DISTRIBUTION' => 'ANDK/CPAN-2.20-TRIAL.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' => {
d8cc0e43 331 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.161.tar.gz',
4f3a742d 332 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
333 },
334
335 'DB_File' => {
9003d70e 336 'DISTRIBUTION' => 'PMQS/DB_File-1.841.tar.gz',
4f3a742d
DR
337 'FILES' => q[cpan/DB_File],
338 'EXCLUDED' => [
339 qr{^patches/},
340 qw( t/pod.t
341 fallback.h
342 fallback.xs
343 ),
344 ],
4f3a742d
DR
345 },
346
4f3a742d 347 'Devel::PPPort' => {
874389ae 348 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.tar.gz',
7baf245a 349 'FILES' => q[dist/Devel-PPPort],
84c82da4
SH
350 'EXCLUDED' => [
351 'PPPort.pm', # we use PPPort_pm.PL instead
bb20cabd
SH
352 ],
353 'CUSTOMIZED' => [ qw[ parts/embed.fnc ] ],
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'],
4f3a742d
DR
376 },
377
378 'Digest::SHA' => {
78ce14b4 379 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz',
4f3a742d
DR
380 'FILES' => q[cpan/Digest-SHA],
381 'EXCLUDED' => [
382 qw( t/pod.t
383 t/podcover.t
384 examples/dups
385 ),
386 ],
4f3a742d
DR
387 },
388
4f3a742d 389 'Dumpvalue' => {
f6e46c4d 390 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
391 'FILES' => q[dist/Dumpvalue],
392 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
393 },
394
4f3a742d 395 'Encode' => {
7ab4fa18 396 'DISTRIBUTION' => 'DANKOGAI/Encode-2.97.tar.gz',
4f3a742d 397 'FILES' => q[cpan/Encode],
836bb1e3
DM
398 'CUSTOMIZED' => [
399 # TODO test passes on blead
400 't/truncated_utf8.t',
401 ],
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' => {
2bcf6e58 420 'DISTRIBUTION' => 'LEONT/experimental-0.019.tar.gz',
de84ff2b 421 'FILES' => q[cpan/experimental],
62805098
SH
422 'EXCLUDED' => [
423 qr{^xt/},
424 qr{nytprof.*}
425 ],
4fdcb09b 426 'EXCLUDED' => [qr{^xt/}],
5f3202fa
Z
427 'CUSTOMIZED' => [
428 # smartmatch changes
429 't/basic.t',
430 ],
de84ff2b
RS
431 },
432
4f3a742d 433 'Exporter' => {
b4d1bf31 434 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
3110a055 435 'FILES' => q[dist/Exporter],
4f3a742d
DR
436 'EXCLUDED' => [
437 qw( t/pod.t
438 t/use.t
439 ),
440 ],
4f3a742d
DR
441 },
442
443 'ExtUtils::CBuilder' => {
c39276c1 444 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280230.tar.gz',
4f3a742d 445 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
446 'EXCLUDED' => [
447 qw(README.mkdn),
448 qr{^xt},
449 ],
4f3a742d
DR
450 },
451
4f3a742d 452 'ExtUtils::Constant' => {
4f3a742d 453
4097fff1 454 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d
DR
455 'FILES' => q[cpan/ExtUtils-Constant],
456 'EXCLUDED' => [
457 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
458 examples/perl_keyword.pl
459 examples/perl_regcomp_posix_keyword.pl
460 ),
34c00cdf 461 ],
4f3a742d
DR
462 },
463
464 'ExtUtils::Install' => {
9de35bb2 465 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz',
d393d7e5 466 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
467 'EXCLUDED' => [
468 qw( t/lib/Test/Builder.pm
469 t/lib/Test/Builder/Module.pm
470 t/lib/Test/More.pm
471 t/lib/Test/Simple.pm
472 t/pod-coverage.t
473 t/pod.t
474 ),
475 ],
4f3a742d
DR
476 },
477
478 'ExtUtils::MakeMaker' => {
feb6a67a 479 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.34.tar.gz',
4f3a742d
DR
480 'FILES' => q[cpan/ExtUtils-MakeMaker],
481 'EXCLUDED' => [
482 qr{^t/lib/Test/},
483 qr{^(bundled|my)/},
484 qr{^t/Liblist_Kid.t},
485 qr{^t/liblist/},
78fd4358 486 qr{^\.perlcriticrc},
84c82da4
SH
487 'PATCHING',
488 'README.packaging',
ce9582af 489 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 490 ],
4f3a742d
DR
491 },
492
493 'ExtUtils::Manifest' => {
f660499c 494 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 495 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
496 'EXCLUDED' => [
497 qr(^t/00-report-prereqs),
498 qr(^xt/)
499 ],
4f3a742d
DR
500 },
501
502 'ExtUtils::ParseXS' => {
1bae5449 503 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
4f3a742d 504 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
505 },
506
4f3a742d 507 'File::Fetch' => {
b6806da1 508 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz',
4f3a742d 509 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
510 },
511
4f3a742d 512 'File::Path' => {
07e6e035 513 'DISTRIBUTION' => 'JKEENAN/File-Path-2.15.tar.gz',
4f3a742d
DR
514 'FILES' => q[cpan/File-Path],
515 'EXCLUDED' => [
bfcc9519
SH
516 qw(t/Path-Class.t),
517 qr{^xt/},
4f3a742d 518 ],
4f3a742d
DR
519 },
520
4f3a742d 521 'File::Temp' => {
3d5f905f 522 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
523 'FILES' => q[cpan/File-Temp],
524 'EXCLUDED' => [
525 qw( misc/benchmark.pl
526 misc/results.txt
527 ),
814e893f
CBW
528 qw[t/00-report-prereqs.t],
529 qr{^xt},
4f3a742d 530 ],
4f3a742d
DR
531 },
532
4f3a742d 533 'Filter::Simple' => {
e9214465 534 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
535 'FILES' => q[dist/Filter-Simple],
536 'EXCLUDED' => [
4f3a742d
DR
537 qr{^demo/}
538 ],
4f3a742d
DR
539 },
540
541 'Filter::Util::Call' => {
5069e577 542 'DISTRIBUTION' => 'RURBAN/Filter-1.58.tar.gz',
4f3a742d
DR
543 'FILES' => q[cpan/Filter-Util-Call
544 pod/perlfilter.pod
545 ],
546 'EXCLUDED' => [
547 qr{^decrypt/},
548 qr{^examples/},
549 qr{^Exec/},
550 qr{^lib/Filter/},
551 qr{^tee/},
552 qw( Call/Makefile.PL
553 Call/ppport.h
554 Call/typemap
555 mytest
556 t/cpp.t
557 t/decrypt.t
558 t/exec.t
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 },
4f3a742d
DR
576 },
577
4f3a742d 578 'Getopt::Long' => {
bdb1f1b3 579 'DISTRIBUTION' => 'JV/Getopt-Long-2.50.tar.gz',
4f3a742d
DR
580 'FILES' => q[cpan/Getopt-Long],
581 'EXCLUDED' => [
582 qr{^examples/},
583 qw( perl-Getopt-Long.spec
584 lib/newgetopt.pl
974d5816 585 t/gol-compat.t
4f3a742d
DR
586 ),
587 ],
4f3a742d
DR
588 },
589
4f3a742d 590 'HTTP::Tiny' => {
d534cca5 591 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.070.tar.gz',
4f3a742d
DR
592 'FILES' => q[cpan/HTTP-Tiny],
593 'EXCLUDED' => [
fcfb9f49 594 't/00-report-prereqs.t',
57d69a40 595 't/00-report-prereqs.dd',
4f3a742d 596 't/200_live.t',
44347bc3 597 't/200_live_local_ip.t',
fcfb9f49 598 't/210_live_ssl.t',
4f3a742d
DR
599 qr/^eg/,
600 qr/^xt/
601 ],
4f3a742d
DR
602 },
603
604 'I18N::Collate' => {
4f3a742d
DR
605 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
606 'FILES' => q[dist/I18N-Collate],
607 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
608 },
609
4f3a742d 610 'I18N::LangTags' => {
4f3a742d 611 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
612 },
613
614 'if' => {
85cede38 615 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 616 'FILES' => q[dist/if],
4f3a742d
DR
617 },
618
619 'IO' => {
f7c93718 620 'DISTRIBUTION' => 'TODDR/IO-1.39.tar.gz',
4f3a742d
DR
621 'FILES' => q[dist/IO/],
622 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
623 },
624
625 'IO-Compress' => {
5173674b 626 'DISTRIBUTION' => 'PMQS/IO-Compress-2.074.tar.gz',
4f3a742d 627 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
628 'EXCLUDED' => [
629 qr{^examples/},
630 qr{^t/Test/},
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' => {
aed76e69 651 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.00.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' => {
9bccc4c2 666 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-2.97001.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
695 'Locale-Codes' => {
fd144912 696 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.56.tar.gz',
4f3a742d
DR
697 'FILES' => q[cpan/Locale-Codes],
698 'EXCLUDED' => [
84c82da4 699 qw( README.first
8eadc45b 700 t/pod_coverage.ign
84c82da4 701 t/pod_coverage.t
4f3a742d
DR
702 t/pod.t),
703 qr{^t/runtests},
704 qr{^t/runtests\.bat},
705 qr{^internal/},
706 qr{^examples/},
707 ],
4f3a742d
DR
708 },
709
710 'Locale::Maketext' => {
822f029b 711 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.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' => {
efb0a80c 732 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999811.tar.gz',
6b0f9b46 733 'FILES' => q[cpan/Math-BigInt],
4f3a742d 734 'EXCLUDED' => [
4f3a742d 735 qr{^examples/},
6b10d254 736 qr{^t/author-},
4f3a742d
DR
737 qw( t/00sig.t
738 t/01load.t
739 t/02pod.t
740 t/03podcov.t
741 ),
742 ],
4f3a742d
DR
743 },
744
745 'Math::BigInt::FastCalc' => {
23935f82 746 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5006.tar.gz',
6b0f9b46 747 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 748 'EXCLUDED' => [
d239a8c7
CBW
749 qr{^t/author-},
750 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
751 qw( t/00sig.t
752 t/01load.t
753 t/02pod.t
754 t/03podcov.t
755 ),
756
757 # instead we use the versions of these test
758 # files that come with Math::BigInt:
759 qw( t/bigfltpm.inc
760 t/bigfltpm.t
761 t/bigintpm.inc
762 t/bigintpm.t
763 t/mbimbf.inc
764 t/mbimbf.t
765 ),
766 ],
4f3a742d
DR
767 },
768
769 'Math::BigRat' => {
92c15a49 770 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2613.tar.gz',
6b0f9b46 771 'FILES' => q[cpan/Math-BigRat],
4f3a742d 772 'EXCLUDED' => [
6320cdc0 773 qr{^t/author-},
4f3a742d
DR
774 qw( t/00sig.t
775 t/01load.t
776 t/02pod.t
777 t/03podcov.t
9b331ac6
SH
778 ),
779 ],
4f3a742d
DR
780 },
781
782 'Math::Complex' => {
04ae1553 783 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 784 'FILES' => q[cpan/Math-Complex],
50e27233
JH
785 'CUSTOMIZED' => [
786 'lib/Math/Complex.pm', # CPAN RT 118467
787 't/Complex.t', # CPAN RT 118467
788 't/Trig.t', # CPAN RT 118467
789 ],
4f3a742d
DR
790 'EXCLUDED' => [
791 qw( t/pod.t
792 t/pod-coverage.t
793 ),
794 ],
4f3a742d
DR
795 },
796
797 'Memoize' => {
8114efa0 798 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
799 'FILES' => q[cpan/Memoize],
800 'EXCLUDED' => ['article.html'],
8b56300e
TC
801 'CUSTOMIZED' => [
802 # CVE-2016-1238
803 qw( Memoize.pm )
804 ],
4f3a742d
DR
805 },
806
807 'MIME::Base64' => {
6b10655d 808 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
809 'FILES' => q[cpan/MIME-Base64],
810 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
811 },
812
4f3a742d 813 'Module::CoreList' => {
84208e00 814 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20180626.tar.gz',
4f3a742d 815 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
816 },
817
818 'Module::Load' => {
58572ed8 819 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 820 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
821 },
822
823 'Module::Load::Conditional' => {
2c34ec1b 824 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz',
4f3a742d 825 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
826 },
827
828 'Module::Loaded' => {
4f3a742d
DR
829 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
830 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
831 },
832
833 'Module::Metadata' => {
d4fbd0ca 834 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000033.tar.gz',
4f3a742d
DR
835 'FILES' => q[cpan/Module-Metadata],
836 'EXCLUDED' => [
b9beed70 837 qw(t/00-report-prereqs.t),
adc2cdfb 838 qw(t/00-report-prereqs.dd),
e6d414a9 839 qr{weaver.ini},
4f3a742d
DR
840 qr{^xt},
841 ],
4f3a742d
DR
842 },
843
4f3a742d 844 'Net::Ping' => {
8c91ebab 845 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.61.tar.gz',
4f3a742d 846 'FILES' => q[dist/Net-Ping],
773d126d 847 'EXCLUDED' => [
26e9d721 848 qw(README.md.PL),
773d126d
CBW
849 qw(t/020_external.t),
850 qw(t/600_pod.t),
851 qw(t/601_pod-coverage.t),
852 ],
01b515d1 853 'CUSTOMIZED' => [
20db88df
SH
854 qw( t/000_load.t
855 t/001_new.t
8c91ebab 856 t/500_ping_icmp.t),
01b515d1 857 ],
773d126d 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' => {
39250dd4 874 'DISTRIBUTION' => 'CORION/parent-0.236.tar.gz',
4f3a742d 875 'FILES' => q[cpan/parent],
39250dd4
SH
876 'EXCLUDED' => [
877 qr{^xt}
878 ],
4f3a742d
DR
879 },
880
4f3a742d 881 'PathTools' => {
85cede38 882 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.74.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' => {
a2c3b2fe 897 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
97b1d6e6
SH
898 'FILES' => q[cpan/perlfaq],
899 'EXCLUDED' => [
4d25f022 900 qw( inc/CreateQuestionList.pm
e3ef4406 901 inc/perlfaq.tt
4d25f022
SH
902 t/00-compile.t),
903 qr{^xt/},
97b1d6e6 904 ],
829e9977
SH
905
906 'CUSTOMIZED' => [ qw[ lib/perlfaq5.pod lib/perlfaq8.pod ] ],
97b1d6e6
SH
907 },
908
4f3a742d 909 'PerlIO::via::QuotedPrint' => {
96623e31 910 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 911 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
912 },
913
0c501878 914 'Pod::Checker' => {
0de6c762 915 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
0c501878 916 'FILES' => q[cpan/Pod-Checker],
2beba2a9
SH
917 'CUSTOMIZED' => [ qw[
918 t/pod/contains_bad_pod.xr
919 t/pod/selfcheck.t
920 t/pod/testcmp.pl
921 t/pod/testpchk.pl
922 ] ],
0c501878
CBW
923 },
924
4f3a742d 925 'Pod::Escapes' => {
f347d3e3 926 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 927 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
928 },
929
4f3a742d 930 'Pod::Parser' => {
534577b2 931 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 932 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
933 },
934
935 'Pod::Perldoc' => {
6aff4bf3 936 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 937 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 938
fa884b76
DM
939 # Note that we use the CPAN-provided Makefile.PL, since it
940 # contains special handling of the installation of perldoc.pod
941
5fddd31d
SH
942 'EXCLUDED' => [
943 # In blead, the perldoc executable is generated by perldoc.PL
944 # instead
945 # XXX We can and should fix this, but clean up the DRY-failure in
946 # utils first
947 'perldoc',
948
949 # https://rt.cpan.org/Ticket/Display.html?id=116827
950 't/02_module_pod_output.t'
951 ],
f2ee4cb8
Z
952
953 'CUSTOMIZED' => [
954 # [rt.cpan.org #88204], [rt.cpan.org #120229]
955 'lib/Pod/Perldoc.pm',
956 ],
4f3a742d
DR
957 },
958
959 'Pod::Simple' => {
2a19f951 960 'DISTRIBUTION' => 'KHW/Pod-Simple-3.35.tar.gz',
4f3a742d 961 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
962 },
963
0c501878 964 'Pod::Usage' => {
3735683b 965 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
0c501878 966 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
967 },
968
4f3a742d 969 'podlators' => {
1abe70d8 970 'DISTRIBUTION' => 'RRA/podlators-4.10.tar.gz',
4f3a742d 971 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
972 'EXCLUDED' => [
973 qr{^docs/metadata/},
974 ],
4f3a742d 975
4f3a742d
DR
976 'MAP' => {
977 '' => 'cpan/podlators/',
4f3a742d 978 # this file lives outside the cpan/ directory
1efe9157 979 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 980 },
6d5e6e62
SH
981
982 'CUSTOMIZED' => [ qw[ pod/perlpodstyle.pod ] ],
4f3a742d
DR
983 },
984
4f3a742d 985 'Safe' => {
e739c653 986 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 987 'FILES' => q[dist/Safe],
4f3a742d
DR
988 },
989
13bb7c4d
TR
990 'Scalar::Util' => {
991 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.50.tar.gz',
869a9612 992 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
993 },
994
4f3a742d 995 'Search::Dict' => {
0b0a7092 996 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 997 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
998 },
999
1000 'SelfLoader' => {
879d999b 1001 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
1002 'FILES' => q[dist/SelfLoader],
1003 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1004 },
1005
4f3a742d 1006 'Socket' => {
7d97880d 1007 'DISTRIBUTION' => 'PEVANS/Socket-2.027.tar.gz',
4f3a742d 1008 'FILES' => q[cpan/Socket],
4f3a742d
DR
1009 },
1010
1011 'Storable' => {
5f4b5e0f 1012 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1013 'FILES' => q[dist/Storable],
76250107
SH
1014 'EXCLUDED' => [
1015 qr{^t/compat/},
1016 ],
4f3a742d
DR
1017 },
1018
4f3a742d 1019 'Sys::Syslog' => {
9f0af693 1020 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
4f3a742d
DR
1021 'FILES' => q[cpan/Sys-Syslog],
1022 'EXCLUDED' => [
1023 qr{^eg/},
84c82da4
SH
1024 qw( README.win32
1025 t/data-validation.t
4f3a742d
DR
1026 t/distchk.t
1027 t/pod.t
1028 t/podcover.t
1029 t/podspell.t
1030 t/portfs.t
1031 win32/PerlLog.RES
4f3a742d
DR
1032 ),
1033 ],
4f3a742d
DR
1034 },
1035
1036 'Term::ANSIColor' => {
93d7ac13 1037 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1038 'FILES' => q[cpan/Term-ANSIColor],
1039 'EXCLUDED' => [
93d7ac13 1040 qr{^docs/},
92f80b37
CBW
1041 qr{^examples/},
1042 qr{^t/data/},
5e64492f
CBW
1043 qr{^t/docs/},
1044 qr{^t/style/},
1045 qw( t/module/aliases-env.t ),
4f3a742d 1046 ],
4f3a742d
DR
1047 },
1048
1049 'Term::Cap' => {
23a75734 1050 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1051 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1052 },
1053
1054 'Term::Complete' => {
4f3a742d
DR
1055 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1056 'FILES' => q[dist/Term-Complete],
1057 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1058 },
1059
1060 'Term::ReadLine' => {
75ad3638 1061 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1062 'FILES' => q[dist/Term-ReadLine],
1063 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1064 },
1065
4f3a742d 1066 'Test' => {
1c22e001 1067 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1068 'FILES' => q[dist/Test],
4f3a742d
DR
1069 },
1070
1071 'Test::Harness' => {
158ffeeb 1072 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
4f3a742d
DR
1073 'FILES' => q[cpan/Test-Harness],
1074 'EXCLUDED' => [
1075 qr{^examples/},
4f3a742d
DR
1076 qr{^xt/},
1077 qw( Changes-2.64
8db65552 1078 MANIFEST.CUMMULATIVE
4f3a742d
DR
1079 HACKING.pod
1080 perlcriticrc
8db65552 1081 t/000-load.t
4f3a742d
DR
1082 t/lib/if.pm
1083 ),
1084 ],
4f3a742d
DR
1085 },
1086
1087 'Test::Simple' => {
43de38c4 1088 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302133.tar.gz',
4f3a742d
DR
1089 'FILES' => q[cpan/Test-Simple],
1090 'EXCLUDED' => [
0b4ffce6
SH
1091 qr{^examples/},
1092 qr{^xt/},
022600ce 1093 qw( appveyor.yml
80a7dd19 1094 t/00compile.t
c6a6e1c8
CG
1095 t/00-report.t
1096 t/zzz-check-breaks.t
4f3a742d
DR
1097 ),
1098 ],
f266b743 1099 },
4f3a742d
DR
1100
1101 'Text::Abbrev' => {
5e96eee9 1102 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1103 'FILES' => q[dist/Text-Abbrev],
1104 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1105 },
1106
1107 'Text::Balanced' => {
03a97c81 1108 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1109 'FILES' => q[cpan/Text-Balanced],
1110 'EXCLUDED' => [
1111 qw( t/97_meta.t
1112 t/98_pod.t
1113 t/99_pmv.t
1114 ),
1115 ],
4f3a742d
DR
1116 },
1117
1118 'Text::ParseWords' => {
a790e348 1119 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1120 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1121 },
1122
4f3a742d 1123 'Text-Tabs+Wrap' => {
83aea42c 1124 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1125 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1126 'EXCLUDED' => [
1127 qr/^lib\.old/,
1128 't/dnsparks.t', # see af6492bf9e
4f3a742d 1129 ],
e7b92d54
SH
1130 'MAP' => {
1131 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1132 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1133 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1134 },
4f3a742d
DR
1135 },
1136
4e75700d
AC
1137 # Jerry Hedden does take patches that are applied to blead first, even
1138 # though that can be hard to discern from the Git history; so it's
1139 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1140 # to be under dist/ rather than cpan/
4f3a742d 1141 'Thread::Queue' => {
b4d001fd 1142 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.12.tar.gz',
4f3a742d
DR
1143 'FILES' => q[dist/Thread-Queue],
1144 'EXCLUDED' => [
1fd4700e
JH
1145 qr{^examples/},
1146 qw( t/00_load.t
4f3a742d
DR
1147 t/99_pod.t
1148 t/test.pl
1149 ),
1150 ],
4f3a742d
DR
1151 },
1152
1153 'Thread::Semaphore' => {
51068c14 1154 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1155 'FILES' => q[dist/Thread-Semaphore],
1156 'EXCLUDED' => [
1157 qw( examples/semaphore.pl
1158 t/00_load.t
1159 t/99_pod.t
1160 t/test.pl
1161 ),
1162 ],
4f3a742d
DR
1163 },
1164
1165 'threads' => {
40e3ceea 1166 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1167 'FILES' => q[dist/threads],
1168 'EXCLUDED' => [
1169 qr{^examples/},
1170 qw( t/pod.t
1171 t/test.pl
1172 threads.h
1173 ),
1174 ],
4f3a742d
DR
1175 },
1176
1177 'threads::shared' => {
d719fa5c 1178 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.58.tar.gz',
4f3a742d
DR
1179 'FILES' => q[dist/threads-shared],
1180 'EXCLUDED' => [
1181 qw( examples/class.pl
1182 shared.h
1183 t/pod.t
1184 t/test.pl
1185 ),
1186 ],
4f3a742d
DR
1187 },
1188
1189 'Tie::File' => {
4ac9c666 1190 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1191 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1192 },
1193
4f3a742d 1194 'Tie::RefHash' => {
4f3a742d
DR
1195 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1196 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1197 },
1198
1199 'Time::HiRes' => {
e7719536 1200 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9759.tar.gz',
91ba54d4 1201 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1202 },
1203
1204 'Time::Local' => {
dad75267 1205 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz',
4f3a742d
DR
1206 'FILES' => q[cpan/Time-Local],
1207 'EXCLUDED' => [
cc890588
SH
1208 qr{^xt/},
1209 qw( perlcriticrc
1210 perltidyrc
1211 tidyall.ini
1212 t/00-report-prereqs.t
1213 t/00-report-prereqs.dd
1214 ),
4f3a742d 1215 ],
4f3a742d
DR
1216 },
1217
1218 'Time::Piece' => {
f071bbf0 1219 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3204.tar.gz',
4f3a742d 1220 'FILES' => q[cpan/Time-Piece],
fd481c17 1221 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1222 },
1223
1224 'Unicode::Collate' => {
c7df802e 1225 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.25.tar.gz',
4f3a742d
DR
1226 'FILES' => q[cpan/Unicode-Collate],
1227 'EXCLUDED' => [
1228 qr{N$},
1229 qr{^data/},
1230 qr{^gendata/},
1231 qw( disableXS
1232 enableXS
1233 mklocale
1234 ),
1235 ],
4f3a742d
DR
1236 },
1237
1238 'Unicode::Normalize' => {
1ef95abd 1239 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
3baae3fa 1240 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1241 'EXCLUDED' => [
1242 qw( MANIFEST.N
1243 Normalize.pmN
1244 disableXS
1245 enableXS
1246 ),
1247 ],
4f3a742d
DR
1248 },
1249
4f3a742d 1250 'version' => {
8474b2eb 1251 'DISTRIBUTION' => 'JPEACOCK/version-0.9918.tar.gz',
4fa93b19 1252 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1253 'EXCLUDED' => [
df3ba8e7 1254 qr{^vutil/lib/},
c60b4fa6 1255 'vutil/Makefile.PL',
df3ba8e7
FC
1256 'vutil/ppport.h',
1257 'vutil/vxs.xs',
ce9582af 1258 't/00impl-pp.t',
4f3a742d 1259 't/survey_locales',
d1e81356 1260 'vperl/vpp.pm',
4f3a742d 1261 ],
f81a37f2 1262
c872d591
SH
1263 # When adding the CPAN-distributed files for version.pm, it is necessary
1264 # to delete an entire block out of lib/version.pm, since that code is
1265 # only necessary with the CPAN release.
f81a37f2
SH
1266 'CUSTOMIZED' => [
1267 qw( lib/version.pm
9da8aacf 1268 vxs.inc
f81a37f2
SH
1269 ),
1270 ],
1271
df3ba8e7 1272 'MAP' => {
4fa93b19 1273 'vutil/' => '',
df3ba8e7
FC
1274 '' => 'cpan/version/',
1275 },
4f3a742d
DR
1276 },
1277
4f3a742d 1278 'warnings' => {
099bebb1 1279 'FILES' => q[
4f3a742d 1280 lib/warnings
099bebb1
SH
1281 lib/warnings.{pm,t}
1282 regen/warnings.pl
4f3a742d 1283 t/lib/warnings
099bebb1 1284 ],
4f3a742d
DR
1285 },
1286
4f3a742d 1287 'Win32' => {
083231ea 1288 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1289 'FILES' => q[cpan/Win32],
4f3a742d
DR
1290 },
1291
1292 'Win32API::File' => {
df61f5a9 1293 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1294 'FILES' => q[cpan/Win32API-File],
1295 'EXCLUDED' => [
1296 qr{^ex/},
4f3a742d 1297 ],
4f3a742d
DR
1298 },
1299
4f3a742d 1300 'XSLoader' => {
6f2c9cc3 1301 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1302 'FILES' => q[dist/XSLoader],
1303 'EXCLUDED' => [
1304 qr{^eg/},
57f9caa0
SH
1305 qw( t/00-load.t
1306 t/01-api.t
1307 t/distchk.t
1308 t/pod.t
4f3a742d
DR
1309 t/podcover.t
1310 t/portfs.t
1311 ),
1312 'XSLoader.pm', # we use XSLoader_pm.PL
1313 ],
4f3a742d
DR
1314 },
1315
462ea751
DM
1316 # this pseudo-module represents all the files under ext/ and lib/
1317 # that aren't otherwise claimed. This means that the following two
1318 # commands will check that every file under ext/ and lib/ is
1319 # accounted for, and that there are no duplicates:
1320 #
1321 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1322 # perl Porting/Maintainers --checkmani
462ea751 1323
4f3a742d 1324 '_PERLLIB' => {
2af3c4b9 1325 'FILES' => q[
79852350
AB
1326 ext/Amiga-ARexx/
1327 ext/Amiga-Exec/
09213599 1328 ext/B/
2af3c4b9
SH
1329 ext/Devel-Peek/
1330 ext/DynaLoader/
1331 ext/Errno/
7b4d95f7 1332 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1333 ext/Fcntl/
1334 ext/File-DosGlob/
1335 ext/File-Find/
1336 ext/File-Glob/
1337 ext/FileCache/
1338 ext/GDBM_File/
1339 ext/Hash-Util-FieldHash/
1340 ext/Hash-Util/
1341 ext/I18N-Langinfo/
1342 ext/IPC-Open3/
1343 ext/NDBM_File/
1344 ext/ODBM_File/
1345 ext/Opcode/
1346 ext/POSIX/
1347 ext/PerlIO-encoding/
1348 ext/PerlIO-mmap/
1349 ext/PerlIO-scalar/
1350 ext/PerlIO-via/
1351 ext/Pod-Functions/
1352 ext/Pod-Html/
1353 ext/SDBM_File/
1354 ext/Sys-Hostname/
1355 ext/Tie-Hash-NamedCapture/
1356 ext/Tie-Memoize/
b3dcf775 1357 ext/VMS-DCLsym/
2af3c4b9 1358 ext/VMS-Filespec/
b3dcf775
SH
1359 ext/VMS-Stdio/
1360 ext/Win32CORE/
4f3a742d 1361 ext/XS-APItest/
2af3c4b9
SH
1362 ext/XS-Typemap/
1363 ext/arybase/
1364 ext/attributes/
1365 ext/mro/
1366 ext/re/
1367 lib/AnyDBM_File.{pm,t}
1368 lib/Benchmark.{pm,t}
38eca645 1369 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1370 lib/B/Op_private.pm
4f3a742d 1371 lib/CORE.pod
2af3c4b9 1372 lib/Class/Struct.{pm,t}
4f3a742d
DR
1373 lib/Config.t
1374 lib/Config/Extensions.{pm,t}
1375 lib/DB.{pm,t}
2af3c4b9
SH
1376 lib/DBM_Filter.pm
1377 lib/DBM_Filter/
1378 lib/DirHandle.{pm,t}
1379 lib/English.{pm,t}
4f3a742d
DR
1380 lib/ExtUtils/Embed.pm
1381 lib/ExtUtils/XSSymSet.pm
1382 lib/ExtUtils/t/Embed.t
1383 lib/ExtUtils/typemap
2af3c4b9
SH
1384 lib/File/Basename.{pm,t}
1385 lib/File/Compare.{pm,t}
1386 lib/File/Copy.{pm,t}
1387 lib/File/stat{.pm,.t,-7896.t}
1388 lib/FileHandle.{pm,t}
1389 lib/FindBin.{pm,t}
1390 lib/Getopt/Std.{pm,t}
cb198164 1391 lib/Internals.pod
4f3a742d 1392 lib/Internals.t
4b6af431 1393 lib/meta_notation.{pm,t}
4f3a742d
DR
1394 lib/Net/hostent.{pm,t}
1395 lib/Net/netent.{pm,t}
1396 lib/Net/protoent.{pm,t}
1397 lib/Net/servent.{pm,t}
2af3c4b9 1398 lib/PerlIO.pm
4f3a742d
DR
1399 lib/Pod/t/InputObjects.t
1400 lib/Pod/t/Select.t
1401 lib/Pod/t/Usage.t
4f3a742d
DR
1402 lib/Pod/t/utils.t
1403 lib/SelectSaver.{pm,t}
1404 lib/Symbol.{pm,t}
1405 lib/Thread.{pm,t}
1406 lib/Tie/Array.pm
1407 lib/Tie/Array/
1408 lib/Tie/ExtraHash.t
1409 lib/Tie/Handle.pm
1410 lib/Tie/Handle/
2af3c4b9 1411 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1412 lib/Tie/Scalar.{pm,t}
1413 lib/Tie/StdHandle.pm
1414 lib/Tie/SubstrHash.{pm,t}
1415 lib/Time/gmtime.{pm,t}
1416 lib/Time/localtime.{pm,t}
1417 lib/Time/tm.pm
1418 lib/UNIVERSAL.pm
1419 lib/Unicode/README
2af3c4b9 1420 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1421 lib/User/grent.{pm,t}
1422 lib/User/pwent.{pm,t}
2af3c4b9 1423 lib/_charnames.pm
4f3a742d
DR
1424 lib/blib.{pm,t}
1425 lib/bytes.{pm,t}
1426 lib/bytes_heavy.pl
1427 lib/charnames.{pm,t}
1428 lib/dbm_filter_util.pl
1429 lib/deprecate.pm
2af3c4b9 1430 lib/diagnostics.{pm,t}
4f3a742d
DR
1431 lib/dumpvar.{pl,t}
1432 lib/feature.{pm,t}
1433 lib/feature/
1434 lib/filetest.{pm,t}
1435 lib/h2ph.t
1436 lib/h2xs.t
1437 lib/integer.{pm,t}
1438 lib/less.{pm,t}
1439 lib/locale.{pm,t}
706055ce 1440 lib/locale_threads.t
4f3a742d
DR
1441 lib/open.{pm,t}
1442 lib/overload/numbers.pm
1443 lib/overloading.{pm,t}
2af3c4b9 1444 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1445 lib/perl5db.{pl,t}
1446 lib/perl5db/
a3b4b767 1447 lib/perlbug.t
2af3c4b9 1448 lib/sigtrap.{pm,t}
4f3a742d
DR
1449 lib/sort.{pm,t}
1450 lib/strict.{pm,t}
1451 lib/subs.{pm,t}
1452 lib/unicore/
1453 lib/utf8.{pm,t}
1454 lib/utf8_heavy.pl
1455 lib/vars{.pm,.t,_carp.t}
1456 lib/vmsish.{pm,t}
1457 ],
4f3a742d 1458 },
462ea751 1459);
b128a327 1460
97556ec3 1461# legacy CPAN flag
4f3a742d 1462for ( values %Modules ) {
97556ec3
GA
1463 $_->{CPAN} = !!$_->{DISTRIBUTION};
1464}
1465
099bebb1
SH
1466# legacy UPSTREAM flag
1467for ( keys %Modules ) {
1468 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1469 next if exists $Modules{$_}{UPSTREAM};
1470
1471 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1472 $Modules{$_}{UPSTREAM} = 'blead';
1473 }
1474 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1475 $Modules{$_}{UPSTREAM} = 'cpan';
1476 }
1477 else {
1478 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1479 }
1480}
1481
d350de41 1482# legacy MAINTAINER field
099bebb1 1483for ( keys %Modules ) {
b3dcf775 1484 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1485 next if exists $Modules{$_}{MAINTAINER};
1486
1487 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1488 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1489 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1490 }
099bebb1
SH
1491 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1492 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1493 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1494 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1495 }
099bebb1
SH
1496 else {
1497 warn "No DISTRIBUTION for non-blead module $_";
1498 }
d350de41
SH
1499}
1500
b128a327 15011;