This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
remove invalid ASSUME from MULTIDEREF code
[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' => {
60df6830 223 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.22.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' => {
ddfe1c93 246 'DISTRIBUTION' => 'ANDK/CPAN-2.05.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/},
4f3a742d 253 qw( lib/CPAN/Admin.pm
6156383d 254 scripts/cpan-mirrors
bfae5bde 255 PAUSE2015.pub
4f3a742d
DR
256 SlayMakefile
257 t/00signature.t
258 t/04clean_load.t
259 t/12cpan.t
260 t/13tarzip.t
261 t/14forkbomb.t
262 t/30shell.coverage
263 t/30shell.t
264 t/31sessions.t
265 t/41distribution.t
266 t/42distroprefs.t
267 t/43distroprefspref.t
45a13884 268 t/44cpanmeta.t
4f3a742d
DR
269 t/50pod.t
270 t/51pod.t
271 t/52podcover.t
272 t/60credentials.t
273 t/70_critic.t
bfae5bde 274 t/71_minimumversion.t
4f3a742d
DR
275 t/local_utils.pm
276 t/perlcriticrc
277 t/yaml_code.yml
278 ),
279 ],
057e4b4a
SH
280 # Waiting to be merged upstream: see pull request #83
281 'CUSTOMIZED' => [
282 qw( lib/CPAN/Author.pm
283 lib/CPAN/CacheMgr.pm
284 lib/CPAN/FTP.pm
285 lib/CPAN/HTTP/Client.pm
286 lib/CPAN/HandleConfig.pm
287 lib/CPAN/Index.pm
288 lib/CPAN/LWP/UserAgent.pm
289 lib/CPAN/Mirrors.pm
290 ),
291 ],
4f3a742d
DR
292 },
293
278337cd
CBW
294 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
295 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 296 'CPAN::Meta' => {
b907e848 297 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.143240.tar.gz',
4f3a742d
DR
298 'FILES' => q[cpan/CPAN-Meta],
299 'EXCLUDED' => [
7f6e6ca2 300 qw[t/00-report-prereqs.t],
5f8324b5 301 qw[t/00-report-prereqs.dd],
229563a9 302 qr{t/README-data.txt},
4f3a742d
DR
303 qr{^xt},
304 qr{^history},
305 ],
4f3a742d
DR
306 },
307
b6ae0ea7 308 'CPAN::Meta::Requirements' => {
d0500f09 309 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.132.tar.gz',
b6ae0ea7
CBW
310 'FILES' => q[cpan/CPAN-Meta-Requirements],
311 'EXCLUDED' => [
54b7cb30 312 qw(CONTRIBUTING.mkdn),
c4814040 313 qw(t/00-report-prereqs.t),
54b7cb30 314 qw(t/00-report-prereqs.dd),
608e531f 315 qw(t/version-cleanup.t),
b6ae0ea7 316 qr{^xt},
b6ae0ea7 317 ],
b6ae0ea7
CBW
318 },
319
4f3a742d 320 'CPAN::Meta::YAML' => {
7857dbc4 321 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
4f3a742d
DR
322 'FILES' => q[cpan/CPAN-Meta-YAML],
323 'EXCLUDED' => [
b3100a1d 324 't/00-compile.t',
2954a1e9 325 't/00-report-prereqs.t',
4f3a742d
DR
326 't/04_scalar.t', # requires YAML.pm
327 qr{^xt},
328 ],
4f3a742d
DR
329 },
330
331 'Data::Dumper' => {
50a0759e 332 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 333 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
334 },
335
336 'DB_File' => {
1bb0c253 337 'DISTRIBUTION' => 'PMQS/DB_File-1.835.tar.gz',
4f3a742d
DR
338 'FILES' => q[cpan/DB_File],
339 'EXCLUDED' => [
340 qr{^patches/},
341 qw( t/pod.t
342 fallback.h
343 fallback.xs
344 ),
345 ],
4f3a742d
DR
346 },
347
4f3a742d 348 'Devel::PPPort' => {
6bcde12e 349 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.28.tar.gz',
099bebb1
SH
350 # RJBS has asked MHX to have UPSTREAM be 'blead'
351 # (i.e. move this from cpan/ to dist/)
4f3a742d 352 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
353 'EXCLUDED' => [
354 'PPPort.pm', # we use PPPort_pm.PL instead
355 'README.md',
356 ]
4f3a742d
DR
357 },
358
97b1d6e6 359 'Devel::SelfStubber' => {
97b1d6e6
SH
360 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
361 'FILES' => q[dist/Devel-SelfStubber],
362 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
363 },
364
4f3a742d 365 'Digest' => {
4f3a742d
DR
366 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
367 'FILES' => q[cpan/Digest],
368 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
369 },
370
371 'Digest::MD5' => {
38054f44 372 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.tar.gz',
4f3a742d
DR
373 'FILES' => q[cpan/Digest-MD5],
374 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
375 },
376
377 'Digest::SHA' => {
b495b81b 378 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.tar.gz',
4f3a742d
DR
379 'FILES' => q[cpan/Digest-SHA],
380 'EXCLUDED' => [
381 qw( t/pod.t
382 t/podcover.t
383 examples/dups
384 ),
385 ],
4f3a742d
DR
386 },
387
4f3a742d 388 'Dumpvalue' => {
f6e46c4d 389 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
390 'FILES' => q[dist/Dumpvalue],
391 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
392 },
393
4f3a742d 394 'Encode' => {
59658819 395 'DISTRIBUTION' => 'DANKOGAI/Encode-2.70.tar.gz',
4f3a742d 396 'FILES' => q[cpan/Encode],
c2062197
SH
397 'CUSTOMIZED' => [
398 # Waiting to be merged upstream if it smokes ok: see CPAN RT#100347,
399 # in particular see khw's comments on that ticket on 21 Nov 2014.
400 qw( encoding.pm ),
c2062197 401 ],
4f3a742d
DR
402 },
403
404 'encoding::warnings' => {
4f3a742d
DR
405 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
406 'FILES' => q[cpan/encoding-warnings],
407 'EXCLUDED' => [
408 qr{^inc/Module/},
94c85d8e 409 qw(t/0-signature.t),
4f3a742d 410 ],
4f3a742d
DR
411 },
412
4f3a742d 413 'Env' => {
126fc07f 414 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
415 'FILES' => q[dist/Env],
416 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
417 },
418
de84ff2b 419 'experimental' => {
e87ace2e 420 'DISTRIBUTION' => 'LEONT/experimental-0.013.tar.gz',
de84ff2b
RS
421 'FILES' => q[cpan/experimental],
422 'EXCLUDED' => [
423 qr{^t/release-.*\.t},
424 't/00-compile.t',
425 ],
426 },
427
4f3a742d 428 'Exporter' => {
4ac9c666 429 'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz',
3110a055 430 'FILES' => q[dist/Exporter],
4f3a742d
DR
431 'EXCLUDED' => [
432 qw( t/pod.t
433 t/use.t
434 ),
435 ],
4f3a742d
DR
436 },
437
438 'ExtUtils::CBuilder' => {
7e7942b7 439 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280220.tar.gz',
4f3a742d 440 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
441 'EXCLUDED' => [
442 qw(README.mkdn),
443 qr{^xt},
444 ],
4f3a742d
DR
445 },
446
447 'ExtUtils::Command' => {
2eb94604 448 'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz',
2ca4a82e 449 'FILES' => q[cpan/ExtUtils-Command],
4d25f022 450 'EXCLUDED' => [qr{^xt/}],
4f3a742d
DR
451 },
452
453 'ExtUtils::Constant' => {
4f3a742d
DR
454
455 # Nick has confirmed that while we have diverged from CPAN,
456 # this package isn't primarily maintained in core
457 # Another release will happen "Sometime"
458 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
459 'FILES' => q[cpan/ExtUtils-Constant],
460 'EXCLUDED' => [
461 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
462 examples/perl_keyword.pl
463 examples/perl_regcomp_posix_keyword.pl
464 ),
465 ],
4f3a742d
DR
466 },
467
468 'ExtUtils::Install' => {
f1c22b9e 469 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 470 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
471 'EXCLUDED' => [
472 qw( t/lib/Test/Builder.pm
473 t/lib/Test/Builder/Module.pm
474 t/lib/Test/More.pm
475 t/lib/Test/Simple.pm
476 t/pod-coverage.t
477 t/pod.t
478 ),
479 ],
4f3a742d
DR
480 },
481
482 'ExtUtils::MakeMaker' => {
6324db4a 483 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.04.tar.gz',
4f3a742d
DR
484 'FILES' => q[cpan/ExtUtils-MakeMaker],
485 'EXCLUDED' => [
486 qr{^t/lib/Test/},
487 qr{^(bundled|my)/},
488 qr{^t/Liblist_Kid.t},
489 qr{^t/liblist/},
78fd4358 490 qr{^\.perlcriticrc},
84c82da4
SH
491 'PATCHING',
492 'README.packaging',
4f3a742d 493 ],
0fcb6a36
CBW
494 # Applied upstream remove customisation when updating EUMM
495 'CUSTOMIZED' => [ qw[ t/pm_to_blib.t ] ],
4f3a742d
DR
496 },
497
498 'ExtUtils::Manifest' => {
f660499c 499 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 500 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
501 'EXCLUDED' => [
502 qr(^t/00-report-prereqs),
503 qr(^xt/)
504 ],
4f3a742d
DR
505 },
506
507 'ExtUtils::ParseXS' => {
c8131234 508 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
4f3a742d 509 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
510 },
511
4f3a742d 512 'File::Fetch' => {
9d56ca6f 513 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 514 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
515 },
516
4f3a742d 517 'File::Path' => {
8f65b4cd 518 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
519 'FILES' => q[cpan/File-Path],
520 'EXCLUDED' => [
521 qw( eg/setup-extra-tests
522 t/pod.t
523 )
524 ],
525 'MAP' => {
526 '' => 'cpan/File-Path/lib/File/',
527 't/' => 'cpan/File-Path/t/',
528 },
4f3a742d
DR
529 },
530
4f3a742d 531 'File::Temp' => {
3d5f905f 532 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
533 'FILES' => q[cpan/File-Temp],
534 'EXCLUDED' => [
535 qw( misc/benchmark.pl
536 misc/results.txt
537 ),
814e893f
CBW
538 qw[t/00-report-prereqs.t],
539 qr{^xt},
4f3a742d 540 ],
4f3a742d
DR
541 },
542
4f3a742d 543 'Filter::Simple' => {
37ffe967 544 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
545 'FILES' => q[dist/Filter-Simple],
546 'EXCLUDED' => [
4f3a742d
DR
547 qr{^demo/}
548 ],
4f3a742d
DR
549 },
550
551 'Filter::Util::Call' => {
51693ac9 552 'DISTRIBUTION' => 'RURBAN/Filter-1.54.tar.gz',
4f3a742d
DR
553 'FILES' => q[cpan/Filter-Util-Call
554 pod/perlfilter.pod
555 ],
556 'EXCLUDED' => [
557 qr{^decrypt/},
558 qr{^examples/},
559 qr{^Exec/},
560 qr{^lib/Filter/},
561 qr{^tee/},
562 qw( Call/Makefile.PL
563 Call/ppport.h
564 Call/typemap
565 mytest
566 t/cpp.t
567 t/decrypt.t
568 t/exec.t
569 t/order.t
4f3a742d
DR
570 t/sh.t
571 t/tee.t
533d93cc
SH
572 t/z_kwalitee.t
573 t/z_meta.t
574 t/z_perl_minimum_version.t
575 t/z_pod-coverage.t
576 t/z_pod.t
4f3a742d
DR
577 ),
578 ],
579 'MAP' => {
580 'Call/' => 'cpan/Filter-Util-Call/',
581 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
582 'perlfilter.pod' => 'pod/perlfilter.pod',
583 '' => 'cpan/Filter-Util-Call/',
584 },
4f3a742d
DR
585 },
586
4f3a742d 587 'Getopt::Long' => {
8a60db59 588 'DISTRIBUTION' => 'JV/Getopt-Long-2.43.tar.gz',
4f3a742d
DR
589 'FILES' => q[cpan/Getopt-Long],
590 'EXCLUDED' => [
591 qr{^examples/},
592 qw( perl-Getopt-Long.spec
593 lib/newgetopt.pl
974d5816 594 t/gol-compat.t
4f3a742d
DR
595 ),
596 ],
4f3a742d
DR
597 },
598
4f3a742d 599 'HTTP::Tiny' => {
bc14e8e2 600 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.054.tar.gz',
4f3a742d
DR
601 'FILES' => q[cpan/HTTP-Tiny],
602 'EXCLUDED' => [
fcfb9f49 603 't/00-report-prereqs.t',
57d69a40 604 't/00-report-prereqs.dd',
4f3a742d 605 't/200_live.t',
44347bc3 606 't/200_live_local_ip.t',
fcfb9f49 607 't/210_live_ssl.t',
4f3a742d
DR
608 qr/^eg/,
609 qr/^xt/
610 ],
4f3a742d
DR
611 },
612
613 'I18N::Collate' => {
4f3a742d
DR
614 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
615 'FILES' => q[dist/I18N-Collate],
616 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
617 },
618
4f3a742d 619 'I18N::LangTags' => {
4f3a742d 620 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
621 },
622
623 'if' => {
4f3a742d
DR
624 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
625 'FILES' => q[dist/if],
4f3a742d
DR
626 },
627
628 'IO' => {
4f3a742d
DR
629 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
630 'FILES' => q[dist/IO/],
631 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
632 },
633
634 'IO-Compress' => {
3acdfe42 635 'DISTRIBUTION' => 'PMQS/IO-Compress-2.068.tar.gz',
4f3a742d 636 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
637 'EXCLUDED' => [
638 qr{^examples/},
639 qr{^t/Test/},
640 't/010examples-bzip2.t',
641 't/010examples-zlib.t',
642 't/cz-05examples.t',
643 ],
4f3a742d
DR
644 },
645
74a30e96 646 'IO::Socket::IP' => {
f9c28d37 647 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.36.tar.gz',
74a30e96
CBW
648 'FILES' => q[cpan/IO-Socket-IP],
649 'EXCLUDED' => [
650 qr{^examples/},
651 ],
652 },
653
4f3a742d 654 'IO::Zlib' => {
4f3a742d
DR
655 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
656 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
657 },
658
659 'IPC::Cmd' => {
9c213c25 660 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 661 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
662 },
663
4f3a742d 664 'IPC::SysV' => {
dd0df890 665 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
666 'FILES' => q[cpan/IPC-SysV],
667 'EXCLUDED' => [
668 qw( const-c.inc
669 const-xs.inc
670 ),
671 ],
4f3a742d
DR
672 },
673
674 'JSON::PP' => {
87f3ebe4 675 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 676 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
677 },
678
679 'lib' => {
4f3a742d
DR
680 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
681 'FILES' => q[dist/lib/],
682 'EXCLUDED' => [
683 qw( forPAUSE/lib.pm
684 t/00pod.t
685 ),
686 ],
4f3a742d
DR
687 },
688
689 'libnet' => {
162b417c 690 'DISTRIBUTION' => 'SHAY/libnet-3.05.tar.gz',
4f3a742d
DR
691 'FILES' => q[cpan/libnet],
692 'EXCLUDED' => [
693 qw( Configure
2901a52f 694 t/changes.t
59e3cdd4
SH
695 t/critic.t
696 t/pod.t
697 t/pod_coverage.t
4f3a742d 698 ),
84c82da4 699 qr(^demos/),
dadfa42f 700 qr(^t/external/),
4f3a742d 701 ],
4f3a742d
DR
702 },
703
704 'Locale-Codes' => {
241207b9 705 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.33.tar.gz',
4f3a742d
DR
706 'FILES' => q[cpan/Locale-Codes],
707 'EXCLUDED' => [
84c82da4 708 qw( README.first
8eadc45b 709 t/pod_coverage.ign
84c82da4 710 t/pod_coverage.t
4f3a742d
DR
711 t/pod.t),
712 qr{^t/runtests},
713 qr{^t/runtests\.bat},
714 qr{^internal/},
715 qr{^examples/},
716 ],
4f3a742d
DR
717 },
718
719 'Locale::Maketext' => {
2310e174 720 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
721 'FILES' => q[dist/Locale-Maketext],
722 'EXCLUDED' => [
723 qw(
724 perlcriticrc
725 t/00_load.t
726 t/pod.t
727 ),
728 ],
4f3a742d
DR
729 },
730
731 'Locale::Maketext::Simple' => {
4f3a742d
DR
732 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
733 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
734 },
735
4f3a742d 736 'Math::BigInt' => {
4ac9c666 737 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.9993.tar.gz',
4f3a742d
DR
738 'FILES' => q[dist/Math-BigInt],
739 'EXCLUDED' => [
740 qr{^inc/},
741 qr{^examples/},
742 qw( t/00sig.t
743 t/01load.t
744 t/02pod.t
745 t/03podcov.t
746 ),
747 ],
4f3a742d
DR
748 },
749
750 'Math::BigInt::FastCalc' => {
4ac9c666 751 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
4f3a742d
DR
752 'FILES' => q[dist/Math-BigInt-FastCalc],
753 'EXCLUDED' => [
754 qr{^inc/},
755 qw( t/00sig.t
756 t/01load.t
757 t/02pod.t
758 t/03podcov.t
759 ),
760
761 # instead we use the versions of these test
762 # files that come with Math::BigInt:
763 qw( t/bigfltpm.inc
764 t/bigfltpm.t
765 t/bigintpm.inc
766 t/bigintpm.t
767 t/mbimbf.inc
768 t/mbimbf.t
769 ),
770 ],
4f3a742d
DR
771 },
772
773 'Math::BigRat' => {
4ac9c666 774 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2606.tar.gz',
4f3a742d
DR
775 'FILES' => q[dist/Math-BigRat],
776 'EXCLUDED' => [
777 qr{^inc/},
778 qw( t/00sig.t
779 t/01load.t
780 t/02pod.t
781 t/03podcov.t
782 ),
783 ],
4f3a742d
DR
784 },
785
786 'Math::Complex' => {
04ae1553 787 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
788 'FILES' => q[cpan/Math-Complex],
789 'EXCLUDED' => [
790 qw( t/pod.t
791 t/pod-coverage.t
792 ),
793 ],
4f3a742d
DR
794 },
795
796 'Memoize' => {
8114efa0 797 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
798 'FILES' => q[cpan/Memoize],
799 'EXCLUDED' => ['article.html'],
4f3a742d
DR
800 },
801
802 'MIME::Base64' => {
6b10655d 803 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
804 'FILES' => q[cpan/MIME-Base64],
805 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
806 },
807
4f3a742d 808 'Module::CoreList' => {
c543a22d 809 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150120.tar.gz',
4f3a742d 810 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
811 },
812
813 'Module::Load' => {
58572ed8 814 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 815 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
816 },
817
818 'Module::Load::Conditional' => {
a1f2a8e1 819 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 820 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
821 },
822
823 'Module::Loaded' => {
4f3a742d
DR
824 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
825 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
826 },
827
828 'Module::Metadata' => {
e0f9ce34 829 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000026.tar.gz',
4f3a742d
DR
830 'FILES' => q[cpan/Module-Metadata],
831 'EXCLUDED' => [
b9beed70
SH
832 qw(README.md),
833 qw(t/00-report-prereqs.t),
adc2cdfb 834 qw(t/00-report-prereqs.dd),
4f3a742d
DR
835 qr{^xt},
836 ],
4f3a742d
DR
837 },
838
4f3a742d 839 'Net::Ping' => {
4e0aac35 840 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 841 'FILES' => q[dist/Net-Ping],
4e0aac35 842 'EXCLUDED' => [
4e0aac35
MM
843 qr{^README.md},
844 ],
4f3a742d
DR
845 },
846
847 'NEXT' => {
4f3a742d
DR
848 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
849 'FILES' => q[cpan/NEXT],
850 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
851 },
852
4f3a742d 853 'Params::Check' => {
8b21fa03 854 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 855 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
856 },
857
858 'parent' => {
11100026 859 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 860 'FILES' => q[cpan/parent],
4f3a742d
DR
861 },
862
863 'Parse::CPAN::Meta' => {
a2fd2fa0 864 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 865 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 866 'EXCLUDED' => [
342e4710
CBW
867 qw[t/00-report-prereqs.t],
868 qr{^xt},
869 ],
4f3a742d
DR
870 },
871
872 'PathTools' => {
4d90bfb5 873 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 874 'FILES' => q[dist/PathTools],
4f3a742d 875 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
876 },
877
97b1d6e6 878 'Perl::OSType' => {
819b03e2 879 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.008.tar.gz',
97b1d6e6 880 'FILES' => q[cpan/Perl-OSType],
765955c0 881 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
882 },
883
97b1d6e6 884 'perlfaq' => {
c57d3fcc 885 'DISTRIBUTION' => 'ETHER/perlfaq-5.021009.tar.gz',
97b1d6e6
SH
886 'FILES' => q[cpan/perlfaq],
887 'EXCLUDED' => [
4d25f022
SH
888 qw( inc/CreateQuestionList.pm
889 t/00-compile.t),
890 qr{^xt/},
97b1d6e6 891 ],
97b1d6e6
SH
892 },
893
4f3a742d 894 'PerlIO::via::QuotedPrint' => {
7e286960 895 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 896 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
897
898 # Waiting to be merged upstream: see CPAN RT#54047
899 'CUSTOMIZED' => [
900 qw( t/QuotedPrint.t
901 ),
902 ],
903
4f3a742d
DR
904 },
905
0c501878 906 'Pod::Checker' => {
0c501878
CBW
907 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
908 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
909 },
910
4f3a742d 911 'Pod::Escapes' => {
f347d3e3 912 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 913 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
914 },
915
4f3a742d 916 'Pod::Parser' => {
299a4f3d 917 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.62.tar.gz',
4f3a742d 918 'FILES' => q[cpan/Pod-Parser],
f8d8294f
SH
919 # Waiting to be merged upstream: see CPAN RT#101847
920 'CUSTOMIZED' => [ qw( lib/Pod/PlainText.pm) ],
4f3a742d
DR
921 },
922
923 'Pod::Perldoc' => {
2cbf1141 924 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.24.tar.gz',
00e518b3 925 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 926
fa884b76
DM
927 # Note that we use the CPAN-provided Makefile.PL, since it
928 # contains special handling of the installation of perldoc.pod
929
930 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
931 # instead
932 # XXX We can and should fix this, but clean up the DRY-failure in utils
933 # first
934 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
935 },
936
937 'Pod::Simple' => {
f23676cb 938 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.29.tar.gz',
4f3a742d 939 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
940 },
941
0c501878 942 'Pod::Usage' => {
5b597d1b 943 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz',
0c501878 944 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
945 },
946
4f3a742d 947 'podlators' => {
b52cde68 948 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
949 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
950
951 # The perl distribution has pod2man.PL and pod2text.PL, which are
952 # run to create pod2man and pod2text, while the CPAN distribution
953 # just has the post-generated pod2man and pod2text files.
954 # The following entries attempt to codify that odd fact.
955 'CUSTOMIZED' => [
956 qw( scripts/pod2man.PL
957 scripts/pod2text.PL
4f3a742d
DR
958 ),
959 ],
960 'MAP' => {
961 '' => 'cpan/podlators/',
962 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
963 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
964
965 # this file lives outside the cpan/ directory
966 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
967 },
4f3a742d
DR
968 },
969
4f3a742d 970 'Safe' => {
e739c653 971 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 972 'FILES' => q[dist/Safe],
4f3a742d
DR
973 },
974
975 'Scalar-List-Utils' => {
46274848 976 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.41.tar.gz',
cb8c8458 977 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
978 },
979
4f3a742d 980 'Search::Dict' => {
0b0a7092 981 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 982 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
983 },
984
985 'SelfLoader' => {
c3958279 986 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
987 'FILES' => q[dist/SelfLoader],
988 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
989 },
990
4f3a742d 991 'Socket' => {
81edd47d 992 'DISTRIBUTION' => 'PEVANS/Socket-2.016.tar.gz',
4f3a742d 993 'FILES' => q[cpan/Socket],
4f3a742d
DR
994 },
995
996 'Storable' => {
5f4b5e0f 997 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 998 'FILES' => q[dist/Storable],
4f3a742d
DR
999 },
1000
4f3a742d 1001 'Sys::Syslog' => {
848ca32c 1002 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1003 'FILES' => q[cpan/Sys-Syslog],
1004 'EXCLUDED' => [
1005 qr{^eg/},
84c82da4
SH
1006 qw( README.win32
1007 t/data-validation.t
4f3a742d
DR
1008 t/distchk.t
1009 t/pod.t
1010 t/podcover.t
1011 t/podspell.t
1012 t/portfs.t
1013 win32/PerlLog.RES
4f3a742d
DR
1014 ),
1015 ],
4f3a742d
DR
1016 },
1017
1018 'Term::ANSIColor' => {
5e64492f 1019 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1020 'FILES' => q[cpan/Term-ANSIColor],
1021 'EXCLUDED' => [
92f80b37
CBW
1022 qr{^examples/},
1023 qr{^t/data/},
5e64492f
CBW
1024 qr{^t/docs/},
1025 qr{^t/style/},
1026 qw( t/module/aliases-env.t ),
4f3a742d 1027 ],
4f3a742d
DR
1028 },
1029
1030 'Term::Cap' => {
663bce88 1031 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1032 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1033 },
1034
1035 'Term::Complete' => {
4f3a742d
DR
1036 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1037 'FILES' => q[dist/Term-Complete],
1038 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1039 },
1040
1041 'Term::ReadLine' => {
75ad3638 1042 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1043 'FILES' => q[dist/Term-ReadLine],
1044 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1045 },
1046
4f3a742d 1047 'Test' => {
1c22e001 1048 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1049 'FILES' => q[cpan/Test],
4f3a742d
DR
1050 },
1051
1052 'Test::Harness' => {
2cc1a90a 1053 'DISTRIBUTION' => 'LEONT/Test-Harness-3.35.tar.gz',
4f3a742d
DR
1054 'FILES' => q[cpan/Test-Harness],
1055 'EXCLUDED' => [
1056 qr{^examples/},
1057 qr{^inc/},
1058 qr{^t/lib/Test/},
1059 qr{^xt/},
1060 qw( Changes-2.64
8db65552 1061 MANIFEST.CUMMULATIVE
4f3a742d
DR
1062 NotBuild.PL
1063 HACKING.pod
1064 perlcriticrc
8db65552 1065 t/000-load.t
4f3a742d
DR
1066 t/lib/if.pm
1067 ),
1068 ],
4f3a742d
DR
1069 },
1070
1071 'Test::Simple' => {
18864292 1072 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.301001_098.tar.gz',
4f3a742d
DR
1073 'FILES' => q[cpan/Test-Simple],
1074 'EXCLUDED' => [
6dab8563 1075 qr{^t/xt},
86e082c9
CG
1076 qr{^xt},
1077 qr{^profiling},
4f3a742d
DR
1078 qw( .perlcriticrc
1079 .perltidyrc
84c82da4
SH
1080 examples/indent.pl
1081 examples/subtest.t
86e082c9
CG
1082 t/Legacy/00compile.t
1083 t/Legacy/pod.t
18864292
CG
1084 t/xxx-changes_updated.t
1085 t/zzz-check-breaks.t
1086 t/Legacy/ribasushi_diag.t
4f3a742d
DR
1087 ),
1088 ],
9f79693a
CB
1089 'CUSTOMIZED' => [
1090 # Waiting to be merged upstream: see pull request #494
1091 qw( t/Legacy/exit.t ),
1092 ], },
4f3a742d
DR
1093
1094 'Text::Abbrev' => {
5e96eee9 1095 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1096 'FILES' => q[dist/Text-Abbrev],
1097 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1098 },
1099
1100 'Text::Balanced' => {
4f3a742d
DR
1101 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1102 'FILES' => q[cpan/Text-Balanced],
1103 'EXCLUDED' => [
1104 qw( t/97_meta.t
1105 t/98_pod.t
1106 t/99_pmv.t
1107 ),
1108 ],
f81a37f2
SH
1109
1110 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1111 'CUSTOMIZED' => [
1112 qw( t/01_compile.t
1113 t/02_extbrk.t
1114 t/03_extcbk.t
1115 t/04_extdel.t
1116 t/05_extmul.t
1117 t/06_extqlk.t
1118 t/07_exttag.t
1119 t/08_extvar.t
1120 t/09_gentag.t
1121 ),
1122 ],
f81a37f2 1123
4f3a742d
DR
1124 },
1125
1126 'Text::ParseWords' => {
33954ec3 1127 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1128 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1129
f81a37f2
SH
1130 # Waiting to be merged upstream: see CPAN RT#50929
1131 'CUSTOMIZED' => [
1132 qw( t/ParseWords.t
1133 t/taint.t
1134 ),
1135 ],
1136
4f3a742d
DR
1137 # For the benefit of make_ext.pl, we have to have this accessible:
1138 'MAP' => {
1139 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1140 '' => 'cpan/Text-ParseWords/',
1141 },
4f3a742d
DR
1142 },
1143
4f3a742d 1144 'Text-Tabs+Wrap' => {
83aea42c 1145 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1146 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1147 'EXCLUDED' => [
1148 qr/^lib\.old/,
1149 't/dnsparks.t', # see af6492bf9e
4f3a742d 1150 ],
e7b92d54
SH
1151 'MAP' => {
1152 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1153 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1154 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1155 },
4f3a742d
DR
1156 },
1157
4e75700d
AC
1158 # Jerry Hedden does take patches that are applied to blead first, even
1159 # though that can be hard to discern from the Git history; so it's
1160 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1161 # to be under dist/ rather than cpan/
4f3a742d 1162 'Thread::Queue' => {
4e75700d 1163 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
4f3a742d
DR
1164 'FILES' => q[dist/Thread-Queue],
1165 'EXCLUDED' => [
1fd4700e
JH
1166 qr{^examples/},
1167 qw( t/00_load.t
4f3a742d
DR
1168 t/99_pod.t
1169 t/test.pl
1170 ),
1171 ],
4f3a742d
DR
1172 },
1173
1174 'Thread::Semaphore' => {
4f3a742d
DR
1175 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1176 'FILES' => q[dist/Thread-Semaphore],
1177 'EXCLUDED' => [
1178 qw( examples/semaphore.pl
1179 t/00_load.t
1180 t/99_pod.t
1181 t/test.pl
1182 ),
1183 ],
4f3a742d
DR
1184 },
1185
1186 'threads' => {
8f1287bb 1187 'DISTRIBUTION' => 'JDHEDDEN/threads-1.96.tar.gz',
4f3a742d 1188 'FILES' => q[dist/threads],
9cff81c3
SH
1189 'CUSTOMIZED' => [
1190 # Waiting to be merged upstream: see CPAN RT#100755
1191 qw( threads.xs
1192 lib/threads.pm),
1193 ],
4f3a742d
DR
1194 'EXCLUDED' => [
1195 qr{^examples/},
1196 qw( t/pod.t
1197 t/test.pl
1198 threads.h
1199 ),
1200 ],
4f3a742d
DR
1201 },
1202
1203 'threads::shared' => {
a5368aeb 1204 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
4f3a742d
DR
1205 'FILES' => q[dist/threads-shared],
1206 'EXCLUDED' => [
1207 qw( examples/class.pl
1208 shared.h
1209 t/pod.t
1210 t/test.pl
1211 ),
1212 ],
4f3a742d
DR
1213 },
1214
1215 'Tie::File' => {
4ac9c666 1216 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1217 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1218 },
1219
4f3a742d 1220 'Tie::RefHash' => {
4f3a742d
DR
1221 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1222 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1223 },
1224
1225 'Time::HiRes' => {
0f0eae2c 1226 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1227 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1228 },
1229
1230 'Time::Local' => {
62e824cf 1231 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1232 'FILES' => q[cpan/Time-Local],
1233 'EXCLUDED' => [
62e824cf 1234 qr{^t/release-.*\.t},
4f3a742d 1235 ],
4f3a742d
DR
1236 },
1237
1238 'Time::Piece' => {
03d59818 1239 'DISTRIBUTION' => 'RJBS/Time-Piece-1.29.tar.gz',
4f3a742d 1240 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1241 },
1242
1243 'Unicode::Collate' => {
9d8690d8 1244 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.10.tar.gz',
4f3a742d
DR
1245 'FILES' => q[cpan/Unicode-Collate],
1246 'EXCLUDED' => [
1247 qr{N$},
1248 qr{^data/},
1249 qr{^gendata/},
1250 qw( disableXS
1251 enableXS
1252 mklocale
1253 ),
1254 ],
4f3a742d
DR
1255 },
1256
1257 'Unicode::Normalize' => {
95f3e8d2 1258 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.18.tar.gz',
4f3a742d 1259 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1260 },
1261
4f3a742d 1262 'version' => {
da891a41 1263 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1264 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1265 'EXCLUDED' => [
df3ba8e7 1266 qr{^vutil/lib/},
c60b4fa6 1267 'vutil/Makefile.PL',
df3ba8e7
FC
1268 'vutil/ppport.h',
1269 'vutil/vxs.xs',
4f3a742d 1270 't/survey_locales',
4f3a742d 1271 ],
f81a37f2 1272
c872d591
SH
1273 # When adding the CPAN-distributed files for version.pm, it is necessary
1274 # to delete an entire block out of lib/version.pm, since that code is
1275 # only necessary with the CPAN release.
f81a37f2
SH
1276 'CUSTOMIZED' => [
1277 qw( lib/version.pm
f81a37f2 1278 ),
4637d007
SH
1279
1280 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1281 qw( vutil.c
4637d007 1282 ),
f81a37f2
SH
1283 ],
1284
df3ba8e7 1285 'MAP' => {
4fa93b19
SH
1286 'vperl/' => 'cpan/version/lib/version/',
1287 'vutil/' => '',
df3ba8e7
FC
1288 '' => 'cpan/version/',
1289 },
4f3a742d
DR
1290 },
1291
4f3a742d 1292 'warnings' => {
099bebb1 1293 'FILES' => q[
4f3a742d 1294 lib/warnings
099bebb1
SH
1295 lib/warnings.{pm,t}
1296 regen/warnings.pl
4f3a742d 1297 t/lib/warnings
099bebb1 1298 ],
4f3a742d
DR
1299 },
1300
4f3a742d 1301 'Win32' => {
1ead70b6 1302 'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz",
4f3a742d 1303 'FILES' => q[cpan/Win32],
4f3a742d
DR
1304 },
1305
1306 'Win32API::File' => {
e5240100 1307 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1308 'FILES' => q[cpan/Win32API-File],
1309 'EXCLUDED' => [
1310 qr{^ex/},
4f3a742d 1311 ],
4f3a742d
DR
1312 },
1313
4f3a742d 1314 'XSLoader' => {
681a49bf 1315 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1316 'FILES' => q[dist/XSLoader],
1317 'EXCLUDED' => [
1318 qr{^eg/},
57f9caa0
SH
1319 qw( t/00-load.t
1320 t/01-api.t
1321 t/distchk.t
1322 t/pod.t
4f3a742d
DR
1323 t/podcover.t
1324 t/portfs.t
1325 ),
1326 'XSLoader.pm', # we use XSLoader_pm.PL
1327 ],
4f3a742d
DR
1328 },
1329
462ea751
DM
1330 # this pseudo-module represents all the files under ext/ and lib/
1331 # that aren't otherwise claimed. This means that the following two
1332 # commands will check that every file under ext/ and lib/ is
1333 # accounted for, and that there are no duplicates:
1334 #
1335 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1336 # perl Porting/Maintainers --checkmani
462ea751 1337
4f3a742d 1338 '_PERLLIB' => {
2af3c4b9 1339 'FILES' => q[
09213599 1340 ext/B/
2af3c4b9
SH
1341 ext/Devel-Peek/
1342 ext/DynaLoader/
1343 ext/Errno/
7b4d95f7 1344 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1345 ext/Fcntl/
1346 ext/File-DosGlob/
1347 ext/File-Find/
1348 ext/File-Glob/
1349 ext/FileCache/
1350 ext/GDBM_File/
1351 ext/Hash-Util-FieldHash/
1352 ext/Hash-Util/
1353 ext/I18N-Langinfo/
1354 ext/IPC-Open3/
1355 ext/NDBM_File/
1356 ext/ODBM_File/
1357 ext/Opcode/
1358 ext/POSIX/
1359 ext/PerlIO-encoding/
1360 ext/PerlIO-mmap/
1361 ext/PerlIO-scalar/
1362 ext/PerlIO-via/
1363 ext/Pod-Functions/
1364 ext/Pod-Html/
1365 ext/SDBM_File/
1366 ext/Sys-Hostname/
1367 ext/Tie-Hash-NamedCapture/
1368 ext/Tie-Memoize/
b3dcf775 1369 ext/VMS-DCLsym/
2af3c4b9 1370 ext/VMS-Filespec/
b3dcf775
SH
1371 ext/VMS-Stdio/
1372 ext/Win32CORE/
4f3a742d 1373 ext/XS-APItest/
2af3c4b9
SH
1374 ext/XS-Typemap/
1375 ext/arybase/
1376 ext/attributes/
1377 ext/mro/
1378 ext/re/
1379 lib/AnyDBM_File.{pm,t}
1380 lib/Benchmark.{pm,t}
38eca645 1381 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1382 lib/B/Op_private.pm
4f3a742d 1383 lib/CORE.pod
2af3c4b9 1384 lib/Class/Struct.{pm,t}
4f3a742d
DR
1385 lib/Config.t
1386 lib/Config/Extensions.{pm,t}
1387 lib/DB.{pm,t}
2af3c4b9
SH
1388 lib/DBM_Filter.pm
1389 lib/DBM_Filter/
1390 lib/DirHandle.{pm,t}
1391 lib/English.{pm,t}
4f3a742d
DR
1392 lib/ExtUtils/Embed.pm
1393 lib/ExtUtils/XSSymSet.pm
1394 lib/ExtUtils/t/Embed.t
1395 lib/ExtUtils/typemap
2af3c4b9
SH
1396 lib/File/Basename.{pm,t}
1397 lib/File/Compare.{pm,t}
1398 lib/File/Copy.{pm,t}
1399 lib/File/stat{.pm,.t,-7896.t}
1400 lib/FileHandle.{pm,t}
1401 lib/FindBin.{pm,t}
1402 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1403 lib/Internals.t
1404 lib/Net/hostent.{pm,t}
1405 lib/Net/netent.{pm,t}
1406 lib/Net/protoent.{pm,t}
1407 lib/Net/servent.{pm,t}
2af3c4b9 1408 lib/PerlIO.pm
4f3a742d
DR
1409 lib/Pod/t/InputObjects.t
1410 lib/Pod/t/Select.t
1411 lib/Pod/t/Usage.t
4f3a742d
DR
1412 lib/Pod/t/utils.t
1413 lib/SelectSaver.{pm,t}
1414 lib/Symbol.{pm,t}
1415 lib/Thread.{pm,t}
1416 lib/Tie/Array.pm
1417 lib/Tie/Array/
1418 lib/Tie/ExtraHash.t
1419 lib/Tie/Handle.pm
1420 lib/Tie/Handle/
2af3c4b9 1421 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1422 lib/Tie/Scalar.{pm,t}
1423 lib/Tie/StdHandle.pm
1424 lib/Tie/SubstrHash.{pm,t}
1425 lib/Time/gmtime.{pm,t}
1426 lib/Time/localtime.{pm,t}
1427 lib/Time/tm.pm
1428 lib/UNIVERSAL.pm
1429 lib/Unicode/README
2af3c4b9 1430 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1431 lib/User/grent.{pm,t}
1432 lib/User/pwent.{pm,t}
2af3c4b9 1433 lib/_charnames.pm
4f3a742d
DR
1434 lib/blib.{pm,t}
1435 lib/bytes.{pm,t}
1436 lib/bytes_heavy.pl
1437 lib/charnames.{pm,t}
1438 lib/dbm_filter_util.pl
1439 lib/deprecate.pm
2af3c4b9 1440 lib/diagnostics.{pm,t}
4f3a742d
DR
1441 lib/dumpvar.{pl,t}
1442 lib/feature.{pm,t}
1443 lib/feature/
1444 lib/filetest.{pm,t}
1445 lib/h2ph.t
1446 lib/h2xs.t
1447 lib/integer.{pm,t}
1448 lib/less.{pm,t}
1449 lib/locale.{pm,t}
1450 lib/open.{pm,t}
1451 lib/overload/numbers.pm
1452 lib/overloading.{pm,t}
2af3c4b9 1453 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1454 lib/perl5db.{pl,t}
1455 lib/perl5db/
2af3c4b9 1456 lib/sigtrap.{pm,t}
4f3a742d
DR
1457 lib/sort.{pm,t}
1458 lib/strict.{pm,t}
1459 lib/subs.{pm,t}
1460 lib/unicore/
1461 lib/utf8.{pm,t}
1462 lib/utf8_heavy.pl
1463 lib/vars{.pm,.t,_carp.t}
1464 lib/vmsish.{pm,t}
1465 ],
4f3a742d 1466 },
462ea751 1467);
b128a327 1468
97556ec3 1469# legacy CPAN flag
4f3a742d 1470for ( values %Modules ) {
97556ec3
GA
1471 $_->{CPAN} = !!$_->{DISTRIBUTION};
1472}
1473
099bebb1
SH
1474# legacy UPSTREAM flag
1475for ( keys %Modules ) {
1476 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1477 next if exists $Modules{$_}{UPSTREAM};
1478
1479 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1480 $Modules{$_}{UPSTREAM} = 'blead';
1481 }
1482 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1483 $Modules{$_}{UPSTREAM} = 'cpan';
1484 }
1485 else {
1486 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1487 }
1488}
1489
d350de41 1490# legacy MAINTAINER field
099bebb1 1491for ( keys %Modules ) {
b3dcf775 1492 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1493 next if exists $Modules{$_}{MAINTAINER};
1494
1495 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1496 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1497 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1498 }
099bebb1
SH
1499 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1500 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1501 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1502 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1503 }
099bebb1
SH
1504 else {
1505 warn "No DISTRIBUTION for non-blead module $_";
1506 }
d350de41
SH
1507}
1508
b128a327 15091;