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