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