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