This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Scalar-List-Utils from version 1.34 to 1.35
[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
4f3a742d 14%Maintainers = (
872818ae 15 'CBERRY' => 'Craig Berry <craigberry@mac.com>',
872818ae 16 'JDB' => 'Jan Dubois <jand@activestate.com>',
872818ae 17 'PMQS' => 'Paul Marquess <pmqs@cpan.org>',
872818ae 18 'SMCCAM' => 'Stephen McCamant <smccam@cpan.org>',
4f3a742d 19);
2c95b6e4
DM
20
21# IGNORABLE: files which, if they appear in the root of a CPAN
22# distribution, need not appear in core (i.e. core-cpan-diff won't
23# complain if it can't find them)
24
25@IGNORABLE = qw(
26 .cvsignore .dualLivedDiffConfig .gitignore
27 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
d4e90f16 28 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying
01b177dd
CBW
29 cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
30 Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
31 MYMETA.yml NEW NOTES perlcritic.rc ppport.h README README.PATCHING
32 SIGNATURE THANKS TODO Todo VERSION WHATSNEW
2c95b6e4
DM
33);
34
e30e10b5 35# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 36# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
37# CPAN distribution.
38
39# The keys of %Modules are human descriptions of the distributions, and
40# may not exactly match a module or distribution name. Distributions
41# which have an obvious top-level module associated with them will usually
42# have a key named for that module, e.g. 'Archive::Extract' for
43# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
44# on the name of the distribution, e.g. 'Locale-Codes' for
45# Locale-Codes-N.NN.tar.gz'.
d350de41 46
099bebb1
SH
47# UPSTREAM indicates where patches should go. This is generally now
48# inferred from the FILES: modules with files in dist/, ext/ and lib/
49# are understood to have UPSTREAM 'blead', meaning that the copy of the
50# module in the blead sources is to be considered canonical, while
51# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
52# meaning that the module on CPAN is to be patched first.
53
d350de41
SH
54# MAINTAINER indicates who the current maintainer of the module is. For
55# modules with no MAINTAINER field given, this is understood to be either
099bebb1
SH
56# the Perl 5 Porters if UPSTREAM is 'blead', or else the CPAN author whose
57# PAUSE user ID forms the first part of the DISTRIBUTION value, e.g.
58# 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.92.tar.gz'. (PAUSE's View
59# Permissions page may be consulted to find other authors who have owner
60# or co-maint permissions for the module in question.) The few explicitly
61# listed MAINTAINERs refer to authors whose email address is listed in the
d350de41
SH
62# %Maintainers hash above.
63
e30e10b5
DM
64# FILES is a list of filenames, glob patterns, and directory
65# names to be recursed down, which collectively generate a complete list
66# of the files associated with the distribution.
67
e1466347
JC
68# BUGS is an email or url to post bug reports. For modules with
69# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
70# appears to automatically provide a URL for CPAN modules; any value
71# given here overrides the default:
72# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
73
a55d270d
DM
74# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
75# included in core are derived from. Note that the file's version may not
76# necessarily match the newest version on CPAN.
77
2c95b6e4
DM
78# EXCLUDED is a list of files to be excluded from a CPAN tarball before
79# comparing the remaining contents with core. Each item can either be a
80# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
81# It defaults to the empty list.
82
d43babf1 83# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
84# Perl core. Use this whenever patching a cpan upstream distribution
85# or whenever we expect to have a file that differs from the tarball.
86# If the file in blead matches the file in the tarball from CPAN,
87# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 88# customization might have been lost when updating from upstream. The
f81a37f2
SH
89# path should be relative to the distribution directory. If the upstream
90# distribution should be modified to incorporate the change then be sure
91# to raise a ticket for it on rt.cpan.org and add a comment alongside the
92# list of CUSTOMIZED files noting the ticket number.
d43babf1 93
ab87ca4d
DG
94# DEPRECATED contains the *first* version of Perl in which the module
95# was considered deprecated. It should only be present if the module is
96# actually deprecated. Such modules should use deprecated.pm to
97# issue a warning if used. E.g.:
98#
99# use if $] >= 5.011, 'deprecate';
100#
101
2c95b6e4 102# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 103# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
104# first. The first match causes that prefix to be replaced with the
105# corresponding key. For example, with the following MAP:
613f422f 106# {
4f3a742d
DR
107# 'lib/' => 'lib/',
108# '' => 'lib/Foo/',
2c95b6e4
DM
109# },
110#
111# these files are mapped as shown:
112#
113# README becomes lib/Foo/README
613f422f 114# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
115#
116# The default is dependent on the type of module.
117# For distributions which appear to be stored under ext/, it defaults to:
118#
119# { '' => 'ext/Foo-Bar/' }
120#
121# otherwise, it's
122#
613f422f 123# {
4f3a742d
DR
124# 'lib/' => 'lib/',
125# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
126# }
127
b128a327
JH
128%Modules = (
129
4f3a742d 130 'Archive::Tar' => {
14f3ea66 131 'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.92.tar.gz',
4f3a742d 132 'FILES' => q[cpan/Archive-Tar],
4f3a742d
DR
133 'BUGS' => 'bug-archive-tar@rt.cpan.org',
134 },
135
136 'Attribute::Handlers' => {
e9742164 137 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
4f3a742d 138 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
139 },
140
4f3a742d 141 'autodie' => {
ff4ad1c0 142 'DISTRIBUTION' => 'PJF/autodie-2.22.tar.gz',
4f3a742d
DR
143 'FILES' => q[cpan/autodie],
144 'EXCLUDED' => [
273225d4 145 qr{benchmarks},
4f3a742d
DR
146 # All these tests depend upon external
147 # modules that don't exist when we're
148 # building the core. Hence, they can
149 # never run, and should not be merged.
ff4ad1c0
SH
150 qw( t/author-critic.t
151 t/boilerplate.t
4f3a742d
DR
152 t/critic.t
153 t/fork.t
154 t/kwalitee.t
155 t/lex58.t
156 t/pod-coverage.t
157 t/pod.t
273225d4
CBW
158 t/release-pod-coverage.t
159 t/release-pod-syntax.t
4f3a742d
DR
160 t/socket.t
161 t/system.t
162 )
163 ],
a1a6b6b3 164 'CUSTOMIZED' => [
dd9a180e
CB
165 # Waiting to be merged upstream: see CPAN RT#87237
166 qw( t/utf8_open.t ),
a1a6b6b3 167 ],
4f3a742d
DR
168 },
169
170 'AutoLoader' => {
07e2e970 171 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
4f3a742d
DR
172 'FILES' => q[cpan/AutoLoader],
173 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
174 },
175
176 'autouse' => {
adac38df 177 'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
4f3a742d
DR
178 'FILES' => q[dist/autouse],
179 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
180 },
181
182 'B' => {
4f3a742d
DR
183 'FILES' => q[ext/B],
184 'EXCLUDED' => [
185 qw( B/Concise.pm
186 t/concise.t
187 ),
188 ],
4f3a742d
DR
189 },
190
191 'B::Concise' => {
872818ae 192 'MAINTAINER' => 'SMCCAM',
4f3a742d 193 'FILES' => q[ext/B/B/Concise.pm ext/B/t/concise.t],
4f3a742d
DR
194 },
195
196 'B::Debug' => {
9d2d23d9 197 'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
4f3a742d
DR
198 'FILES' => q[cpan/B-Debug],
199 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
200 },
201
202 'B::Deparse' => {
872818ae 203 'MAINTAINER' => 'SMCCAM',
4f3a742d 204 'FILES' => q[dist/B-Deparse],
4f3a742d
DR
205 },
206
4f3a742d 207 'base' => {
7af2899e 208 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 209 'FILES' => q[dist/base],
4f3a742d
DR
210 },
211
4f3a742d 212 'bignum' => {
168d28a2 213 'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
4f3a742d
DR
214 'FILES' => q[dist/bignum],
215 'EXCLUDED' => [
216 qr{^inc/Module/},
217 qw( t/pod.t
218 t/pod_cov.t
219 ),
220 ],
4f3a742d
DR
221 },
222
223 'Carp' => {
cc24d4fc 224 'DISTRIBUTION' => 'ZEFRAM/Carp-1.32.tar.gz',
4f3a742d 225 'FILES' => q[dist/Carp],
4f3a742d
DR
226 },
227
228 'CGI' => {
a2b3762a 229 'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
4f3a742d
DR
230 'FILES' => q[cpan/CGI],
231 'EXCLUDED' => [
84c82da4 232 qr{^examples/},
a506842e 233 qw( cgi_docs.html
4f3a742d
DR
234 t/gen-tests/gen-start-end-tags.pl
235 t/fast.t
236 ),
237 ],
4f3a742d
DR
238 },
239
4f3a742d 240 'Compress::Raw::Bzip2' => {
ef379d05 241 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.062.tar.gz',
4f3a742d
DR
242 'FILES' => q[cpan/Compress-Raw-Bzip2],
243 'EXCLUDED' => [
244 qr{^t/Test/},
245 'bzip2-src/bzip2-cpp.patch',
246 ],
4f3a742d
DR
247 },
248
249 'Compress::Raw::Zlib' => {
ef379d05 250 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.062.tar.gz',
4f3a742d
DR
251
252 'FILES' => q[cpan/Compress-Raw-Zlib],
253 'EXCLUDED' => [
84c82da4 254 qr{^examples/},
4f3a742d
DR
255 qr{^t/Test/},
256 qw( t/000prereq.t
257 t/99pod.t
258 ),
259 ],
4f3a742d
DR
260 },
261
4b07058c 262 'Config::Perl::V' => {
89e01640 263 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
4b07058c 264 'FILES' => q[cpan/Config-Perl-V],
1fe0c842 265 'EXCLUDED' => ['examples/show-v.pl'],
4b07058c
RS
266 },
267
4f3a742d 268 'constant' => {
e2943784 269 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
270 'FILES' => q[dist/constant],
271 'EXCLUDED' => [
272 qw( t/00-load.t
273 t/more-tests.t
274 t/pod-coverage.t
275 t/pod.t
276 eg/synopsis.pl
277 ),
278 ],
4f3a742d
DR
279 },
280
281 'CPAN' => {
bfae5bde 282 'DISTRIBUTION' => 'ANDK/CPAN-2.03-TRIAL.tar.gz',
4f3a742d
DR
283 'FILES' => q[cpan/CPAN],
284 'EXCLUDED' => [
285 qr{^distroprefs/},
286 qr{^inc/Test/},
287 qr{^t/CPAN/authors/},
288 qw( lib/CPAN/Admin.pm
6156383d 289 scripts/cpan-mirrors
bfae5bde 290 PAUSE2015.pub
4f3a742d
DR
291 SlayMakefile
292 t/00signature.t
293 t/04clean_load.t
294 t/12cpan.t
295 t/13tarzip.t
296 t/14forkbomb.t
297 t/30shell.coverage
298 t/30shell.t
299 t/31sessions.t
300 t/41distribution.t
301 t/42distroprefs.t
6156383d 302 t/44cpanmeta.t
4f3a742d
DR
303 t/43distroprefspref.t
304 t/50pod.t
305 t/51pod.t
306 t/52podcover.t
307 t/60credentials.t
308 t/70_critic.t
bfae5bde 309 t/71_minimumversion.t
4f3a742d
DR
310 t/CPAN/CpanTestDummies-1.55.pm
311 t/CPAN/TestConfig.pm
312 t/CPAN/TestMirroredBy
313 t/CPAN/TestPatch.txt
314 t/CPAN/modules/02packages.details.txt
315 t/CPAN/modules/03modlist.data
6156383d 316 t/data/META-dynamic.json
4f3a742d 317 t/data/META-dynamic.yml
6156383d 318 t/data/META-static.json
4f3a742d 319 t/data/META-static.yml
6156383d
SH
320 t/data/MYMETA.json
321 t/data/MYMETA.yml
4f3a742d
DR
322 t/local_utils.pm
323 t/perlcriticrc
324 t/yaml_code.yml
325 ),
326 ],
4f3a742d
DR
327 },
328
278337cd
CBW
329 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
330 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 331 'CPAN::Meta' => {
229563a9 332 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132830.tar.gz',
4f3a742d
DR
333 'FILES' => q[cpan/CPAN-Meta],
334 'EXCLUDED' => [
ecaff076 335 qw(t/00-compile.t),
7f6e6ca2 336 qw[t/00-report-prereqs.t],
229563a9 337 qr{t/README-data.txt},
4f3a742d
DR
338 qr{^xt},
339 qr{^history},
340 ],
4f3a742d
DR
341 },
342
b6ae0ea7 343 'CPAN::Meta::Requirements' => {
56284aa9 344 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
345 'FILES' => q[cpan/CPAN-Meta-Requirements],
346 'EXCLUDED' => [
347 qw(t/00-compile.t),
c4814040 348 qw(t/00-report-prereqs.t),
b6ae0ea7
CBW
349 qr{^xt},
350 qr{^history},
351 ],
b6ae0ea7
CBW
352 },
353
4f3a742d 354 'CPAN::Meta::YAML' => {
9c5cc6d5 355 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.010.tar.gz',
4f3a742d
DR
356 'FILES' => q[cpan/CPAN-Meta-YAML],
357 'EXCLUDED' => [
b3100a1d 358 't/00-compile.t',
4f3a742d
DR
359 't/04_scalar.t', # requires YAML.pm
360 qr{^xt},
361 ],
4f3a742d
DR
362 },
363
364 'Data::Dumper' => {
0fcd5a59 365 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
4f3a742d 366 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
367 },
368
369 'DB_File' => {
10af739e 370 'DISTRIBUTION' => 'PMQS/DB_File-1.829.tar.gz',
4f3a742d
DR
371 'FILES' => q[cpan/DB_File],
372 'EXCLUDED' => [
373 qr{^patches/},
374 qw( t/pod.t
375 fallback.h
376 fallback.xs
377 ),
378 ],
4f3a742d
DR
379 },
380
4f3a742d 381 'Devel::PPPort' => {
c74cf62f 382 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
099bebb1
SH
383 # RJBS has asked MHX to have UPSTREAM be 'blead'
384 # (i.e. move this from cpan/ to dist/)
4f3a742d 385 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
386 'EXCLUDED' => [
387 'PPPort.pm', # we use PPPort_pm.PL instead
388 'README.md',
389 ]
4f3a742d
DR
390 },
391
97b1d6e6 392 'Devel::SelfStubber' => {
97b1d6e6
SH
393 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
394 'FILES' => q[dist/Devel-SelfStubber],
395 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
396 },
397
4f3a742d 398 'Digest' => {
4f3a742d
DR
399 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
400 'FILES' => q[cpan/Digest],
401 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
402 },
403
404 'Digest::MD5' => {
aeb2a38c 405 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
406 'FILES' => q[cpan/Digest-MD5],
407 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 408 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 409 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
410 },
411
412 'Digest::SHA' => {
96d38a9d 413 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.85.tar.gz',
4f3a742d
DR
414 'FILES' => q[cpan/Digest-SHA],
415 'EXCLUDED' => [
416 qw( t/pod.t
417 t/podcover.t
418 examples/dups
419 ),
420 ],
4f3a742d
DR
421 },
422
4f3a742d 423 'Dumpvalue' => {
f6e46c4d 424 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
425 'FILES' => q[dist/Dumpvalue],
426 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
427 },
428
4f3a742d 429 'Encode' => {
369b9ffe 430 'DISTRIBUTION' => 'DANKOGAI/Encode-2.55.tar.gz',
4f3a742d 431 'FILES' => q[cpan/Encode],
4f3a742d
DR
432 },
433
434 'encoding::warnings' => {
4f3a742d
DR
435 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
436 'FILES' => q[cpan/encoding-warnings],
437 'EXCLUDED' => [
438 qr{^inc/Module/},
94c85d8e 439 qw(t/0-signature.t),
4f3a742d 440 ],
4f3a742d
DR
441 },
442
4f3a742d 443 'Env' => {
126fc07f 444 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
445 'FILES' => q[dist/Env],
446 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
447 },
448
4f3a742d 449 'Exporter' => {
b5de49e5 450 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
3110a055 451 'FILES' => q[dist/Exporter],
4f3a742d
DR
452 'EXCLUDED' => [
453 qw( t/pod.t
454 t/use.t
455 ),
456 ],
4f3a742d
DR
457 },
458
459 'ExtUtils::CBuilder' => {
a0e78e9f 460 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280212.tar.gz',
4f3a742d 461 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
462 'EXCLUDED' => [
463 qw(README.mkdn),
464 qr{^xt},
465 ],
4f3a742d
DR
466 },
467
468 'ExtUtils::Command' => {
044aa601 469 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
4f3a742d
DR
470 'FILES' => q[dist/ExtUtils-Command],
471 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
472 },
473
474 'ExtUtils::Constant' => {
4f3a742d
DR
475
476 # Nick has confirmed that while we have diverged from CPAN,
477 # this package isn't primarily maintained in core
478 # Another release will happen "Sometime"
479 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
480 'FILES' => q[cpan/ExtUtils-Constant],
481 'EXCLUDED' => [
482 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
483 examples/perl_keyword.pl
484 examples/perl_regcomp_posix_keyword.pl
485 ),
486 ],
4f3a742d
DR
487 },
488
489 'ExtUtils::Install' => {
4f3a742d
DR
490 'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
491 'FILES' => q[dist/ExtUtils-Install],
492 'EXCLUDED' => [
493 qw( t/lib/Test/Builder.pm
494 t/lib/Test/Builder/Module.pm
495 t/lib/Test/More.pm
496 t/lib/Test/Simple.pm
497 t/pod-coverage.t
498 t/pod.t
499 ),
500 ],
4f3a742d
DR
501 },
502
503 'ExtUtils::MakeMaker' => {
53d48b8b 504 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.80.tar.gz',
4f3a742d
DR
505 'FILES' => q[cpan/ExtUtils-MakeMaker],
506 'EXCLUDED' => [
507 qr{^t/lib/Test/},
508 qr{^(bundled|my)/},
509 qr{^t/Liblist_Kid.t},
510 qr{^t/liblist/},
78fd4358 511 qr{^\.perlcriticrc},
84c82da4
SH
512 'PATCHING',
513 'README.packaging',
4f3a742d 514 ],
4f3a742d
DR
515 },
516
517 'ExtUtils::Manifest' => {
6db8f88e 518 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
4f3a742d
DR
519 'FILES' => q[dist/ExtUtils-Manifest],
520 'EXCLUDED' => [qr(t/release-.*\.t)],
4f3a742d
DR
521 },
522
523 'ExtUtils::ParseXS' => {
c0bf20e0 524 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.22.tar.gz',
4f3a742d 525 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
526 },
527
4f3a742d 528 'File::Fetch' => {
2900b141 529 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.44.tar.gz',
4f3a742d 530 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
531 },
532
4f3a742d 533 'File::Path' => {
8f65b4cd 534 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
535 'FILES' => q[cpan/File-Path],
536 'EXCLUDED' => [
537 qw( eg/setup-extra-tests
538 t/pod.t
539 )
540 ],
541 'MAP' => {
542 '' => 'cpan/File-Path/lib/File/',
543 't/' => 'cpan/File-Path/t/',
544 },
4f3a742d
DR
545 },
546
4f3a742d 547 'File::Temp' => {
3d5f905f 548 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
549 'FILES' => q[cpan/File-Temp],
550 'EXCLUDED' => [
551 qw( misc/benchmark.pl
552 misc/results.txt
553 ),
814e893f
CBW
554 qw[t/00-report-prereqs.t],
555 qr{^xt},
4f3a742d 556 ],
4f3a742d
DR
557 },
558
4f3a742d 559 'Filter::Simple' => {
c3958279 560 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
4f3a742d
DR
561 'FILES' => q[dist/Filter-Simple],
562 'EXCLUDED' => [
4f3a742d
DR
563 qr{^demo/}
564 ],
4f3a742d
DR
565 },
566
567 'Filter::Util::Call' => {
d8b87a9b 568 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
569 'FILES' => q[cpan/Filter-Util-Call
570 pod/perlfilter.pod
571 ],
572 'EXCLUDED' => [
573 qr{^decrypt/},
574 qr{^examples/},
575 qr{^Exec/},
576 qr{^lib/Filter/},
577 qr{^tee/},
578 qw( Call/Makefile.PL
579 Call/ppport.h
580 Call/typemap
581 mytest
582 t/cpp.t
583 t/decrypt.t
584 t/exec.t
585 t/order.t
586 t/pod.t
587 t/sh.t
588 t/tee.t
533d93cc
SH
589 t/z_kwalitee.t
590 t/z_meta.t
591 t/z_perl_minimum_version.t
592 t/z_pod-coverage.t
593 t/z_pod.t
4f3a742d
DR
594 ),
595 ],
596 'MAP' => {
597 'Call/' => 'cpan/Filter-Util-Call/',
598 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
599 'perlfilter.pod' => 'pod/perlfilter.pod',
600 '' => 'cpan/Filter-Util-Call/',
601 },
4f3a742d
DR
602 },
603
4f3a742d 604 'Getopt::Long' => {
7867c822 605 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
606 'FILES' => q[cpan/Getopt-Long],
607 'EXCLUDED' => [
608 qr{^examples/},
609 qw( perl-Getopt-Long.spec
610 lib/newgetopt.pl
974d5816 611 t/gol-compat.t
4f3a742d
DR
612 ),
613 ],
4f3a742d
DR
614 },
615
4f3a742d 616 'HTTP::Tiny' => {
1d28c016 617 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.036.tar.gz',
4f3a742d
DR
618 'FILES' => q[cpan/HTTP-Tiny],
619 'EXCLUDED' => [
4403b774 620 't/00-compile.t',
fcfb9f49 621 't/00-report-prereqs.t',
4f3a742d 622 't/200_live.t',
44347bc3 623 't/200_live_local_ip.t',
fcfb9f49 624 't/210_live_ssl.t',
4f3a742d
DR
625 qr/^eg/,
626 qr/^xt/
627 ],
4f3a742d
DR
628 },
629
630 'I18N::Collate' => {
4f3a742d
DR
631 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
632 'FILES' => q[dist/I18N-Collate],
633 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
634 },
635
4f3a742d 636 'I18N::LangTags' => {
4f3a742d 637 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
638 },
639
640 'if' => {
4f3a742d
DR
641 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
642 'FILES' => q[dist/if],
4f3a742d
DR
643 },
644
645 'IO' => {
4f3a742d
DR
646 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
647 'FILES' => q[dist/IO/],
648 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
649 },
650
651 'IO-Compress' => {
ef379d05 652 'DISTRIBUTION' => 'PMQS/IO-Compress-2.062.tar.gz',
4f3a742d 653 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
654 'EXCLUDED' => [
655 qr{^examples/},
656 qr{^t/Test/},
657 't/010examples-bzip2.t',
658 't/010examples-zlib.t',
659 't/cz-05examples.t',
660 ],
4f3a742d
DR
661 },
662
663 'IO::Zlib' => {
4f3a742d
DR
664 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
665 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
666 },
667
668 'IPC::Cmd' => {
c7e51fe7 669 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.84.tar.gz',
4f3a742d 670 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
671 },
672
4f3a742d 673 'IPC::SysV' => {
dd0df890 674 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
675 'FILES' => q[cpan/IPC-SysV],
676 'EXCLUDED' => [
677 qw( const-c.inc
678 const-xs.inc
679 ),
680 ],
4f3a742d
DR
681 },
682
683 'JSON::PP' => {
be08498a 684 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d
DR
685 'FILES' => q[cpan/JSON-PP],
686 'EXCLUDED' => [
687 't/900_pod.t', # Pod testing
688 ],
4f3a742d
DR
689 },
690
691 'lib' => {
4f3a742d
DR
692 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
693 'FILES' => q[dist/lib/],
694 'EXCLUDED' => [
695 qw( forPAUSE/lib.pm
696 t/00pod.t
697 ),
698 ],
4f3a742d
DR
699 },
700
701 'libnet' => {
07513bb4 702 'DISTRIBUTION' => 'SHAY/libnet-1.23.tar.gz',
4f3a742d
DR
703 'FILES' => q[cpan/libnet],
704 'EXCLUDED' => [
705 qw( Configure
706 install-nomake
4f3a742d 707 ),
84c82da4 708 qr(^demos/),
4f3a742d 709 ],
f81a37f2
SH
710 # Customized for perl since we cannot use either an auto-generated
711 # script or the version in the CPAN distro.
4f3a742d 712 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
713 },
714
715 'Locale-Codes' => {
94eda824 716 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.27.tar.gz',
4f3a742d
DR
717 'FILES' => q[cpan/Locale-Codes],
718 'EXCLUDED' => [
84c82da4
SH
719 qw( README.first
720 t/pod_coverage.t
4f3a742d
DR
721 t/pod.t),
722 qr{^t/runtests},
723 qr{^t/runtests\.bat},
724 qr{^internal/},
725 qr{^examples/},
726 ],
4f3a742d
DR
727 },
728
729 'Locale::Maketext' => {
f318c24d 730 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
4f3a742d
DR
731 'FILES' => q[dist/Locale-Maketext],
732 'EXCLUDED' => [
733 qw(
734 perlcriticrc
735 t/00_load.t
736 t/pod.t
737 ),
738 ],
4f3a742d
DR
739 },
740
741 'Locale::Maketext::Simple' => {
4f3a742d
DR
742 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
743 'FILES' => q[cpan/Locale-Maketext-Simple],
744 'EXCLUDED' => [qr{^inc/}],
4f3a742d
DR
745 },
746
4f3a742d 747 'Math::BigInt' => {
4f3a742d
DR
748 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
749 'FILES' => q[dist/Math-BigInt],
750 'EXCLUDED' => [
751 qr{^inc/},
752 qr{^examples/},
753 qw( t/00sig.t
754 t/01load.t
755 t/02pod.t
756 t/03podcov.t
757 ),
758 ],
4f3a742d
DR
759 },
760
761 'Math::BigInt::FastCalc' => {
4f3a742d
DR
762 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
763 'FILES' => q[dist/Math-BigInt-FastCalc],
764 'EXCLUDED' => [
765 qr{^inc/},
766 qw( t/00sig.t
767 t/01load.t
768 t/02pod.t
769 t/03podcov.t
770 ),
771
772 # instead we use the versions of these test
773 # files that come with Math::BigInt:
774 qw( t/bigfltpm.inc
775 t/bigfltpm.t
776 t/bigintpm.inc
777 t/bigintpm.t
778 t/mbimbf.inc
779 t/mbimbf.t
780 ),
781 ],
4f3a742d
DR
782 },
783
784 'Math::BigRat' => {
4f3a742d
DR
785 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
786 'FILES' => q[dist/Math-BigRat],
787 'EXCLUDED' => [
788 qr{^inc/},
789 qw( t/00sig.t
790 t/01load.t
791 t/02pod.t
792 t/03podcov.t
793 ),
794 ],
4f3a742d
DR
795 },
796
797 'Math::Complex' => {
04ae1553 798 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
799 'FILES' => q[cpan/Math-Complex],
800 'EXCLUDED' => [
801 qw( t/pod.t
802 t/pod-coverage.t
803 ),
804 ],
4f3a742d
DR
805 },
806
807 'Memoize' => {
8114efa0 808 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
809 'FILES' => q[cpan/Memoize],
810 'EXCLUDED' => ['article.html'],
4f3a742d
DR
811 },
812
813 'MIME::Base64' => {
43f93048 814 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
815 'FILES' => q[cpan/MIME-Base64],
816 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
817 },
818
819 #
820 # To update Module-Build in blead see
236cbe8d 821 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
4f3a742d 822 #
462ea751 823
4f3a742d 824 'Module::Build' => {
d9be4ae3 825 'DISTRIBUTION' => 'LEONT/Module-Build-0.4007.tar.gz',
4f3a742d
DR
826 'FILES' => q[cpan/Module-Build],
827 'EXCLUDED' => [
828 qw( t/par.t
829 t/signature.t
830 ),
831 qr{^contrib/},
4f3a742d
DR
832 qr{^inc},
833 ],
f81a37f2 834 # Generated file, not part of the CPAN distro:
fae38280 835 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
47369ecd 836 'DEPRECATED' => '5.019000',
4f3a742d
DR
837 },
838
839 'Module::CoreList' => {
4c908bf5 840 'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.99.tar.gz',
4f3a742d 841 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
842 },
843
844 'Module::Load' => {
ba9b1d71 845 'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
4f3a742d 846 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
847 },
848
849 'Module::Load::Conditional' => {
6c52f6c9 850 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.58.tar.gz',
4f3a742d 851 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
852 },
853
854 'Module::Loaded' => {
4f3a742d
DR
855 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
856 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
857 },
858
859 'Module::Metadata' => {
d477c82b 860 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
861 'FILES' => q[cpan/Module-Metadata],
862 'EXCLUDED' => [
863 qr{^maint},
864 qr{^xt},
865 ],
4f3a742d
DR
866 },
867
4f3a742d 868 'Net::Ping' => {
4e0aac35 869 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 870 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
871 'EXCLUDED' => [
872 qr{^.travis.yml},
873 qr{^README.md},
874 ],
4f3a742d
DR
875 },
876
877 'NEXT' => {
4f3a742d
DR
878 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
879 'FILES' => q[cpan/NEXT],
880 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
881 },
882
4f3a742d 883 'Package::Constants' => {
4f3a742d
DR
884 'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
885 'FILES' => q[cpan/Package-Constants],
4f3a742d
DR
886 },
887
888 'Params::Check' => {
8b21fa03 889 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d
DR
890 'EXCLUDED' => ['Params-Check-0.26.tar.gz'],
891 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
892 },
893
894 'parent' => {
11100026 895 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 896 'FILES' => q[cpan/parent],
4f3a742d
DR
897 },
898
899 'Parse::CPAN::Meta' => {
7d7e3722 900 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4409.tar.gz',
4f3a742d 901 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710
CBW
902 'EXCLUDED' => [
903 qw(t/00-compile.t),
904 qw[t/00-report-prereqs.t],
905 qr{^xt},
906 ],
4f3a742d
DR
907 },
908
909 'PathTools' => {
061a8e13 910 'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
4f3a742d
DR
911 'FILES' => q[dist/Cwd],
912 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
913
914 # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
915 # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
916 # that the leafname of some file corresponds with the pathname of the
917 # directory.
918 },
919
97b1d6e6 920 'Perl::OSType' => {
e9d1f52f 921 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.006.tar.gz',
97b1d6e6 922 'FILES' => q[cpan/Perl-OSType],
765955c0 923 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
924 },
925
97b1d6e6 926 'perlfaq' => {
97b1d6e6
SH
927 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
928 'FILES' => q[cpan/perlfaq],
929 'EXCLUDED' => [
930 qw( t/release-pod-syntax.t
931 t/release-eol.t
932 t/release-no-tabs.t
933 )
934 ],
97b1d6e6
SH
935 },
936
4f3a742d 937 'PerlIO::via::QuotedPrint' => {
7e286960 938 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 939 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
940
941 # Waiting to be merged upstream: see CPAN RT#54047
942 'CUSTOMIZED' => [
943 qw( t/QuotedPrint.t
944 ),
945 ],
946
4f3a742d
DR
947 },
948
0c501878 949 'Pod::Checker' => {
0c501878
CBW
950 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
951 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
952 },
953
4f3a742d 954 'Pod::Escapes' => {
4f3a742d
DR
955 'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
956 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
957 },
958
4f3a742d 959 'Pod::Parser' => {
9a031c8e 960 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
4f3a742d 961 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
962 },
963
964 'Pod::Perldoc' => {
cb1974ba 965 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.20.tar.gz',
00e518b3 966 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d
DR
967
968 # in blead, the perldoc executable is generated by perldoc.PL
969 # instead
970 # XXX We can and should fix this, but clean up the DRY-failure in utils
971 # first
972 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
973 },
974
975 'Pod::Simple' => {
b5ae6e74 976 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 977 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
978 },
979
0c501878 980 'Pod::Usage' => {
2ed39982 981 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 982 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
983 },
984
4f3a742d 985 'podlators' => {
b52cde68 986 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
987 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
988
989 # The perl distribution has pod2man.PL and pod2text.PL, which are
990 # run to create pod2man and pod2text, while the CPAN distribution
991 # just has the post-generated pod2man and pod2text files.
992 # The following entries attempt to codify that odd fact.
993 'CUSTOMIZED' => [
994 qw( scripts/pod2man.PL
995 scripts/pod2text.PL
4f3a742d
DR
996 ),
997 ],
998 'MAP' => {
999 '' => 'cpan/podlators/',
1000 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
1001 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1002
1003 # this file lives outside the cpan/ directory
1004 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1005 },
4f3a742d
DR
1006 },
1007
4f3a742d 1008 'Safe' => {
e739c653 1009 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 1010 'FILES' => q[dist/Safe],
4f3a742d
DR
1011 },
1012
1013 'Scalar-List-Utils' => {
98eca5fa 1014 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.35.tar.gz',
4f3a742d 1015 'FILES' => q[cpan/List-Util],
4f3a742d
DR
1016 },
1017
4f3a742d 1018 'Search::Dict' => {
0b0a7092 1019 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 1020 'FILES' => q[dist/Search-Dict],
0b0a7092 1021 'EXCLUDED' => [qr{^t/release-.*\.t},qr{^README\..*}],
4f3a742d
DR
1022 },
1023
1024 'SelfLoader' => {
c3958279 1025 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1026 'FILES' => q[dist/SelfLoader],
1027 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1028 },
1029
4f3a742d 1030 'Socket' => {
406cccc2 1031 'DISTRIBUTION' => 'PEVANS/Socket-2.012.tar.gz',
4f3a742d 1032 'FILES' => q[cpan/Socket],
4f3a742d
DR
1033 },
1034
1035 'Storable' => {
8371a44d 1036 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d
DR
1037 'FILES' => q[dist/Storable],
1038 'EXCLUDED' => [qr{^t/Test/}],
4f3a742d
DR
1039 },
1040
4f3a742d 1041 'Sys::Syslog' => {
848ca32c 1042 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1043 'FILES' => q[cpan/Sys-Syslog],
1044 'EXCLUDED' => [
1045 qr{^eg/},
84c82da4
SH
1046 qw( README.win32
1047 t/data-validation.t
4f3a742d
DR
1048 t/distchk.t
1049 t/pod.t
1050 t/podcover.t
1051 t/podspell.t
1052 t/portfs.t
1053 win32/PerlLog.RES
4f3a742d
DR
1054 ),
1055 ],
4f3a742d
DR
1056 },
1057
1058 'Term::ANSIColor' => {
522ce57f 1059 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1060 'FILES' => q[cpan/Term-ANSIColor],
1061 'EXCLUDED' => [
1062 qr{^tests/},
92f80b37
CBW
1063 qr{^examples/},
1064 qr{^t/data/},
1065 qw( t/aliases-env.t
1066 t/critic.t
1067 t/minimum-version.t
1068 t/pod-spelling.t
1069 t/pod-coverage.t
4f3a742d 1070 t/pod.t
92f80b37
CBW
1071 t/strict.t
1072 t/synopsis.t
4f3a742d
DR
1073 ),
1074 ],
4f3a742d
DR
1075 },
1076
1077 'Term::Cap' => {
4f3a742d
DR
1078 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1079 'FILES' => q[cpan/Term-Cap],
f81a37f2
SH
1080
1081 # Waiting to be merged upstream: see CPAN RT#73447
1082 'CUSTOMIZED' => [
1083 qw( Cap.pm
1084 test.pl
1085 ),
1086 ],
1087
4f3a742d
DR
1088 },
1089
1090 'Term::Complete' => {
4f3a742d
DR
1091 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1092 'FILES' => q[dist/Term-Complete],
1093 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1094 },
1095
1096 'Term::ReadLine' => {
75ad3638 1097 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1098 'FILES' => q[dist/Term-ReadLine],
1099 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1100 },
1101
4f3a742d 1102 'Test' => {
1c22e001 1103 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1104 'FILES' => q[cpan/Test],
4f3a742d
DR
1105 },
1106
1107 'Test::Harness' => {
befb5359 1108 'DISTRIBUTION' => 'OVID/Test-Harness-3.29.tar.gz',
4f3a742d
DR
1109 'FILES' => q[cpan/Test-Harness],
1110 'EXCLUDED' => [
1111 qr{^examples/},
1112 qr{^inc/},
1113 qr{^t/lib/Test/},
1114 qr{^xt/},
1115 qw( Changes-2.64
8db65552 1116 MANIFEST.CUMMULATIVE
4f3a742d
DR
1117 NotBuild.PL
1118 HACKING.pod
1119 perlcriticrc
8db65552 1120 t/000-load.t
4f3a742d
DR
1121 t/lib/if.pm
1122 ),
1123 ],
4f3a742d
DR
1124 },
1125
1126 'Test::Simple' => {
411e93ce 1127 'DISTRIBUTION' => 'RJBS/Test-Simple-0.99.tar.gz',
4f3a742d
DR
1128 'FILES' => q[cpan/Test-Simple],
1129 'EXCLUDED' => [
1130 qw( .perlcriticrc
1131 .perltidyrc
84c82da4
SH
1132 examples/indent.pl
1133 examples/subtest.t
4f3a742d
DR
1134 t/00compile.t
1135 t/pod.t
1136 t/pod-coverage.t
1137 t/Builder/reset_outputs.t
1138 lib/Test/Builder/IO/Scalar.pm
1139 ),
1140 ],
4f3a742d
DR
1141 },
1142
1143 'Text::Abbrev' => {
5e96eee9 1144 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1145 'FILES' => q[dist/Text-Abbrev],
1146 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1147 },
1148
1149 'Text::Balanced' => {
4f3a742d
DR
1150 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1151 'FILES' => q[cpan/Text-Balanced],
1152 'EXCLUDED' => [
1153 qw( t/97_meta.t
1154 t/98_pod.t
1155 t/99_pmv.t
1156 ),
1157 ],
f81a37f2
SH
1158
1159 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1160 'CUSTOMIZED' => [
1161 qw( t/01_compile.t
1162 t/02_extbrk.t
1163 t/03_extcbk.t
1164 t/04_extdel.t
1165 t/05_extmul.t
1166 t/06_extqlk.t
1167 t/07_exttag.t
1168 t/08_extvar.t
1169 t/09_gentag.t
1170 ),
1171 ],
f81a37f2 1172
4f3a742d
DR
1173 },
1174
1175 'Text::ParseWords' => {
33954ec3 1176 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d
DR
1177 'FILES' => q[cpan/Text-ParseWords],
1178 'EXCLUDED' => ['t/pod.t'],
1179
f81a37f2
SH
1180 # Waiting to be merged upstream: see CPAN RT#50929
1181 'CUSTOMIZED' => [
1182 qw( t/ParseWords.t
1183 t/taint.t
1184 ),
1185 ],
1186
4f3a742d
DR
1187 # For the benefit of make_ext.pl, we have to have this accessible:
1188 'MAP' => {
1189 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1190 '' => 'cpan/Text-ParseWords/',
1191 },
4f3a742d
DR
1192 },
1193
4f3a742d 1194 'Text-Tabs+Wrap' => {
83aea42c 1195 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1196 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1197 'EXCLUDED' => [
1198 qr/^lib\.old/,
1199 't/dnsparks.t', # see af6492bf9e
4f3a742d 1200 ],
e7b92d54
SH
1201 'MAP' => {
1202 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1203 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1204 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1205 },
4f3a742d
DR
1206 },
1207
1208 'Thread::Queue' => {
c7bac10a 1209 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
4f3a742d
DR
1210 'FILES' => q[dist/Thread-Queue],
1211 'EXCLUDED' => [
1fd4700e
JH
1212 qr{^examples/},
1213 qw( t/00_load.t
4f3a742d
DR
1214 t/99_pod.t
1215 t/test.pl
1216 ),
1217 ],
4f3a742d
DR
1218 },
1219
1220 'Thread::Semaphore' => {
4f3a742d
DR
1221 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1222 'FILES' => q[dist/Thread-Semaphore],
1223 'EXCLUDED' => [
1224 qw( examples/semaphore.pl
1225 t/00_load.t
1226 t/99_pod.t
1227 t/test.pl
1228 ),
1229 ],
4f3a742d
DR
1230 },
1231
1232 'threads' => {
6d76e7fc 1233 'DISTRIBUTION' => 'JDHEDDEN/threads-1.89.tar.gz',
4f3a742d
DR
1234 'FILES' => q[dist/threads],
1235 'EXCLUDED' => [
1236 qr{^examples/},
1237 qw( t/pod.t
1238 t/test.pl
1239 threads.h
1240 ),
1241 ],
4f3a742d
DR
1242 },
1243
1244 'threads::shared' => {
5a016e9b 1245 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
4f3a742d
DR
1246 'FILES' => q[dist/threads-shared],
1247 'EXCLUDED' => [
1248 qw( examples/class.pl
1249 shared.h
1250 t/pod.t
1251 t/test.pl
1252 ),
1253 ],
4f3a742d
DR
1254 },
1255
1256 'Tie::File' => {
c0504019
TR
1257 'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1258 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1259 },
1260
4f3a742d 1261 'Tie::RefHash' => {
4f3a742d
DR
1262 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1263 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1264 },
1265
1266 'Time::HiRes' => {
0f0eae2c 1267 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1268 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1269 },
1270
1271 'Time::Local' => {
62e824cf 1272 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1273 'FILES' => q[cpan/Time-Local],
1274 'EXCLUDED' => [
1275 qw( t/pod-coverage.t
1276 t/pod.t
1277 ),
62e824cf 1278 qr{^t/release-.*\.t},
4f3a742d 1279 ],
4f3a742d
DR
1280 },
1281
1282 'Time::Piece' => {
9bc7f50b 1283 'DISTRIBUTION' => 'RJBS/Time-Piece-1.23.tar.gz',
4f3a742d 1284 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1285 },
1286
1287 'Unicode::Collate' => {
60f577e0 1288 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.99.tar.gz',
4f3a742d
DR
1289 'FILES' => q[cpan/Unicode-Collate],
1290 'EXCLUDED' => [
1291 qr{N$},
1292 qr{^data/},
1293 qr{^gendata/},
1294 qw( disableXS
1295 enableXS
1296 mklocale
1297 ),
1298 ],
4f3a742d
DR
1299 },
1300
1301 'Unicode::Normalize' => {
65e3945f 1302 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz',
4f3a742d
DR
1303 'FILES' => q[cpan/Unicode-Normalize],
1304 'EXCLUDED' => [
1305 qw( MANIFEST.N
1306 Normalize.pmN
1307 disableXS
1308 enableXS
1309 ),
1310 ],
4f3a742d
DR
1311 },
1312
4f3a742d 1313 'version' => {
5565c738 1314 'DISTRIBUTION' => 'JPEACOCK/version-0.9904.tar.gz',
fb794281 1315 'FILES' => q[cpan/version],
4f3a742d 1316 'EXCLUDED' => [
4f3a742d
DR
1317 qr{^vutil/},
1318 'lib/version/typemap',
1319 't/survey_locales',
1320 'vperl/vpp.pm',
1321 ],
f81a37f2
SH
1322
1323 # Waiting to be merged upstream: see CPAN RT#87513
1324 'CUSTOMIZED' => [
1325 qw( lib/version.pm
f81a37f2 1326 t/07locale.t
5565c738 1327 t/08_corelist.t
f81a37f2
SH
1328 ),
1329 ],
1330
099bebb1 1331 # Remove this (so it reverts to 'cpan') when [cpan #88458] is resolved
631e7974 1332 'UPSTREAM' => 'blead',
4f3a742d
DR
1333 },
1334
4f3a742d 1335 'VMS::DCLsym' => {
872818ae 1336 'MAINTAINER' => 'CBERRY',
4f3a742d 1337 'FILES' => q[ext/VMS-DCLsym],
4f3a742d
DR
1338 },
1339
1340 'VMS::Stdio' => {
872818ae 1341 'MAINTAINER' => 'CBERRY',
4f3a742d 1342 'FILES' => q[ext/VMS-Stdio],
4f3a742d
DR
1343 },
1344
1345 'warnings' => {
872818ae 1346 'MAINTAINER' => 'PMQS',
099bebb1 1347 'FILES' => q[
4f3a742d 1348 lib/warnings
099bebb1
SH
1349 lib/warnings.{pm,t}
1350 regen/warnings.pl
4f3a742d 1351 t/lib/warnings
099bebb1 1352 ],
4f3a742d
DR
1353 },
1354
4f3a742d 1355 'Win32' => {
7772d855 1356 'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
4f3a742d 1357 'FILES' => q[cpan/Win32],
4f3a742d
DR
1358 },
1359
1360 'Win32API::File' => {
113b1f2c 1361 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1362 'FILES' => q[cpan/Win32API-File],
1363 'EXCLUDED' => [
1364 qr{^ex/},
1365 't/pod.t',
1366 ],
4f3a742d
DR
1367 },
1368
c22ebd5c
SH
1369 'Win32CORE' => {
1370 'MAINTAINER' => 'JDB',
1371 'FILES' => q[ext/Win32CORE],
c22ebd5c
SH
1372 },
1373
4f3a742d 1374 'XSLoader' => {
681a49bf 1375 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1376 'FILES' => q[dist/XSLoader],
1377 'EXCLUDED' => [
1378 qr{^eg/},
57f9caa0
SH
1379 qw( t/00-load.t
1380 t/01-api.t
1381 t/distchk.t
1382 t/pod.t
4f3a742d
DR
1383 t/podcover.t
1384 t/portfs.t
1385 ),
1386 'XSLoader.pm', # we use XSLoader_pm.PL
1387 ],
4f3a742d
DR
1388 },
1389
462ea751
DM
1390 # this pseudo-module represents all the files under ext/ and lib/
1391 # that aren't otherwise claimed. This means that the following two
1392 # commands will check that every file under ext/ and lib/ is
1393 # accounted for, and that there are no duplicates:
1394 #
1395 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1396 # perl Porting/Maintainers --checkmani
462ea751 1397
4f3a742d 1398 '_PERLLIB' => {
2af3c4b9
SH
1399 'FILES' => q[
1400 ext/Devel-Peek/
1401 ext/DynaLoader/
1402 ext/Errno/
7b4d95f7 1403 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1404 ext/Fcntl/
1405 ext/File-DosGlob/
1406 ext/File-Find/
1407 ext/File-Glob/
1408 ext/FileCache/
1409 ext/GDBM_File/
1410 ext/Hash-Util-FieldHash/
1411 ext/Hash-Util/
1412 ext/I18N-Langinfo/
1413 ext/IPC-Open3/
1414 ext/NDBM_File/
1415 ext/ODBM_File/
1416 ext/Opcode/
1417 ext/POSIX/
1418 ext/PerlIO-encoding/
1419 ext/PerlIO-mmap/
1420 ext/PerlIO-scalar/
1421 ext/PerlIO-via/
1422 ext/Pod-Functions/
1423 ext/Pod-Html/
1424 ext/SDBM_File/
1425 ext/Sys-Hostname/
1426 ext/Tie-Hash-NamedCapture/
1427 ext/Tie-Memoize/
1428 ext/VMS-Filespec/
4f3a742d 1429 ext/XS-APItest/
2af3c4b9
SH
1430 ext/XS-Typemap/
1431 ext/arybase/
1432 ext/attributes/
1433 ext/mro/
1434 ext/re/
1435 lib/AnyDBM_File.{pm,t}
1436 lib/Benchmark.{pm,t}
4f3a742d 1437 lib/CORE.pod
2af3c4b9 1438 lib/Class/Struct.{pm,t}
4f3a742d
DR
1439 lib/Config.t
1440 lib/Config/Extensions.{pm,t}
1441 lib/DB.{pm,t}
2af3c4b9
SH
1442 lib/DBM_Filter.pm
1443 lib/DBM_Filter/
1444 lib/DirHandle.{pm,t}
1445 lib/English.{pm,t}
4f3a742d
DR
1446 lib/ExtUtils/Embed.pm
1447 lib/ExtUtils/XSSymSet.pm
1448 lib/ExtUtils/t/Embed.t
1449 lib/ExtUtils/typemap
2af3c4b9
SH
1450 lib/File/Basename.{pm,t}
1451 lib/File/Compare.{pm,t}
1452 lib/File/Copy.{pm,t}
1453 lib/File/stat{.pm,.t,-7896.t}
1454 lib/FileHandle.{pm,t}
1455 lib/FindBin.{pm,t}
1456 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1457 lib/Internals.t
1458 lib/Net/hostent.{pm,t}
1459 lib/Net/netent.{pm,t}
1460 lib/Net/protoent.{pm,t}
1461 lib/Net/servent.{pm,t}
2af3c4b9 1462 lib/PerlIO.pm
4f3a742d
DR
1463 lib/Pod/t/InputObjects.t
1464 lib/Pod/t/Select.t
1465 lib/Pod/t/Usage.t
4f3a742d
DR
1466 lib/Pod/t/utils.t
1467 lib/SelectSaver.{pm,t}
1468 lib/Symbol.{pm,t}
1469 lib/Thread.{pm,t}
1470 lib/Tie/Array.pm
1471 lib/Tie/Array/
1472 lib/Tie/ExtraHash.t
1473 lib/Tie/Handle.pm
1474 lib/Tie/Handle/
2af3c4b9 1475 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1476 lib/Tie/Scalar.{pm,t}
1477 lib/Tie/StdHandle.pm
1478 lib/Tie/SubstrHash.{pm,t}
1479 lib/Time/gmtime.{pm,t}
1480 lib/Time/localtime.{pm,t}
1481 lib/Time/tm.pm
1482 lib/UNIVERSAL.pm
1483 lib/Unicode/README
2af3c4b9 1484 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1485 lib/User/grent.{pm,t}
1486 lib/User/pwent.{pm,t}
2af3c4b9 1487 lib/_charnames.pm
4f3a742d
DR
1488 lib/blib.{pm,t}
1489 lib/bytes.{pm,t}
1490 lib/bytes_heavy.pl
1491 lib/charnames.{pm,t}
1492 lib/dbm_filter_util.pl
1493 lib/deprecate.pm
2af3c4b9 1494 lib/diagnostics.{pm,t}
4f3a742d
DR
1495 lib/dumpvar.{pl,t}
1496 lib/feature.{pm,t}
1497 lib/feature/
1498 lib/filetest.{pm,t}
1499 lib/h2ph.t
1500 lib/h2xs.t
1501 lib/integer.{pm,t}
1502 lib/less.{pm,t}
1503 lib/locale.{pm,t}
1504 lib/open.{pm,t}
1505 lib/overload/numbers.pm
1506 lib/overloading.{pm,t}
2af3c4b9 1507 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1508 lib/perl5db.{pl,t}
1509 lib/perl5db/
2af3c4b9 1510 lib/sigtrap.{pm,t}
4f3a742d
DR
1511 lib/sort.{pm,t}
1512 lib/strict.{pm,t}
1513 lib/subs.{pm,t}
1514 lib/unicore/
1515 lib/utf8.{pm,t}
1516 lib/utf8_heavy.pl
1517 lib/vars{.pm,.t,_carp.t}
1518 lib/vmsish.{pm,t}
1519 ],
4f3a742d 1520 },
462ea751 1521);
b128a327 1522
97556ec3 1523# legacy CPAN flag
4f3a742d 1524for ( values %Modules ) {
97556ec3
GA
1525 $_->{CPAN} = !!$_->{DISTRIBUTION};
1526}
1527
099bebb1
SH
1528# legacy UPSTREAM flag
1529for ( keys %Modules ) {
1530 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1531 next if exists $Modules{$_}{UPSTREAM};
1532
1533 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1534 $Modules{$_}{UPSTREAM} = 'blead';
1535 }
1536 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1537 $Modules{$_}{UPSTREAM} = 'cpan';
1538 }
1539 else {
1540 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1541 }
1542}
1543
d350de41 1544# legacy MAINTAINER field
099bebb1
SH
1545for ( keys %Modules ) {
1546 # Honour any existing MAINTAINER flag for now, but we'd like to remove them
1547 next if exists $Modules{$_}{MAINTAINER};
1548
1549 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1550 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1551 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1552 }
099bebb1
SH
1553 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1554 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1555 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1556 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1557 }
099bebb1
SH
1558 else {
1559 warn "No DISTRIBUTION for non-blead module $_";
1560 }
d350de41
SH
1561}
1562
b128a327 15631;