This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert discouragement of fatal warnings
[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
73c832e4 21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.mkdn
4d25f022 22 COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP
73c832e4 23 LICENSE Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
53bf589c 24 MYMETA.yml NEW NEWS NOTES perlcritic.rc ppport.h README README.PATCHING
d3bd9fae 25 SIGNATURE THANKS TODO Todo VERSION WHATSNEW
2c95b6e4
DM
26);
27
e30e10b5 28# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 29# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
30# CPAN distribution.
31
32# The keys of %Modules are human descriptions of the distributions, and
33# may not exactly match a module or distribution name. Distributions
34# which have an obvious top-level module associated with them will usually
35# have a key named for that module, e.g. 'Archive::Extract' for
36# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
37# on the name of the distribution, e.g. 'Locale-Codes' for
38# Locale-Codes-N.NN.tar.gz'.
d350de41 39
099bebb1
SH
40# UPSTREAM indicates where patches should go. This is generally now
41# inferred from the FILES: modules with files in dist/, ext/ and lib/
42# are understood to have UPSTREAM 'blead', meaning that the copy of the
43# module in the blead sources is to be considered canonical, while
44# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
45# meaning that the module on CPAN is to be patched first.
46
b3dcf775
SH
47# MAINTAINER has previously been used to indicate who the current maintainer
48# of the module is, but this is no longer stated explicitly. It is now
49# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
50# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
a40258e5 51# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-2.00.tar.gz'.
b3dcf775
SH
52# (PAUSE's View Permissions page may be consulted to find other authors who
53# have owner or co-maint permissions for the module in question.)
d350de41 54
e30e10b5
DM
55# FILES is a list of filenames, glob patterns, and directory
56# names to be recursed down, which collectively generate a complete list
57# of the files associated with the distribution.
58
e1466347
JC
59# BUGS is an email or url to post bug reports. For modules with
60# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
61# appears to automatically provide a URL for CPAN modules; any value
62# given here overrides the default:
63# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
64
a55d270d
DM
65# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
66# included in core are derived from. Note that the file's version may not
67# necessarily match the newest version on CPAN.
68
2c95b6e4
DM
69# EXCLUDED is a list of files to be excluded from a CPAN tarball before
70# comparing the remaining contents with core. Each item can either be a
71# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
72# It defaults to the empty list.
73
d43babf1 74# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
75# Perl core. Use this whenever patching a cpan upstream distribution
76# or whenever we expect to have a file that differs from the tarball.
77# If the file in blead matches the file in the tarball from CPAN,
78# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 79# customization might have been lost when updating from upstream. The
f81a37f2
SH
80# path should be relative to the distribution directory. If the upstream
81# distribution should be modified to incorporate the change then be sure
82# to raise a ticket for it on rt.cpan.org and add a comment alongside the
83# list of CUSTOMIZED files noting the ticket number.
d43babf1 84
ab87ca4d
DG
85# DEPRECATED contains the *first* version of Perl in which the module
86# was considered deprecated. It should only be present if the module is
87# actually deprecated. Such modules should use deprecated.pm to
88# issue a warning if used. E.g.:
89#
90# use if $] >= 5.011, 'deprecate';
91#
92
2c95b6e4 93# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 94# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
95# first. The first match causes that prefix to be replaced with the
96# corresponding key. For example, with the following MAP:
613f422f 97# {
4f3a742d
DR
98# 'lib/' => 'lib/',
99# '' => 'lib/Foo/',
2c95b6e4
DM
100# },
101#
102# these files are mapped as shown:
103#
104# README becomes lib/Foo/README
613f422f 105# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
106#
107# The default is dependent on the type of module.
108# For distributions which appear to be stored under ext/, it defaults to:
109#
110# { '' => 'ext/Foo-Bar/' }
111#
112# otherwise, it's
113#
613f422f 114# {
4f3a742d
DR
115# 'lib/' => 'lib/',
116# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
117# }
118
b128a327
JH
119%Modules = (
120
4f3a742d 121 'Archive::Tar' => {
19606b44 122 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.04.tar.gz',
4f3a742d 123 'FILES' => q[cpan/Archive-Tar],
4f3a742d 124 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
125 'EXCLUDED' => [
126 qw(t/07_ptardiff.t),
127 ],
4f3a742d
DR
128 },
129
130 'Attribute::Handlers' => {
39acff44 131 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.96.tar.gz',
4f3a742d 132 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
133 },
134
4f3a742d 135 'autodie' => {
ebf27bc8 136 'DISTRIBUTION' => 'NTHYKIER/autodie-2.26.tar.gz',
4f3a742d
DR
137 'FILES' => q[cpan/autodie],
138 'EXCLUDED' => [
273225d4 139 qr{benchmarks},
f91d7e0d 140 qr{README\.md},
4f3a742d
DR
141 # All these tests depend upon external
142 # modules that don't exist when we're
143 # building the core. Hence, they can
144 # never run, and should not be merged.
ff4ad1c0
SH
145 qw( t/author-critic.t
146 t/boilerplate.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 ],
4f3a742d
DR
159 },
160
161 'AutoLoader' => {
dff36865 162 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
163 'FILES' => q[cpan/AutoLoader],
164 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
165 },
166
167 'autouse' => {
275943c0 168 'DISTRIBUTION' => 'WOLFSAGE/autouse-1.08.tar.gz',
4f3a742d
DR
169 'FILES' => q[dist/autouse],
170 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
171 },
172
4f3a742d 173 'B::Debug' => {
372b8708 174 'DISTRIBUTION' => 'RURBAN/B-Debug-1.23.tar.gz',
4f3a742d
DR
175 'FILES' => q[cpan/B-Debug],
176 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
177 },
178
4f3a742d 179 'base' => {
7af2899e 180 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 181 'FILES' => q[dist/base],
4f3a742d
DR
182 },
183
4f3a742d 184 'bignum' => {
4ac9c666 185 'DISTRIBUTION' => 'PJACKLAM/bignum-0.37.tar.gz',
4f3a742d
DR
186 'FILES' => q[dist/bignum],
187 'EXCLUDED' => [
188 qr{^inc/Module/},
189 qw( t/pod.t
190 t/pod_cov.t
191 ),
192 ],
4f3a742d
DR
193 },
194
195 'Carp' => {
b582f7a3 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.3301.tar.gz',
4f3a742d 197 'FILES' => q[dist/Carp],
4f3a742d
DR
198 },
199
4f3a742d 200 'Compress::Raw::Bzip2' => {
42ba141a 201 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.068.tar.gz',
4f3a742d
DR
202 'FILES' => q[cpan/Compress-Raw-Bzip2],
203 'EXCLUDED' => [
204 qr{^t/Test/},
205 'bzip2-src/bzip2-cpp.patch',
206 ],
4f3a742d
DR
207 },
208
209 'Compress::Raw::Zlib' => {
10ccd91b 210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.068.tar.gz',
4f3a742d
DR
211
212 'FILES' => q[cpan/Compress-Raw-Zlib],
213 'EXCLUDED' => [
84c82da4 214 qr{^examples/},
4f3a742d
DR
215 qr{^t/Test/},
216 qw( t/000prereq.t
217 t/99pod.t
218 ),
219 ],
4f3a742d
DR
220 },
221
4b07058c 222 'Config::Perl::V' => {
e2e9df70 223 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.23.tgz',
4b07058c 224 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
225 'EXCLUDED' => [qw(
226 examples/show-v.pl
227 t/00_pod.t
228 t/01_pod.t
229 )],
4b07058c
RS
230 },
231
4f3a742d 232 'constant' => {
e2943784 233 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
234 'FILES' => q[dist/constant],
235 'EXCLUDED' => [
236 qw( t/00-load.t
237 t/more-tests.t
238 t/pod-coverage.t
239 t/pod.t
240 eg/synopsis.pl
241 ),
242 ],
4f3a742d
DR
243 },
244
245 'CPAN' => {
d210e520 246 'DISTRIBUTION' => 'ANDK/CPAN-2.10.tar.gz',
4f3a742d
DR
247 'FILES' => q[cpan/CPAN],
248 'EXCLUDED' => [
249 qr{^distroprefs/},
250 qr{^inc/Test/},
45a13884
SH
251 qr{^t/CPAN/},
252 qr{^t/data/},
79116533 253 qr{^t/97-},
4f3a742d 254 qw( lib/CPAN/Admin.pm
6156383d 255 scripts/cpan-mirrors
bfae5bde 256 PAUSE2015.pub
4f3a742d
DR
257 SlayMakefile
258 t/00signature.t
259 t/04clean_load.t
260 t/12cpan.t
261 t/13tarzip.t
262 t/14forkbomb.t
263 t/30shell.coverage
264 t/30shell.t
265 t/31sessions.t
266 t/41distribution.t
267 t/42distroprefs.t
268 t/43distroprefspref.t
45a13884 269 t/44cpanmeta.t
4f3a742d
DR
270 t/50pod.t
271 t/51pod.t
272 t/52podcover.t
273 t/60credentials.t
274 t/70_critic.t
bfae5bde 275 t/71_minimumversion.t
4f3a742d
DR
276 t/local_utils.pm
277 t/perlcriticrc
278 t/yaml_code.yml
279 ),
280 ],
4f3a742d
DR
281 },
282
278337cd
CBW
283 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
284 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 285 'CPAN::Meta' => {
b907e848 286 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.143240.tar.gz',
4f3a742d
DR
287 'FILES' => q[cpan/CPAN-Meta],
288 'EXCLUDED' => [
7f6e6ca2 289 qw[t/00-report-prereqs.t],
5f8324b5 290 qw[t/00-report-prereqs.dd],
229563a9 291 qr{t/README-data.txt},
4f3a742d
DR
292 qr{^xt},
293 qr{^history},
294 ],
4f3a742d
DR
295 },
296
b6ae0ea7 297 'CPAN::Meta::Requirements' => {
d0500f09 298 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.132.tar.gz',
b6ae0ea7
CBW
299 'FILES' => q[cpan/CPAN-Meta-Requirements],
300 'EXCLUDED' => [
54b7cb30 301 qw(CONTRIBUTING.mkdn),
c4814040 302 qw(t/00-report-prereqs.t),
54b7cb30 303 qw(t/00-report-prereqs.dd),
608e531f 304 qw(t/version-cleanup.t),
b6ae0ea7 305 qr{^xt},
b6ae0ea7 306 ],
b6ae0ea7
CBW
307 },
308
4f3a742d 309 'CPAN::Meta::YAML' => {
7857dbc4 310 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
4f3a742d
DR
311 'FILES' => q[cpan/CPAN-Meta-YAML],
312 'EXCLUDED' => [
b3100a1d 313 't/00-compile.t',
2954a1e9 314 't/00-report-prereqs.t',
4f3a742d
DR
315 't/04_scalar.t', # requires YAML.pm
316 qr{^xt},
317 ],
4f3a742d
DR
318 },
319
320 'Data::Dumper' => {
50a0759e 321 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 322 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
323 },
324
325 'DB_File' => {
1bb0c253 326 'DISTRIBUTION' => 'PMQS/DB_File-1.835.tar.gz',
4f3a742d
DR
327 'FILES' => q[cpan/DB_File],
328 'EXCLUDED' => [
329 qr{^patches/},
330 qw( t/pod.t
331 fallback.h
332 fallback.xs
333 ),
334 ],
4f3a742d
DR
335 },
336
4f3a742d 337 'Devel::PPPort' => {
6bcde12e 338 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.28.tar.gz',
099bebb1
SH
339 # RJBS has asked MHX to have UPSTREAM be 'blead'
340 # (i.e. move this from cpan/ to dist/)
4f3a742d 341 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
342 'EXCLUDED' => [
343 'PPPort.pm', # we use PPPort_pm.PL instead
344 'README.md',
345 ]
4f3a742d
DR
346 },
347
97b1d6e6 348 'Devel::SelfStubber' => {
97b1d6e6
SH
349 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
350 'FILES' => q[dist/Devel-SelfStubber],
351 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
352 },
353
4f3a742d 354 'Digest' => {
4f3a742d
DR
355 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
356 'FILES' => q[cpan/Digest],
357 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
358 },
359
360 'Digest::MD5' => {
38054f44 361 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.tar.gz',
4f3a742d
DR
362 'FILES' => q[cpan/Digest-MD5],
363 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
364 },
365
366 'Digest::SHA' => {
b495b81b 367 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.tar.gz',
4f3a742d
DR
368 'FILES' => q[cpan/Digest-SHA],
369 'EXCLUDED' => [
370 qw( t/pod.t
371 t/podcover.t
372 examples/dups
373 ),
374 ],
4f3a742d
DR
375 },
376
4f3a742d 377 'Dumpvalue' => {
f6e46c4d 378 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
379 'FILES' => q[dist/Dumpvalue],
380 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
381 },
382
4f3a742d 383 'Encode' => {
e455391f 384 'DISTRIBUTION' => 'DANKOGAI/Encode-2.72.tar.gz',
4f3a742d 385 'FILES' => q[cpan/Encode],
4f3a742d
DR
386 },
387
388 'encoding::warnings' => {
4f3a742d
DR
389 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
390 'FILES' => q[cpan/encoding-warnings],
391 'EXCLUDED' => [
392 qr{^inc/Module/},
94c85d8e 393 qw(t/0-signature.t),
4f3a742d 394 ],
4f3a742d
DR
395 },
396
4f3a742d 397 'Env' => {
126fc07f 398 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
399 'FILES' => q[dist/Env],
400 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
401 },
402
de84ff2b 403 'experimental' => {
e87ace2e 404 'DISTRIBUTION' => 'LEONT/experimental-0.013.tar.gz',
de84ff2b
RS
405 'FILES' => q[cpan/experimental],
406 'EXCLUDED' => [
407 qr{^t/release-.*\.t},
408 't/00-compile.t',
409 ],
410 },
411
4f3a742d 412 'Exporter' => {
4ac9c666 413 'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz',
3110a055 414 'FILES' => q[dist/Exporter],
4f3a742d
DR
415 'EXCLUDED' => [
416 qw( t/pod.t
417 t/use.t
418 ),
419 ],
4f3a742d
DR
420 },
421
422 'ExtUtils::CBuilder' => {
7e7942b7 423 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280220.tar.gz',
4f3a742d 424 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
425 'EXCLUDED' => [
426 qw(README.mkdn),
427 qr{^xt},
428 ],
4f3a742d
DR
429 },
430
431 'ExtUtils::Command' => {
2eb94604 432 'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz',
2ca4a82e 433 'FILES' => q[cpan/ExtUtils-Command],
4d25f022 434 'EXCLUDED' => [qr{^xt/}],
4f3a742d
DR
435 },
436
437 'ExtUtils::Constant' => {
4f3a742d
DR
438
439 # Nick has confirmed that while we have diverged from CPAN,
440 # this package isn't primarily maintained in core
441 # Another release will happen "Sometime"
442 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
443 'FILES' => q[cpan/ExtUtils-Constant],
444 'EXCLUDED' => [
445 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
446 examples/perl_keyword.pl
447 examples/perl_regcomp_posix_keyword.pl
448 ),
449 ],
4f3a742d
DR
450 },
451
452 'ExtUtils::Install' => {
f1c22b9e 453 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 454 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
455 'EXCLUDED' => [
456 qw( t/lib/Test/Builder.pm
457 t/lib/Test/Builder/Module.pm
458 t/lib/Test/More.pm
459 t/lib/Test/Simple.pm
460 t/pod-coverage.t
461 t/pod.t
462 ),
463 ],
4f3a742d
DR
464 },
465
466 'ExtUtils::MakeMaker' => {
6324db4a 467 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.04.tar.gz',
4f3a742d
DR
468 'FILES' => q[cpan/ExtUtils-MakeMaker],
469 'EXCLUDED' => [
470 qr{^t/lib/Test/},
471 qr{^(bundled|my)/},
472 qr{^t/Liblist_Kid.t},
473 qr{^t/liblist/},
78fd4358 474 qr{^\.perlcriticrc},
84c82da4
SH
475 'PATCHING',
476 'README.packaging',
4f3a742d 477 ],
0fcb6a36
CBW
478 # Applied upstream remove customisation when updating EUMM
479 'CUSTOMIZED' => [ qw[ t/pm_to_blib.t ] ],
4f3a742d
DR
480 },
481
482 'ExtUtils::Manifest' => {
f660499c 483 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 484 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
485 'EXCLUDED' => [
486 qr(^t/00-report-prereqs),
487 qr(^xt/)
488 ],
4f3a742d
DR
489 },
490
491 'ExtUtils::ParseXS' => {
c8131234 492 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
4f3a742d 493 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
494 },
495
4f3a742d 496 'File::Fetch' => {
9d56ca6f 497 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 498 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
499 },
500
4f3a742d 501 'File::Path' => {
8f65b4cd 502 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
503 'FILES' => q[cpan/File-Path],
504 'EXCLUDED' => [
505 qw( eg/setup-extra-tests
506 t/pod.t
507 )
508 ],
509 'MAP' => {
510 '' => 'cpan/File-Path/lib/File/',
511 't/' => 'cpan/File-Path/t/',
512 },
4f3a742d
DR
513 },
514
4f3a742d 515 'File::Temp' => {
3d5f905f 516 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
517 'FILES' => q[cpan/File-Temp],
518 'EXCLUDED' => [
519 qw( misc/benchmark.pl
520 misc/results.txt
521 ),
814e893f
CBW
522 qw[t/00-report-prereqs.t],
523 qr{^xt},
4f3a742d 524 ],
4f3a742d
DR
525 },
526
4f3a742d 527 'Filter::Simple' => {
37ffe967 528 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
529 'FILES' => q[dist/Filter-Simple],
530 'EXCLUDED' => [
4f3a742d
DR
531 qr{^demo/}
532 ],
4f3a742d
DR
533 },
534
535 'Filter::Util::Call' => {
51693ac9 536 'DISTRIBUTION' => 'RURBAN/Filter-1.54.tar.gz',
4f3a742d
DR
537 'FILES' => q[cpan/Filter-Util-Call
538 pod/perlfilter.pod
539 ],
540 'EXCLUDED' => [
541 qr{^decrypt/},
542 qr{^examples/},
543 qr{^Exec/},
544 qr{^lib/Filter/},
545 qr{^tee/},
546 qw( Call/Makefile.PL
547 Call/ppport.h
548 Call/typemap
549 mytest
550 t/cpp.t
551 t/decrypt.t
552 t/exec.t
553 t/order.t
4f3a742d
DR
554 t/sh.t
555 t/tee.t
533d93cc
SH
556 t/z_kwalitee.t
557 t/z_meta.t
558 t/z_perl_minimum_version.t
559 t/z_pod-coverage.t
560 t/z_pod.t
4f3a742d
DR
561 ),
562 ],
563 'MAP' => {
564 'Call/' => 'cpan/Filter-Util-Call/',
565 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
566 'perlfilter.pod' => 'pod/perlfilter.pod',
567 '' => 'cpan/Filter-Util-Call/',
568 },
4f3a742d
DR
569 },
570
4f3a742d 571 'Getopt::Long' => {
c7e74775 572 'DISTRIBUTION' => 'JV/Getopt-Long-2.45.tar.gz',
4f3a742d
DR
573 'FILES' => q[cpan/Getopt-Long],
574 'EXCLUDED' => [
575 qr{^examples/},
576 qw( perl-Getopt-Long.spec
577 lib/newgetopt.pl
974d5816 578 t/gol-compat.t
4f3a742d
DR
579 ),
580 ],
4f3a742d
DR
581 },
582
4f3a742d 583 'HTTP::Tiny' => {
bc14e8e2 584 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.054.tar.gz',
4f3a742d
DR
585 'FILES' => q[cpan/HTTP-Tiny],
586 'EXCLUDED' => [
fcfb9f49 587 't/00-report-prereqs.t',
57d69a40 588 't/00-report-prereqs.dd',
4f3a742d 589 't/200_live.t',
44347bc3 590 't/200_live_local_ip.t',
fcfb9f49 591 't/210_live_ssl.t',
4f3a742d
DR
592 qr/^eg/,
593 qr/^xt/
594 ],
4f3a742d
DR
595 },
596
597 'I18N::Collate' => {
4f3a742d
DR
598 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
599 'FILES' => q[dist/I18N-Collate],
600 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
601 },
602
4f3a742d 603 'I18N::LangTags' => {
4f3a742d 604 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
605 },
606
607 'if' => {
4f3a742d
DR
608 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
609 'FILES' => q[dist/if],
4f3a742d
DR
610 },
611
612 'IO' => {
4f3a742d
DR
613 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
614 'FILES' => q[dist/IO/],
615 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
616 },
617
618 'IO-Compress' => {
3acdfe42 619 'DISTRIBUTION' => 'PMQS/IO-Compress-2.068.tar.gz',
4f3a742d 620 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
621 'EXCLUDED' => [
622 qr{^examples/},
623 qr{^t/Test/},
624 't/010examples-bzip2.t',
625 't/010examples-zlib.t',
626 't/cz-05examples.t',
627 ],
4f3a742d
DR
628 },
629
74a30e96 630 'IO::Socket::IP' => {
f9c28d37 631 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.36.tar.gz',
74a30e96
CBW
632 'FILES' => q[cpan/IO-Socket-IP],
633 'EXCLUDED' => [
634 qr{^examples/},
635 ],
636 },
637
4f3a742d 638 'IO::Zlib' => {
4f3a742d
DR
639 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
640 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
641 },
642
643 'IPC::Cmd' => {
9c213c25 644 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 645 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
646 },
647
4f3a742d 648 'IPC::SysV' => {
dd0df890 649 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
650 'FILES' => q[cpan/IPC-SysV],
651 'EXCLUDED' => [
652 qw( const-c.inc
653 const-xs.inc
654 ),
655 ],
4f3a742d
DR
656 },
657
658 'JSON::PP' => {
87f3ebe4 659 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 660 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
661 },
662
663 'lib' => {
4f3a742d
DR
664 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
665 'FILES' => q[dist/lib/],
666 'EXCLUDED' => [
667 qw( forPAUSE/lib.pm
668 t/00pod.t
669 ),
670 ],
4f3a742d
DR
671 },
672
673 'libnet' => {
162b417c 674 'DISTRIBUTION' => 'SHAY/libnet-3.05.tar.gz',
4f3a742d
DR
675 'FILES' => q[cpan/libnet],
676 'EXCLUDED' => [
677 qw( Configure
2901a52f 678 t/changes.t
59e3cdd4
SH
679 t/critic.t
680 t/pod.t
681 t/pod_coverage.t
4f3a742d 682 ),
84c82da4 683 qr(^demos/),
dadfa42f 684 qr(^t/external/),
4f3a742d 685 ],
4f3a742d
DR
686 },
687
688 'Locale-Codes' => {
2107eff2 689 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.34.tar.gz',
4f3a742d
DR
690 'FILES' => q[cpan/Locale-Codes],
691 'EXCLUDED' => [
84c82da4 692 qw( README.first
8eadc45b 693 t/pod_coverage.ign
84c82da4 694 t/pod_coverage.t
4f3a742d
DR
695 t/pod.t),
696 qr{^t/runtests},
697 qr{^t/runtests\.bat},
698 qr{^internal/},
699 qr{^examples/},
700 ],
4f3a742d
DR
701 },
702
703 'Locale::Maketext' => {
2310e174 704 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
705 'FILES' => q[dist/Locale-Maketext],
706 'EXCLUDED' => [
707 qw(
708 perlcriticrc
709 t/00_load.t
710 t/pod.t
711 ),
712 ],
4f3a742d
DR
713 },
714
715 'Locale::Maketext::Simple' => {
4f3a742d
DR
716 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
717 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
718 },
719
4f3a742d 720 'Math::BigInt' => {
4ac9c666 721 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.9993.tar.gz',
4f3a742d
DR
722 'FILES' => q[dist/Math-BigInt],
723 'EXCLUDED' => [
724 qr{^inc/},
725 qr{^examples/},
726 qw( t/00sig.t
727 t/01load.t
728 t/02pod.t
729 t/03podcov.t
730 ),
731 ],
4f3a742d
DR
732 },
733
734 'Math::BigInt::FastCalc' => {
4ac9c666 735 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
4f3a742d
DR
736 'FILES' => q[dist/Math-BigInt-FastCalc],
737 'EXCLUDED' => [
738 qr{^inc/},
739 qw( t/00sig.t
740 t/01load.t
741 t/02pod.t
742 t/03podcov.t
743 ),
744
745 # instead we use the versions of these test
746 # files that come with Math::BigInt:
747 qw( t/bigfltpm.inc
748 t/bigfltpm.t
749 t/bigintpm.inc
750 t/bigintpm.t
751 t/mbimbf.inc
752 t/mbimbf.t
753 ),
754 ],
4f3a742d
DR
755 },
756
757 'Math::BigRat' => {
4ac9c666 758 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2606.tar.gz',
4f3a742d
DR
759 'FILES' => q[dist/Math-BigRat],
760 'EXCLUDED' => [
761 qr{^inc/},
762 qw( t/00sig.t
763 t/01load.t
764 t/02pod.t
765 t/03podcov.t
766 ),
767 ],
4f3a742d
DR
768 },
769
770 'Math::Complex' => {
04ae1553 771 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
772 'FILES' => q[cpan/Math-Complex],
773 'EXCLUDED' => [
774 qw( t/pod.t
775 t/pod-coverage.t
776 ),
777 ],
4f3a742d
DR
778 },
779
780 'Memoize' => {
8114efa0 781 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
782 'FILES' => q[cpan/Memoize],
783 'EXCLUDED' => ['article.html'],
4f3a742d
DR
784 },
785
786 'MIME::Base64' => {
6b10655d 787 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
788 'FILES' => q[cpan/MIME-Base64],
789 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
790 },
791
4f3a742d 792 'Module::CoreList' => {
2b29d4bc 793 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150220.tar.gz',
4f3a742d 794 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
795 },
796
797 'Module::Load' => {
58572ed8 798 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 799 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
800 },
801
802 'Module::Load::Conditional' => {
a1f2a8e1 803 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 804 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
805 },
806
807 'Module::Loaded' => {
4f3a742d
DR
808 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
809 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
810 },
811
812 'Module::Metadata' => {
e0f9ce34 813 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000026.tar.gz',
4f3a742d
DR
814 'FILES' => q[cpan/Module-Metadata],
815 'EXCLUDED' => [
b9beed70
SH
816 qw(README.md),
817 qw(t/00-report-prereqs.t),
adc2cdfb 818 qw(t/00-report-prereqs.dd),
4f3a742d
DR
819 qr{^xt},
820 ],
4f3a742d
DR
821 },
822
4f3a742d 823 'Net::Ping' => {
4e0aac35 824 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 825 'FILES' => q[dist/Net-Ping],
4e0aac35 826 'EXCLUDED' => [
4e0aac35
MM
827 qr{^README.md},
828 ],
4f3a742d
DR
829 },
830
831 'NEXT' => {
4f3a742d
DR
832 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
833 'FILES' => q[cpan/NEXT],
834 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
835 },
836
4f3a742d 837 'Params::Check' => {
8b21fa03 838 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 839 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
840 },
841
842 'parent' => {
11100026 843 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 844 'FILES' => q[cpan/parent],
4f3a742d
DR
845 },
846
847 'Parse::CPAN::Meta' => {
a2fd2fa0 848 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 849 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 850 'EXCLUDED' => [
342e4710
CBW
851 qw[t/00-report-prereqs.t],
852 qr{^xt},
853 ],
4f3a742d
DR
854 },
855
856 'PathTools' => {
4d90bfb5 857 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 858 'FILES' => q[dist/PathTools],
4f3a742d 859 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
860 },
861
97b1d6e6 862 'Perl::OSType' => {
819b03e2 863 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.008.tar.gz',
97b1d6e6 864 'FILES' => q[cpan/Perl-OSType],
765955c0 865 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
866 },
867
97b1d6e6 868 'perlfaq' => {
c57d3fcc 869 'DISTRIBUTION' => 'ETHER/perlfaq-5.021009.tar.gz',
97b1d6e6
SH
870 'FILES' => q[cpan/perlfaq],
871 'EXCLUDED' => [
4d25f022 872 qw( inc/CreateQuestionList.pm
e3ef4406 873 inc/perlfaq.tt
4d25f022
SH
874 t/00-compile.t),
875 qr{^xt/},
97b1d6e6 876 ],
97b1d6e6
SH
877 },
878
4f3a742d 879 'PerlIO::via::QuotedPrint' => {
7e286960 880 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 881 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
882
883 # Waiting to be merged upstream: see CPAN RT#54047
884 'CUSTOMIZED' => [
885 qw( t/QuotedPrint.t
886 ),
887 ],
888
4f3a742d
DR
889 },
890
0c501878 891 'Pod::Checker' => {
0c501878
CBW
892 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
893 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
894 },
895
4f3a742d 896 'Pod::Escapes' => {
f347d3e3 897 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 898 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
899 },
900
4f3a742d 901 'Pod::Parser' => {
534577b2 902 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 903 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
904 },
905
906 'Pod::Perldoc' => {
96f13870 907 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 908 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 909
fa884b76
DM
910 # Note that we use the CPAN-provided Makefile.PL, since it
911 # contains special handling of the installation of perldoc.pod
912
913 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
914 # instead
915 # XXX We can and should fix this, but clean up the DRY-failure in utils
916 # first
917 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
918 },
919
920 'Pod::Simple' => {
f23676cb 921 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.29.tar.gz',
4f3a742d 922 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
923 },
924
0c501878 925 'Pod::Usage' => {
5b597d1b 926 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz',
0c501878 927 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
928 },
929
4f3a742d 930 'podlators' => {
b52cde68 931 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
932 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
933
934 # The perl distribution has pod2man.PL and pod2text.PL, which are
935 # run to create pod2man and pod2text, while the CPAN distribution
936 # just has the post-generated pod2man and pod2text files.
937 # The following entries attempt to codify that odd fact.
938 'CUSTOMIZED' => [
939 qw( scripts/pod2man.PL
940 scripts/pod2text.PL
4f3a742d
DR
941 ),
942 ],
943 'MAP' => {
944 '' => 'cpan/podlators/',
945 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
946 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
947
948 # this file lives outside the cpan/ directory
949 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
950 },
4f3a742d
DR
951 },
952
4f3a742d 953 'Safe' => {
e739c653 954 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 955 'FILES' => q[dist/Safe],
4f3a742d
DR
956 },
957
958 'Scalar-List-Utils' => {
46274848 959 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.41.tar.gz',
cb8c8458 960 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
961 },
962
4f3a742d 963 'Search::Dict' => {
0b0a7092 964 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 965 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
966 },
967
968 'SelfLoader' => {
c3958279 969 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
970 'FILES' => q[dist/SelfLoader],
971 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
972 },
973
4f3a742d 974 'Socket' => {
7ec80894 975 'DISTRIBUTION' => 'PEVANS/Socket-2.018.tar.gz',
4f3a742d 976 'FILES' => q[cpan/Socket],
4f3a742d
DR
977 },
978
979 'Storable' => {
5f4b5e0f 980 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 981 'FILES' => q[dist/Storable],
4f3a742d
DR
982 },
983
4f3a742d 984 'Sys::Syslog' => {
848ca32c 985 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
986 'FILES' => q[cpan/Sys-Syslog],
987 'EXCLUDED' => [
988 qr{^eg/},
84c82da4
SH
989 qw( README.win32
990 t/data-validation.t
4f3a742d
DR
991 t/distchk.t
992 t/pod.t
993 t/podcover.t
994 t/podspell.t
995 t/portfs.t
996 win32/PerlLog.RES
4f3a742d
DR
997 ),
998 ],
4f3a742d
DR
999 },
1000
1001 'Term::ANSIColor' => {
5e64492f 1002 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1003 'FILES' => q[cpan/Term-ANSIColor],
1004 'EXCLUDED' => [
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' => {
663bce88 1014 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.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',
4f3a742d 1032 'FILES' => q[cpan/Test],
4f3a742d
DR
1033 },
1034
1035 'Test::Harness' => {
2cc1a90a 1036 'DISTRIBUTION' => 'LEONT/Test-Harness-3.35.tar.gz',
4f3a742d
DR
1037 'FILES' => q[cpan/Test-Harness],
1038 'EXCLUDED' => [
1039 qr{^examples/},
1040 qr{^inc/},
1041 qr{^t/lib/Test/},
1042 qr{^xt/},
1043 qw( Changes-2.64
8db65552 1044 MANIFEST.CUMMULATIVE
4f3a742d
DR
1045 NotBuild.PL
1046 HACKING.pod
1047 perlcriticrc
8db65552 1048 t/000-load.t
4f3a742d
DR
1049 t/lib/if.pm
1050 ),
1051 ],
4f3a742d
DR
1052 },
1053
1054 'Test::Simple' => {
80a7dd19 1055 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1056 'FILES' => q[cpan/Test-Simple],
1057 'EXCLUDED' => [
6dab8563 1058 qr{^t/xt},
86e082c9 1059 qr{^xt},
4f3a742d
DR
1060 qw( .perlcriticrc
1061 .perltidyrc
84c82da4
SH
1062 examples/indent.pl
1063 examples/subtest.t
80a7dd19 1064 t/00compile.t
18864292 1065 t/xxx-changes_updated.t
4f3a742d
DR
1066 ),
1067 ],
f266b743 1068 },
4f3a742d
DR
1069
1070 'Text::Abbrev' => {
5e96eee9 1071 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1072 'FILES' => q[dist/Text-Abbrev],
1073 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1074 },
1075
1076 'Text::Balanced' => {
03a97c81 1077 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1078 'FILES' => q[cpan/Text-Balanced],
1079 'EXCLUDED' => [
1080 qw( t/97_meta.t
1081 t/98_pod.t
1082 t/99_pmv.t
1083 ),
1084 ],
4f3a742d
DR
1085 },
1086
1087 'Text::ParseWords' => {
a790e348 1088 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1089 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1090
a790e348
SH
1091 # Waiting to be merged upstream:
1092 # see https://github.com/chorny/Text-ParseWords/pull/6
f81a37f2
SH
1093 'CUSTOMIZED' => [
1094 qw( t/ParseWords.t
f81a37f2
SH
1095 ),
1096 ],
4f3a742d
DR
1097 },
1098
4f3a742d 1099 'Text-Tabs+Wrap' => {
83aea42c 1100 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1101 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1102 'EXCLUDED' => [
1103 qr/^lib\.old/,
1104 't/dnsparks.t', # see af6492bf9e
4f3a742d 1105 ],
e7b92d54
SH
1106 'MAP' => {
1107 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1108 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1109 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1110 },
4f3a742d
DR
1111 },
1112
4e75700d
AC
1113 # Jerry Hedden does take patches that are applied to blead first, even
1114 # though that can be hard to discern from the Git history; so it's
1115 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1116 # to be under dist/ rather than cpan/
4f3a742d 1117 'Thread::Queue' => {
4e75700d 1118 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
4f3a742d
DR
1119 'FILES' => q[dist/Thread-Queue],
1120 'EXCLUDED' => [
1fd4700e
JH
1121 qr{^examples/},
1122 qw( t/00_load.t
4f3a742d
DR
1123 t/99_pod.t
1124 t/test.pl
1125 ),
1126 ],
4f3a742d
DR
1127 },
1128
1129 'Thread::Semaphore' => {
4f3a742d
DR
1130 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1131 'FILES' => q[dist/Thread-Semaphore],
1132 'EXCLUDED' => [
1133 qw( examples/semaphore.pl
1134 t/00_load.t
1135 t/99_pod.t
1136 t/test.pl
1137 ),
1138 ],
4f3a742d
DR
1139 },
1140
1141 'threads' => {
34a7e7b7 1142 'DISTRIBUTION' => 'JDHEDDEN/threads-1.99.tar.gz',
4f3a742d
DR
1143 'FILES' => q[dist/threads],
1144 'EXCLUDED' => [
1145 qr{^examples/},
1146 qw( t/pod.t
1147 t/test.pl
1148 threads.h
1149 ),
1150 ],
4f3a742d
DR
1151 },
1152
1153 'threads::shared' => {
a5368aeb 1154 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
4f3a742d
DR
1155 'FILES' => q[dist/threads-shared],
1156 'EXCLUDED' => [
1157 qw( examples/class.pl
1158 shared.h
1159 t/pod.t
1160 t/test.pl
1161 ),
1162 ],
4f3a742d
DR
1163 },
1164
1165 'Tie::File' => {
4ac9c666 1166 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1167 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1168 },
1169
4f3a742d 1170 'Tie::RefHash' => {
4f3a742d
DR
1171 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1172 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1173 },
1174
1175 'Time::HiRes' => {
0f0eae2c 1176 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1177 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1178 },
1179
1180 'Time::Local' => {
62e824cf 1181 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1182 'FILES' => q[cpan/Time-Local],
1183 'EXCLUDED' => [
62e824cf 1184 qr{^t/release-.*\.t},
4f3a742d 1185 ],
4f3a742d
DR
1186 },
1187
1188 'Time::Piece' => {
03d59818 1189 'DISTRIBUTION' => 'RJBS/Time-Piece-1.29.tar.gz',
4f3a742d 1190 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1191 },
1192
1193 'Unicode::Collate' => {
3d7de2d1 1194 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.11.tar.gz',
4f3a742d
DR
1195 'FILES' => q[cpan/Unicode-Collate],
1196 'EXCLUDED' => [
1197 qr{N$},
1198 qr{^data/},
1199 qr{^gendata/},
1200 qw( disableXS
1201 enableXS
1202 mklocale
1203 ),
1204 ],
4f3a742d
DR
1205 },
1206
1207 'Unicode::Normalize' => {
95f3e8d2 1208 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.18.tar.gz',
4f3a742d 1209 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1210 },
1211
4f3a742d 1212 'version' => {
da891a41 1213 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1214 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1215 'EXCLUDED' => [
df3ba8e7 1216 qr{^vutil/lib/},
c60b4fa6 1217 'vutil/Makefile.PL',
df3ba8e7
FC
1218 'vutil/ppport.h',
1219 'vutil/vxs.xs',
4f3a742d 1220 't/survey_locales',
4f3a742d 1221 ],
f81a37f2 1222
c872d591
SH
1223 # When adding the CPAN-distributed files for version.pm, it is necessary
1224 # to delete an entire block out of lib/version.pm, since that code is
1225 # only necessary with the CPAN release.
f81a37f2
SH
1226 'CUSTOMIZED' => [
1227 qw( lib/version.pm
f81a37f2 1228 ),
4637d007
SH
1229
1230 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1231 qw( vutil.c
4637d007 1232 ),
f81a37f2
SH
1233 ],
1234
df3ba8e7 1235 'MAP' => {
4fa93b19
SH
1236 'vperl/' => 'cpan/version/lib/version/',
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' => {
1ead70b6 1252 'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz",
4f3a742d 1253 'FILES' => q[cpan/Win32],
4f3a742d
DR
1254 },
1255
1256 'Win32API::File' => {
e5240100 1257 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1258 'FILES' => q[cpan/Win32API-File],
1259 'EXCLUDED' => [
1260 qr{^ex/},
4f3a742d 1261 ],
4f3a742d
DR
1262 },
1263
4f3a742d 1264 'XSLoader' => {
681a49bf 1265 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.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[
09213599 1290 ext/B/
2af3c4b9
SH
1291 ext/Devel-Peek/
1292 ext/DynaLoader/
1293 ext/Errno/
7b4d95f7 1294 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1295 ext/Fcntl/
1296 ext/File-DosGlob/
1297 ext/File-Find/
1298 ext/File-Glob/
1299 ext/FileCache/
1300 ext/GDBM_File/
1301 ext/Hash-Util-FieldHash/
1302 ext/Hash-Util/
1303 ext/I18N-Langinfo/
1304 ext/IPC-Open3/
1305 ext/NDBM_File/
1306 ext/ODBM_File/
1307 ext/Opcode/
1308 ext/POSIX/
1309 ext/PerlIO-encoding/
1310 ext/PerlIO-mmap/
1311 ext/PerlIO-scalar/
1312 ext/PerlIO-via/
1313 ext/Pod-Functions/
1314 ext/Pod-Html/
1315 ext/SDBM_File/
1316 ext/Sys-Hostname/
1317 ext/Tie-Hash-NamedCapture/
1318 ext/Tie-Memoize/
b3dcf775 1319 ext/VMS-DCLsym/
2af3c4b9 1320 ext/VMS-Filespec/
b3dcf775
SH
1321 ext/VMS-Stdio/
1322 ext/Win32CORE/
4f3a742d 1323 ext/XS-APItest/
2af3c4b9
SH
1324 ext/XS-Typemap/
1325 ext/arybase/
1326 ext/attributes/
1327 ext/mro/
1328 ext/re/
1329 lib/AnyDBM_File.{pm,t}
1330 lib/Benchmark.{pm,t}
38eca645 1331 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1332 lib/B/Op_private.pm
4f3a742d 1333 lib/CORE.pod
2af3c4b9 1334 lib/Class/Struct.{pm,t}
4f3a742d
DR
1335 lib/Config.t
1336 lib/Config/Extensions.{pm,t}
1337 lib/DB.{pm,t}
2af3c4b9
SH
1338 lib/DBM_Filter.pm
1339 lib/DBM_Filter/
1340 lib/DirHandle.{pm,t}
1341 lib/English.{pm,t}
4f3a742d
DR
1342 lib/ExtUtils/Embed.pm
1343 lib/ExtUtils/XSSymSet.pm
1344 lib/ExtUtils/t/Embed.t
1345 lib/ExtUtils/typemap
2af3c4b9
SH
1346 lib/File/Basename.{pm,t}
1347 lib/File/Compare.{pm,t}
1348 lib/File/Copy.{pm,t}
1349 lib/File/stat{.pm,.t,-7896.t}
1350 lib/FileHandle.{pm,t}
1351 lib/FindBin.{pm,t}
1352 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1353 lib/Internals.t
1354 lib/Net/hostent.{pm,t}
1355 lib/Net/netent.{pm,t}
1356 lib/Net/protoent.{pm,t}
1357 lib/Net/servent.{pm,t}
2af3c4b9 1358 lib/PerlIO.pm
4f3a742d
DR
1359 lib/Pod/t/InputObjects.t
1360 lib/Pod/t/Select.t
1361 lib/Pod/t/Usage.t
4f3a742d
DR
1362 lib/Pod/t/utils.t
1363 lib/SelectSaver.{pm,t}
1364 lib/Symbol.{pm,t}
1365 lib/Thread.{pm,t}
1366 lib/Tie/Array.pm
1367 lib/Tie/Array/
1368 lib/Tie/ExtraHash.t
1369 lib/Tie/Handle.pm
1370 lib/Tie/Handle/
2af3c4b9 1371 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1372 lib/Tie/Scalar.{pm,t}
1373 lib/Tie/StdHandle.pm
1374 lib/Tie/SubstrHash.{pm,t}
1375 lib/Time/gmtime.{pm,t}
1376 lib/Time/localtime.{pm,t}
1377 lib/Time/tm.pm
1378 lib/UNIVERSAL.pm
1379 lib/Unicode/README
2af3c4b9 1380 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1381 lib/User/grent.{pm,t}
1382 lib/User/pwent.{pm,t}
2af3c4b9 1383 lib/_charnames.pm
4f3a742d
DR
1384 lib/blib.{pm,t}
1385 lib/bytes.{pm,t}
1386 lib/bytes_heavy.pl
1387 lib/charnames.{pm,t}
1388 lib/dbm_filter_util.pl
1389 lib/deprecate.pm
2af3c4b9 1390 lib/diagnostics.{pm,t}
4f3a742d
DR
1391 lib/dumpvar.{pl,t}
1392 lib/feature.{pm,t}
1393 lib/feature/
1394 lib/filetest.{pm,t}
1395 lib/h2ph.t
1396 lib/h2xs.t
1397 lib/integer.{pm,t}
1398 lib/less.{pm,t}
1399 lib/locale.{pm,t}
1400 lib/open.{pm,t}
1401 lib/overload/numbers.pm
1402 lib/overloading.{pm,t}
2af3c4b9 1403 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1404 lib/perl5db.{pl,t}
1405 lib/perl5db/
2af3c4b9 1406 lib/sigtrap.{pm,t}
4f3a742d
DR
1407 lib/sort.{pm,t}
1408 lib/strict.{pm,t}
1409 lib/subs.{pm,t}
1410 lib/unicore/
1411 lib/utf8.{pm,t}
1412 lib/utf8_heavy.pl
1413 lib/vars{.pm,.t,_carp.t}
1414 lib/vmsish.{pm,t}
1415 ],
4f3a742d 1416 },
462ea751 1417);
b128a327 1418
97556ec3 1419# legacy CPAN flag
4f3a742d 1420for ( values %Modules ) {
97556ec3
GA
1421 $_->{CPAN} = !!$_->{DISTRIBUTION};
1422}
1423
099bebb1
SH
1424# legacy UPSTREAM flag
1425for ( keys %Modules ) {
1426 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1427 next if exists $Modules{$_}{UPSTREAM};
1428
1429 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1430 $Modules{$_}{UPSTREAM} = 'blead';
1431 }
1432 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1433 $Modules{$_}{UPSTREAM} = 'cpan';
1434 }
1435 else {
1436 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1437 }
1438}
1439
d350de41 1440# legacy MAINTAINER field
099bebb1 1441for ( keys %Modules ) {
b3dcf775 1442 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1443 next if exists $Modules{$_}{MAINTAINER};
1444
1445 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1446 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1447 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1448 }
099bebb1
SH
1449 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1450 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1451 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1452 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1453 }
099bebb1
SH
1454 else {
1455 warn "No DISTRIBUTION for non-blead module $_";
1456 }
d350de41
SH
1457}
1458
b128a327 14591;