This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Simplify parser’s handling of my/local
[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' => {
90bb05e9 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.08.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' => {
965f9517 170 'DISTRIBUTION' => 'RJBS/autouse-1.11.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' => {
4c13dc7e 182 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 183 'FILES' => q[dist/base],
4f3a742d
DR
184 },
185
4f3a742d 186 'bignum' => {
91f07087 187 'DISTRIBUTION' => 'PJACKLAM/bignum-0.42.tar.gz',
c287fe32 188 'FILES' => q[cpan/bignum],
4f3a742d
DR
189 'EXCLUDED' => [
190 qr{^inc/Module/},
91f07087 191 qr{^t/author-},
c287fe32
SH
192 qw( t/00sig.t
193 t/01load.t
194 t/02pod.t
195 t/03podcov.t
4f3a742d
DR
196 ),
197 ],
4f3a742d
DR
198 },
199
200 'Carp' => {
ba705463 201 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
4f3a742d 202 'FILES' => q[dist/Carp],
4f3a742d
DR
203 },
204
4f3a742d 205 'Compress::Raw::Bzip2' => {
9e7c8eb7 206 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.069.tar.gz',
4f3a742d
DR
207 'FILES' => q[cpan/Compress-Raw-Bzip2],
208 'EXCLUDED' => [
209 qr{^t/Test/},
65b62fea 210 'bzip2-src/bzip2-const.patch',
4f3a742d 211 'bzip2-src/bzip2-cpp.patch',
65b62fea 212 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 213 ],
4f3a742d
DR
214 },
215
216 'Compress::Raw::Zlib' => {
2b91859c 217 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.069.tar.gz',
4f3a742d
DR
218
219 'FILES' => q[cpan/Compress-Raw-Zlib],
220 'EXCLUDED' => [
84c82da4 221 qr{^examples/},
4f3a742d
DR
222 qr{^t/Test/},
223 qw( t/000prereq.t
224 t/99pod.t
225 ),
226 ],
4f3a742d
DR
227 },
228
4b07058c 229 'Config::Perl::V' => {
6b3eaabc 230 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.26.tgz',
4b07058c 231 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
232 'EXCLUDED' => [qw(
233 examples/show-v.pl
b4ade012 234 )],
4b07058c
RS
235 },
236
4f3a742d 237 'constant' => {
8b1ae794 238 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
239 'FILES' => q[dist/constant],
240 'EXCLUDED' => [
241 qw( t/00-load.t
242 t/more-tests.t
243 t/pod-coverage.t
244 t/pod.t
245 eg/synopsis.pl
246 ),
247 ],
4f3a742d
DR
248 },
249
250 'CPAN' => {
d210e520 251 'DISTRIBUTION' => 'ANDK/CPAN-2.10.tar.gz',
4f3a742d
DR
252 'FILES' => q[cpan/CPAN],
253 'EXCLUDED' => [
254 qr{^distroprefs/},
255 qr{^inc/Test/},
45a13884
SH
256 qr{^t/CPAN/},
257 qr{^t/data/},
79116533 258 qr{^t/97-},
4f3a742d 259 qw( lib/CPAN/Admin.pm
6156383d 260 scripts/cpan-mirrors
bfae5bde 261 PAUSE2015.pub
4f3a742d
DR
262 SlayMakefile
263 t/00signature.t
264 t/04clean_load.t
265 t/12cpan.t
266 t/13tarzip.t
267 t/14forkbomb.t
268 t/30shell.coverage
269 t/30shell.t
270 t/31sessions.t
271 t/41distribution.t
272 t/42distroprefs.t
273 t/43distroprefspref.t
45a13884 274 t/44cpanmeta.t
4f3a742d
DR
275 t/50pod.t
276 t/51pod.t
277 t/52podcover.t
278 t/60credentials.t
279 t/70_critic.t
bfae5bde 280 t/71_minimumversion.t
4f3a742d
DR
281 t/local_utils.pm
282 t/perlcriticrc
283 t/yaml_code.yml
284 ),
285 ],
f907dd3c
SH
286 # See commit 3198fda65dbcd975c56916e4b98f515fab7f02e5
287 'CUSTOMIZED' => [ qw[ lib/CPAN.pm ] ],
4f3a742d
DR
288 },
289
278337cd
CBW
290 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
291 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 292 'CPAN::Meta' => {
2b771c51 293 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz',
4f3a742d
DR
294 'FILES' => q[cpan/CPAN-Meta],
295 'EXCLUDED' => [
f907dd3c
SH
296 qw[t/00-report-prereqs.t
297 t/00-report-prereqs.dd
298 t/data-test/x_deprecated-META.json
299 t/data-valid/x_deprecated-META.yml
300 t/README-data.txt],
4f3a742d
DR
301 qr{^xt},
302 qr{^history},
303 ],
4f3a742d
DR
304 },
305
b6ae0ea7 306 'CPAN::Meta::Requirements' => {
054d0c99 307 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
308 'FILES' => q[cpan/CPAN-Meta-Requirements],
309 'EXCLUDED' => [
c4814040 310 qw(t/00-report-prereqs.t),
54b7cb30 311 qw(t/00-report-prereqs.dd),
608e531f 312 qw(t/version-cleanup.t),
b6ae0ea7 313 qr{^xt},
b6ae0ea7 314 ],
b6ae0ea7
CBW
315 },
316
4f3a742d 317 'CPAN::Meta::YAML' => {
0d99ea03 318 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
319 'FILES' => q[cpan/CPAN-Meta-YAML],
320 'EXCLUDED' => [
2954a1e9 321 't/00-report-prereqs.t',
e586de20 322 't/00-report-prereqs.dd',
4f3a742d
DR
323 qr{^xt},
324 ],
4f3a742d
DR
325 },
326
327 'Data::Dumper' => {
50a0759e 328 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 329 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
330 },
331
332 'DB_File' => {
c7cd1ed9 333 'DISTRIBUTION' => 'PMQS/DB_File-1.838.tar.gz',
4f3a742d
DR
334 'FILES' => q[cpan/DB_File],
335 'EXCLUDED' => [
336 qr{^patches/},
337 qw( t/pod.t
338 fallback.h
339 fallback.xs
340 ),
341 ],
4f3a742d
DR
342 },
343
4f3a742d 344 'Devel::PPPort' => {
95a7456e 345 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.32.tar.gz',
099bebb1
SH
346 # RJBS has asked MHX to have UPSTREAM be 'blead'
347 # (i.e. move this from cpan/ to dist/)
4f3a742d 348 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
349 'EXCLUDED' => [
350 'PPPort.pm', # we use PPPort_pm.PL instead
84c82da4 351 ]
4f3a742d
DR
352 },
353
97b1d6e6 354 'Devel::SelfStubber' => {
97b1d6e6
SH
355 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
356 'FILES' => q[dist/Devel-SelfStubber],
357 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
358 },
359
4f3a742d 360 'Digest' => {
4f3a742d
DR
361 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
362 'FILES' => q[cpan/Digest],
363 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
364 },
365
366 'Digest::MD5' => {
05a6ec77 367 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
4f3a742d
DR
368 'FILES' => q[cpan/Digest-MD5],
369 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
370 },
371
372 'Digest::SHA' => {
b495b81b 373 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.tar.gz',
4f3a742d
DR
374 'FILES' => q[cpan/Digest-SHA],
375 'EXCLUDED' => [
376 qw( t/pod.t
377 t/podcover.t
378 examples/dups
379 ),
380 ],
4f3a742d
DR
381 },
382
4f3a742d 383 'Dumpvalue' => {
f6e46c4d 384 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
385 'FILES' => q[dist/Dumpvalue],
386 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
387 },
388
4f3a742d 389 'Encode' => {
8693e0c5 390 'DISTRIBUTION' => 'DANKOGAI/Encode-2.80.tar.gz',
4f3a742d 391 'FILES' => q[cpan/Encode],
0648b1fd 392 CUSTOMIZED => [
13cf5167 393 qw( encoding.pm
5695cd67 394 ),
0648b1fd 395 ],
4f3a742d
DR
396 },
397
398 'encoding::warnings' => {
4f3a742d 399 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 400 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
401 'EXCLUDED' => [
402 qr{^inc/Module/},
94c85d8e 403 qw(t/0-signature.t),
4f3a742d 404 ],
4f3a742d
DR
405 },
406
4f3a742d 407 'Env' => {
126fc07f 408 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
409 'FILES' => q[dist/Env],
410 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
411 },
412
de84ff2b 413 'experimental' => {
4fdcb09b 414 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
de84ff2b 415 'FILES' => q[cpan/experimental],
4fdcb09b 416 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
417 },
418
4f3a742d 419 'Exporter' => {
b4d1bf31 420 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
3110a055 421 'FILES' => q[dist/Exporter],
4f3a742d
DR
422 'EXCLUDED' => [
423 qw( t/pod.t
424 t/use.t
425 ),
426 ],
4f3a742d
DR
427 },
428
429 'ExtUtils::CBuilder' => {
83dcc064 430 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
4f3a742d 431 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
432 'EXCLUDED' => [
433 qw(README.mkdn),
434 qr{^xt},
435 ],
4f3a742d
DR
436 },
437
4f3a742d 438 'ExtUtils::Constant' => {
4f3a742d 439
c9849c52 440 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
4f3a742d
DR
441 'FILES' => q[cpan/ExtUtils-Constant],
442 'EXCLUDED' => [
443 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
444 examples/perl_keyword.pl
445 examples/perl_regcomp_posix_keyword.pl
446 ),
34c00cdf 447 ],
c9849c52
DM
448 # cc37ebcee3 to fix VMS failure
449 'CUSTOMIZED' => [ qw(t/Constant.t) ],
4f3a742d
DR
450 },
451
452 'ExtUtils::Install' => {
f1c22b9e 453 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 454 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
455 'EXCLUDED' => [
456 qw( t/lib/Test/Builder.pm
457 t/lib/Test/Builder/Module.pm
458 t/lib/Test/More.pm
459 t/lib/Test/Simple.pm
460 t/pod-coverage.t
461 t/pod.t
462 ),
463 ],
4f3a742d
DR
464 },
465
466 'ExtUtils::MakeMaker' => {
2b7c926c 467 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.10.tar.gz',
4f3a742d
DR
468 'FILES' => q[cpan/ExtUtils-MakeMaker],
469 'EXCLUDED' => [
470 qr{^t/lib/Test/},
471 qr{^(bundled|my)/},
472 qr{^t/Liblist_Kid.t},
473 qr{^t/liblist/},
78fd4358 474 qr{^\.perlcriticrc},
84c82da4
SH
475 'PATCHING',
476 'README.packaging',
ce9582af 477 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 478 ],
2b7c926c
CBW
479 # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/ede9ea4a
480 'CUSTOMIZED' => [
481 qq[lib/ExtUtils/MakeMaker.pm],
482 qq[t/prereq.t],
483 qq[t/vstrings.t],
152e735a
CB
484 # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/dd1e236ab
485 qq[lib/ExtUtils/MM_VMS.pm],
8f1332ed
DD
486 # Not yet submitted
487 qq[t/lib/MakeMaker/Test/NoXS.pm],
7295ec19
SH
488 # Backported commits from upstream
489 qw(lib/ExtUtils/Command/MM.pm
490 lib/ExtUtils/Liblist.pm
491 lib/ExtUtils/Liblist/Kid.pm
492 lib/ExtUtils/MM.pm
493 lib/ExtUtils/MM_AIX.pm
494 lib/ExtUtils/MM_Any.pm
495 lib/ExtUtils/MM_BeOS.pm
496 lib/ExtUtils/MM_Cygwin.pm
497 lib/ExtUtils/MM_DOS.pm
498 lib/ExtUtils/MM_Darwin.pm
499 lib/ExtUtils/MM_MacOS.pm
500 lib/ExtUtils/MM_NW5.pm
501 lib/ExtUtils/MM_OS2.pm
502 lib/ExtUtils/MM_QNX.pm
503 lib/ExtUtils/MM_UWIN.pm
504 lib/ExtUtils/MM_Unix.pm
505 lib/ExtUtils/MM_VOS.pm
506 lib/ExtUtils/MM_Win32.pm
507 lib/ExtUtils/MM_Win95.pm
508 lib/ExtUtils/MY.pm
509 lib/ExtUtils/MakeMaker/Config.pm
510 lib/ExtUtils/MakeMaker/FAQ.pod
511 lib/ExtUtils/MakeMaker/Tutorial.pod
512 lib/ExtUtils/MakeMaker/version.pm
513 lib/ExtUtils/MakeMaker/version/regex.pm
514 lib/ExtUtils/Mkbootstrap.pm
515 lib/ExtUtils/Mksymlists.pm
516 lib/ExtUtils/testlib.pm
517 t/cd.t
518 t/echo.t
519 ),
2b7c926c 520 ],
4f3a742d
DR
521 },
522
523 'ExtUtils::Manifest' => {
f660499c 524 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 525 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
526 'EXCLUDED' => [
527 qr(^t/00-report-prereqs),
528 qr(^xt/)
529 ],
4f3a742d
DR
530 },
531
532 'ExtUtils::ParseXS' => {
bdc4e4b2 533 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
4f3a742d 534 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
535 },
536
4f3a742d 537 'File::Fetch' => {
9d56ca6f 538 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 539 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
540 },
541
4f3a742d 542 'File::Path' => {
bfcc9519 543 'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
4f3a742d
DR
544 'FILES' => q[cpan/File-Path],
545 'EXCLUDED' => [
bfcc9519
SH
546 qw(t/Path-Class.t),
547 qr{^xt/},
4f3a742d 548 ],
ef667930
TC
549 # https://github.com/rpcme/File-Path/pull/34
550 'CUSTOMIZED' => [ qw( lib/File/Path.pm t/Path_win32.t ) ],
4f3a742d
DR
551 },
552
4f3a742d 553 'File::Temp' => {
3d5f905f 554 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
555 'FILES' => q[cpan/File-Temp],
556 'EXCLUDED' => [
557 qw( misc/benchmark.pl
558 misc/results.txt
559 ),
814e893f
CBW
560 qw[t/00-report-prereqs.t],
561 qr{^xt},
4f3a742d 562 ],
4f3a742d
DR
563 },
564
4f3a742d 565 'Filter::Simple' => {
37ffe967 566 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
567 'FILES' => q[dist/Filter-Simple],
568 'EXCLUDED' => [
4f3a742d
DR
569 qr{^demo/}
570 ],
4f3a742d
DR
571 },
572
573 'Filter::Util::Call' => {
356231b0 574 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
4f3a742d
DR
575 'FILES' => q[cpan/Filter-Util-Call
576 pod/perlfilter.pod
577 ],
578 'EXCLUDED' => [
579 qr{^decrypt/},
580 qr{^examples/},
581 qr{^Exec/},
582 qr{^lib/Filter/},
583 qr{^tee/},
584 qw( Call/Makefile.PL
585 Call/ppport.h
586 Call/typemap
587 mytest
588 t/cpp.t
589 t/decrypt.t
590 t/exec.t
591 t/order.t
4f3a742d
DR
592 t/sh.t
593 t/tee.t
533d93cc
SH
594 t/z_kwalitee.t
595 t/z_meta.t
596 t/z_perl_minimum_version.t
597 t/z_pod-coverage.t
598 t/z_pod.t
4f3a742d
DR
599 ),
600 ],
601 'MAP' => {
602 'Call/' => 'cpan/Filter-Util-Call/',
603 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
604 'perlfilter.pod' => 'pod/perlfilter.pod',
605 '' => 'cpan/Filter-Util-Call/',
606 },
4f3a742d
DR
607 },
608
4f3a742d 609 'Getopt::Long' => {
50f00446 610 'DISTRIBUTION' => 'JV/Getopt-Long-2.48.tar.gz',
4f3a742d
DR
611 'FILES' => q[cpan/Getopt-Long],
612 'EXCLUDED' => [
613 qr{^examples/},
614 qw( perl-Getopt-Long.spec
615 lib/newgetopt.pl
974d5816 616 t/gol-compat.t
4f3a742d
DR
617 ),
618 ],
4f3a742d
DR
619 },
620
4f3a742d 621 'HTTP::Tiny' => {
99527ef1 622 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz',
4f3a742d
DR
623 'FILES' => q[cpan/HTTP-Tiny],
624 'EXCLUDED' => [
fcfb9f49 625 't/00-report-prereqs.t',
57d69a40 626 't/00-report-prereqs.dd',
4f3a742d 627 't/200_live.t',
44347bc3 628 't/200_live_local_ip.t',
fcfb9f49 629 't/210_live_ssl.t',
4f3a742d
DR
630 qr/^eg/,
631 qr/^xt/
632 ],
4f3a742d
DR
633 },
634
635 'I18N::Collate' => {
4f3a742d
DR
636 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
637 'FILES' => q[dist/I18N-Collate],
638 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
639 },
640
4f3a742d 641 'I18N::LangTags' => {
4f3a742d 642 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
643 },
644
645 'if' => {
f7294c1d 646 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 647 'FILES' => q[dist/if],
4f3a742d
DR
648 },
649
650 'IO' => {
4f3a742d
DR
651 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
652 'FILES' => q[dist/IO/],
653 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
654 },
655
656 'IO-Compress' => {
7dcc7d3d 657 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
4f3a742d 658 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
659 'EXCLUDED' => [
660 qr{^examples/},
661 qr{^t/Test/},
662 't/010examples-bzip2.t',
663 't/010examples-zlib.t',
664 't/cz-05examples.t',
665 ],
4f3a742d
DR
666 },
667
74a30e96 668 'IO::Socket::IP' => {
be3cfe4c 669 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.37.tar.gz',
74a30e96
CBW
670 'FILES' => q[cpan/IO-Socket-IP],
671 'EXCLUDED' => [
672 qr{^examples/},
673 ],
674 },
675
4f3a742d 676 'IO::Zlib' => {
4f3a742d
DR
677 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
678 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
679 },
680
681 'IPC::Cmd' => {
fd025031 682 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.94.tar.gz',
4f3a742d 683 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
684 },
685
4f3a742d 686 'IPC::SysV' => {
f38527b2 687 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
688 'FILES' => q[cpan/IPC-SysV],
689 'EXCLUDED' => [
690 qw( const-c.inc
691 const-xs.inc
692 ),
693 ],
4f3a742d
DR
694 },
695
696 'JSON::PP' => {
87f3ebe4 697 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 698 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
699 },
700
701 'lib' => {
4f3a742d
DR
702 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
703 'FILES' => q[dist/lib/],
704 'EXCLUDED' => [
705 qw( forPAUSE/lib.pm
706 t/00pod.t
707 ),
708 ],
4f3a742d
DR
709 },
710
711 'libnet' => {
bfdb5bfe 712 'DISTRIBUTION' => 'SHAY/libnet-3.08.tar.gz',
4f3a742d
DR
713 'FILES' => q[cpan/libnet],
714 'EXCLUDED' => [
715 qw( Configure
2901a52f 716 t/changes.t
59e3cdd4
SH
717 t/critic.t
718 t/pod.t
719 t/pod_coverage.t
4f3a742d 720 ),
84c82da4 721 qr(^demos/),
dadfa42f 722 qr(^t/external/),
4f3a742d 723 ],
4f3a742d
DR
724 },
725
726 'Locale-Codes' => {
add9356c 727 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.38.tar.gz',
4f3a742d
DR
728 'FILES' => q[cpan/Locale-Codes],
729 'EXCLUDED' => [
84c82da4 730 qw( README.first
8eadc45b 731 t/pod_coverage.ign
84c82da4 732 t/pod_coverage.t
4f3a742d
DR
733 t/pod.t),
734 qr{^t/runtests},
735 qr{^t/runtests\.bat},
736 qr{^internal/},
737 qr{^examples/},
738 ],
4f3a742d
DR
739 },
740
741 'Locale::Maketext' => {
2310e174 742 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
743 'FILES' => q[dist/Locale-Maketext],
744 'EXCLUDED' => [
745 qw(
746 perlcriticrc
747 t/00_load.t
748 t/pod.t
749 ),
750 ],
4f3a742d
DR
751 },
752
753 'Locale::Maketext::Simple' => {
4f3a742d
DR
754 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
755 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
756 },
757
4f3a742d 758 'Math::BigInt' => {
4657e0bc 759 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999715.tar.gz',
6b0f9b46 760 'FILES' => q[cpan/Math-BigInt],
4f3a742d
DR
761 'EXCLUDED' => [
762 qr{^inc/},
763 qr{^examples/},
6b10d254 764 qr{^t/author-},
4f3a742d
DR
765 qw( t/00sig.t
766 t/01load.t
767 t/02pod.t
768 t/03podcov.t
769 ),
770 ],
4f3a742d
DR
771 },
772
773 'Math::BigInt::FastCalc' => {
1d5bcce3 774 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.40.tar.gz',
6b0f9b46 775 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d
DR
776 'EXCLUDED' => [
777 qr{^inc/},
778 qw( t/00sig.t
779 t/01load.t
780 t/02pod.t
781 t/03podcov.t
782 ),
783
784 # instead we use the versions of these test
785 # files that come with Math::BigInt:
786 qw( t/bigfltpm.inc
787 t/bigfltpm.t
788 t/bigintpm.inc
789 t/bigintpm.t
790 t/mbimbf.inc
791 t/mbimbf.t
792 ),
793 ],
4f3a742d
DR
794 },
795
796 'Math::BigRat' => {
11c955be 797 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260802.tar.gz',
6b0f9b46 798 'FILES' => q[cpan/Math-BigRat],
4f3a742d
DR
799 'EXCLUDED' => [
800 qr{^inc/},
801 qw( t/00sig.t
802 t/01load.t
803 t/02pod.t
804 t/03podcov.t
11c955be 805 t/blog-mbr.t
4f3a742d
DR
806 ),
807 ],
9b331ac6
SH
808 'CUSTOMIZED' => [
809 qw( lib/Math/BigRat.pm
810 ),
811 ],
4f3a742d
DR
812 },
813
814 'Math::Complex' => {
04ae1553 815 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
816 'FILES' => q[cpan/Math-Complex],
817 'EXCLUDED' => [
818 qw( t/pod.t
819 t/pod-coverage.t
820 ),
821 ],
4f3a742d
DR
822 },
823
824 'Memoize' => {
8114efa0 825 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
826 'FILES' => q[cpan/Memoize],
827 'EXCLUDED' => ['article.html'],
4f3a742d
DR
828 },
829
830 'MIME::Base64' => {
6b10655d 831 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
832 'FILES' => q[cpan/MIME-Base64],
833 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
834 },
835
4f3a742d 836 'Module::CoreList' => {
8fc12533 837 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20160507.tar.gz',
4f3a742d 838 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
839 },
840
841 'Module::Load' => {
58572ed8 842 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 843 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
844 },
845
846 'Module::Load::Conditional' => {
a1f2a8e1 847 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 848 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
849 },
850
851 'Module::Loaded' => {
4f3a742d
DR
852 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
853 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
854 },
855
856 'Module::Metadata' => {
8255316a 857 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000032-TRIAL.tar.gz',
4f3a742d
DR
858 'FILES' => q[cpan/Module-Metadata],
859 'EXCLUDED' => [
b9beed70 860 qw(t/00-report-prereqs.t),
adc2cdfb 861 qw(t/00-report-prereqs.dd),
e6d414a9 862 qr{weaver.ini},
4f3a742d
DR
863 qr{^xt},
864 ],
4f3a742d
DR
865 },
866
4f3a742d 867 'Net::Ping' => {
4e0aac35 868 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 869 'FILES' => q[dist/Net-Ping],
4f3a742d
DR
870 },
871
872 'NEXT' => {
4f3a742d
DR
873 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
874 'FILES' => q[cpan/NEXT],
875 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
876 },
877
4f3a742d 878 'Params::Check' => {
8b21fa03 879 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 880 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
881 },
882
883 'parent' => {
bdb6acef 884 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
4f3a742d 885 'FILES' => q[cpan/parent],
4f3a742d
DR
886 },
887
888 'Parse::CPAN::Meta' => {
9716828a 889 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz',
4f3a742d 890 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 891 'EXCLUDED' => [
f907dd3c 892 qw[t/00-report-prereqs.dd],
342e4710
CBW
893 qw[t/00-report-prereqs.t],
894 qr{^xt},
895 ],
4f3a742d
DR
896 },
897
898 'PathTools' => {
0224bf41 899 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
cb8c8458 900 'FILES' => q[dist/PathTools],
76250107
SH
901 'EXCLUDED' => [
902 qr{^t/lib/Test/},
903 qw( t/rel2abs_vs_symlink.t),
904 ],
4f3a742d
DR
905 },
906
97b1d6e6 907 'Perl::OSType' => {
76f6b771 908 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.009.tar.gz',
97b1d6e6 909 'FILES' => q[cpan/Perl-OSType],
765955c0 910 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
911 },
912
97b1d6e6 913 'perlfaq' => {
a2c3b2fe 914 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
97b1d6e6
SH
915 'FILES' => q[cpan/perlfaq],
916 'EXCLUDED' => [
4d25f022 917 qw( inc/CreateQuestionList.pm
e3ef4406 918 inc/perlfaq.tt
4d25f022
SH
919 t/00-compile.t),
920 qr{^xt/},
97b1d6e6 921 ],
97b1d6e6
SH
922 },
923
4f3a742d 924 'PerlIO::via::QuotedPrint' => {
96623e31 925 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 926 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
927 },
928
0c501878 929 'Pod::Checker' => {
0c501878
CBW
930 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
931 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
932 },
933
4f3a742d 934 'Pod::Escapes' => {
f347d3e3 935 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 936 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
937 },
938
4f3a742d 939 'Pod::Parser' => {
534577b2 940 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 941 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
942 },
943
944 'Pod::Perldoc' => {
96f13870 945 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 946 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 947
fa884b76
DM
948 # Note that we use the CPAN-provided Makefile.PL, since it
949 # contains special handling of the installation of perldoc.pod
950
951 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
952 # instead
953 # XXX We can and should fix this, but clean up the DRY-failure in utils
954 # first
955 'EXCLUDED' => ['perldoc'],
18c028dd
AB
956
957 # https://rt.cpan.org/Ticket/Display.html?id=106798
f090f03a 958 # https://rt.cpan.org/Ticket/Display.html?id=110368
18c028dd 959 'CUSTOMIZED' => [ qw[ lib/Pod/Perldoc.pm ] ],
4f3a742d
DR
960 },
961
962 'Pod::Simple' => {
a4a12576 963 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
4f3a742d 964 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
965 },
966
0c501878 967 'Pod::Usage' => {
1a938e7c 968 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.68.tar.gz',
0c501878 969 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
970 },
971
4f3a742d 972 'podlators' => {
84d02d20 973 'DISTRIBUTION' => 'RRA/podlators-4.07.tar.gz',
4f3a742d
DR
974 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
975
4f3a742d
DR
976 'MAP' => {
977 '' => 'cpan/podlators/',
4f3a742d 978 # this file lives outside the cpan/ directory
259f5e0b 979 'pod/perlpodstyle' => 'pod/perlpodstyle.pod',
4f3a742d 980 },
4f3a742d
DR
981 },
982
4f3a742d 983 'Safe' => {
e739c653 984 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 985 'FILES' => q[dist/Safe],
4f3a742d
DR
986 },
987
988 'Scalar-List-Utils' => {
e8164ee7 989 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.45.tar.gz',
869a9612 990 'FILES' => q[cpan/Scalar-List-Utils],
7ede3c4f
AC
991 # Waiting to be merged upstream
992 # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/42
993 'CUSTOMIZED' => [
994 qw( ListUtil.xs
995 lib/List/Util.pm
996 lib/List/Util/XS.pm
997 lib/Scalar/Util.pm
998 lib/Sub/Util.pm
999 )
1000 ],
4f3a742d
DR
1001 },
1002
4f3a742d 1003 'Search::Dict' => {
0b0a7092 1004 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 1005 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
1006 },
1007
1008 'SelfLoader' => {
c3958279 1009 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1010 'FILES' => q[dist/SelfLoader],
1011 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1012 },
1013
4f3a742d 1014 'Socket' => {
06a9195c 1015 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 1016 'FILES' => q[cpan/Socket],
06a9195c
SH
1017
1018 # https://rt.cpan.org/Ticket/Display.html?id=106797
1019 # https://rt.cpan.org/Ticket/Display.html?id=107058
98e2bb74 1020 # https://rt.cpan.org/Ticket/Display.html?id=111707
06a9195c 1021 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
1022 },
1023
1024 'Storable' => {
5f4b5e0f 1025 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1026 'FILES' => q[dist/Storable],
76250107
SH
1027 'EXCLUDED' => [
1028 qr{^t/compat/},
1029 ],
4f3a742d
DR
1030 },
1031
4f3a742d 1032 'Sys::Syslog' => {
e57ea7c9 1033 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.34.tar.gz',
4f3a742d
DR
1034 'FILES' => q[cpan/Sys-Syslog],
1035 'EXCLUDED' => [
1036 qr{^eg/},
84c82da4
SH
1037 qw( README.win32
1038 t/data-validation.t
4f3a742d
DR
1039 t/distchk.t
1040 t/pod.t
1041 t/podcover.t
1042 t/podspell.t
1043 t/portfs.t
1044 win32/PerlLog.RES
4f3a742d
DR
1045 ),
1046 ],
4f3a742d
DR
1047 },
1048
1049 'Term::ANSIColor' => {
05465a2f 1050 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.05.tar.gz',
4f3a742d
DR
1051 'FILES' => q[cpan/Term-ANSIColor],
1052 'EXCLUDED' => [
92f80b37
CBW
1053 qr{^examples/},
1054 qr{^t/data/},
5e64492f
CBW
1055 qr{^t/docs/},
1056 qr{^t/style/},
1057 qw( t/module/aliases-env.t ),
4f3a742d 1058 ],
4f3a742d
DR
1059 },
1060
1061 'Term::Cap' => {
23a75734 1062 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1063 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1064 },
1065
1066 'Term::Complete' => {
4f3a742d
DR
1067 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1068 'FILES' => q[dist/Term-Complete],
1069 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1070 },
1071
1072 'Term::ReadLine' => {
75ad3638 1073 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1074 'FILES' => q[dist/Term-ReadLine],
1075 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1076 },
1077
4f3a742d 1078 'Test' => {
1c22e001 1079 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1080 'FILES' => q[dist/Test],
4f3a742d
DR
1081 },
1082
1083 'Test::Harness' => {
3eb3ec0b 1084 'DISTRIBUTION' => 'LEONT/Test-Harness-3.36.tar.gz',
4f3a742d
DR
1085 'FILES' => q[cpan/Test-Harness],
1086 'EXCLUDED' => [
1087 qr{^examples/},
4f3a742d
DR
1088 qr{^xt/},
1089 qw( Changes-2.64
8db65552 1090 MANIFEST.CUMMULATIVE
4f3a742d
DR
1091 HACKING.pod
1092 perlcriticrc
8db65552 1093 t/000-load.t
4f3a742d
DR
1094 t/lib/if.pm
1095 ),
1096 ],
4f3a742d
DR
1097 },
1098
1099 'Test::Simple' => {
80a7dd19 1100 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1101 'FILES' => q[cpan/Test-Simple],
1102 'EXCLUDED' => [
6dab8563 1103 qr{^t/xt},
86e082c9 1104 qr{^xt},
4f3a742d
DR
1105 qw( .perlcriticrc
1106 .perltidyrc
84c82da4
SH
1107 examples/indent.pl
1108 examples/subtest.t
80a7dd19 1109 t/00compile.t
18864292 1110 t/xxx-changes_updated.t
4f3a742d
DR
1111 ),
1112 ],
f266b743 1113 },
4f3a742d
DR
1114
1115 'Text::Abbrev' => {
5e96eee9 1116 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1117 'FILES' => q[dist/Text-Abbrev],
1118 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1119 },
1120
1121 'Text::Balanced' => {
03a97c81 1122 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1123 'FILES' => q[cpan/Text-Balanced],
1124 'EXCLUDED' => [
1125 qw( t/97_meta.t
1126 t/98_pod.t
1127 t/99_pmv.t
1128 ),
1129 ],
4f3a742d
DR
1130 },
1131
1132 'Text::ParseWords' => {
a790e348 1133 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1134 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1135 },
1136
4f3a742d 1137 'Text-Tabs+Wrap' => {
83aea42c 1138 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1139 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1140 'EXCLUDED' => [
1141 qr/^lib\.old/,
1142 't/dnsparks.t', # see af6492bf9e
4f3a742d 1143 ],
e7b92d54
SH
1144 'MAP' => {
1145 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1146 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1147 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1148 },
4f3a742d
DR
1149 },
1150
4e75700d
AC
1151 # Jerry Hedden does take patches that are applied to blead first, even
1152 # though that can be hard to discern from the Git history; so it's
1153 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1154 # to be under dist/ rather than cpan/
4f3a742d 1155 'Thread::Queue' => {
89e2fe52 1156 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.11.tar.gz',
4f3a742d
DR
1157 'FILES' => q[dist/Thread-Queue],
1158 'EXCLUDED' => [
1fd4700e
JH
1159 qr{^examples/},
1160 qw( t/00_load.t
4f3a742d
DR
1161 t/99_pod.t
1162 t/test.pl
1163 ),
1164 ],
4f3a742d
DR
1165 },
1166
1167 'Thread::Semaphore' => {
4f3a742d
DR
1168 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1169 'FILES' => q[dist/Thread-Semaphore],
1170 'EXCLUDED' => [
1171 qw( examples/semaphore.pl
1172 t/00_load.t
1173 t/99_pod.t
1174 t/test.pl
1175 ),
1176 ],
4f3a742d
DR
1177 },
1178
1179 'threads' => {
5ea3460b 1180 'DISTRIBUTION' => 'JDHEDDEN/threads-2.09.tar.gz',
4f3a742d
DR
1181 'FILES' => q[dist/threads],
1182 'EXCLUDED' => [
1183 qr{^examples/},
1184 qw( t/pod.t
1185 t/test.pl
1186 threads.h
1187 ),
1188 ],
4f3a742d
DR
1189 },
1190
1191 'threads::shared' => {
83c15bcd 1192 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.52.tar.gz',
4f3a742d
DR
1193 'FILES' => q[dist/threads-shared],
1194 'EXCLUDED' => [
1195 qw( examples/class.pl
1196 shared.h
1197 t/pod.t
1198 t/test.pl
1199 ),
1200 ],
4f3a742d
DR
1201 },
1202
1203 'Tie::File' => {
4ac9c666 1204 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1205 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1206 },
1207
4f3a742d 1208 'Tie::RefHash' => {
4f3a742d
DR
1209 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1210 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1211 },
1212
1213 'Time::HiRes' => {
965f9517 1214 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9733.tar.gz',
91ba54d4 1215 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1216 },
1217
1218 'Time::Local' => {
62e824cf 1219 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1220 'FILES' => q[cpan/Time-Local],
1221 'EXCLUDED' => [
62e824cf 1222 qr{^t/release-.*\.t},
4f3a742d 1223 ],
4f3a742d
DR
1224 },
1225
1226 'Time::Piece' => {
5563b392 1227 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
4f3a742d 1228 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1229 },
1230
1231 'Unicode::Collate' => {
6962a25d 1232 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.14.tar.gz',
4f3a742d
DR
1233 'FILES' => q[cpan/Unicode-Collate],
1234 'EXCLUDED' => [
1235 qr{N$},
1236 qr{^data/},
1237 qr{^gendata/},
1238 qw( disableXS
1239 enableXS
1240 mklocale
1241 ),
1242 ],
4f3a742d
DR
1243 },
1244
1245 'Unicode::Normalize' => {
1ef95abd 1246 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
4f3a742d 1247 'FILES' => q[cpan/Unicode-Normalize],
1ef95abd
SH
1248 'EXCLUDED' => [
1249 qw( MANIFEST.N
1250 Normalize.pmN
1251 disableXS
1252 enableXS
1253 ),
1254 ],
4f3a742d
DR
1255 },
1256
4f3a742d 1257 'version' => {
3462bde7 1258 'DISTRIBUTION' => 'JPEACOCK/version-0.9916.tar.gz',
4fa93b19 1259 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1260 'EXCLUDED' => [
df3ba8e7 1261 qr{^vutil/lib/},
c60b4fa6 1262 'vutil/Makefile.PL',
df3ba8e7
FC
1263 'vutil/ppport.h',
1264 'vutil/vxs.xs',
ce9582af 1265 't/00impl-pp.t',
4f3a742d 1266 't/survey_locales',
ce9582af 1267 'lib/version/vpp.pm',
4f3a742d 1268 ],
f81a37f2 1269
c872d591
SH
1270 # When adding the CPAN-distributed files for version.pm, it is necessary
1271 # to delete an entire block out of lib/version.pm, since that code is
1272 # only necessary with the CPAN release.
f81a37f2
SH
1273 'CUSTOMIZED' => [
1274 qw( lib/version.pm
f81a37f2
SH
1275 ),
1276 ],
1277
df3ba8e7 1278 'MAP' => {
4fa93b19
SH
1279 'vperl/' => 'cpan/version/lib/version/',
1280 'vutil/' => '',
df3ba8e7
FC
1281 '' => 'cpan/version/',
1282 },
4f3a742d
DR
1283 },
1284
4f3a742d 1285 'warnings' => {
099bebb1 1286 'FILES' => q[
4f3a742d 1287 lib/warnings
099bebb1
SH
1288 lib/warnings.{pm,t}
1289 regen/warnings.pl
4f3a742d 1290 t/lib/warnings
099bebb1 1291 ],
4f3a742d
DR
1292 },
1293
4f3a742d 1294 'Win32' => {
083231ea 1295 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1296 'FILES' => q[cpan/Win32],
4f3a742d
DR
1297 },
1298
1299 'Win32API::File' => {
df61f5a9 1300 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1301 'FILES' => q[cpan/Win32API-File],
1302 'EXCLUDED' => [
1303 qr{^ex/},
4f3a742d 1304 ],
4f3a742d
DR
1305 },
1306
4f3a742d 1307 'XSLoader' => {
681a49bf 1308 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1309 'FILES' => q[dist/XSLoader],
1310 'EXCLUDED' => [
1311 qr{^eg/},
57f9caa0
SH
1312 qw( t/00-load.t
1313 t/01-api.t
1314 t/distchk.t
1315 t/pod.t
4f3a742d
DR
1316 t/podcover.t
1317 t/portfs.t
1318 ),
1319 'XSLoader.pm', # we use XSLoader_pm.PL
1320 ],
4f3a742d
DR
1321 },
1322
462ea751
DM
1323 # this pseudo-module represents all the files under ext/ and lib/
1324 # that aren't otherwise claimed. This means that the following two
1325 # commands will check that every file under ext/ and lib/ is
1326 # accounted for, and that there are no duplicates:
1327 #
1328 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1329 # perl Porting/Maintainers --checkmani
462ea751 1330
4f3a742d 1331 '_PERLLIB' => {
2af3c4b9 1332 'FILES' => q[
79852350
AB
1333 ext/Amiga-ARexx/
1334 ext/Amiga-Exec/
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/
a3b4b767 1452 lib/perlbug.t
2af3c4b9 1453 lib/sigtrap.{pm,t}
4f3a742d
DR
1454 lib/sort.{pm,t}
1455 lib/strict.{pm,t}
1456 lib/subs.{pm,t}
1457 lib/unicore/
1458 lib/utf8.{pm,t}
1459 lib/utf8_heavy.pl
1460 lib/vars{.pm,.t,_carp.t}
1461 lib/vmsish.{pm,t}
1462 ],
4f3a742d 1463 },
462ea751 1464);
b128a327 1465
97556ec3 1466# legacy CPAN flag
4f3a742d 1467for ( values %Modules ) {
97556ec3
GA
1468 $_->{CPAN} = !!$_->{DISTRIBUTION};
1469}
1470
099bebb1
SH
1471# legacy UPSTREAM flag
1472for ( keys %Modules ) {
1473 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1474 next if exists $Modules{$_}{UPSTREAM};
1475
1476 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1477 $Modules{$_}{UPSTREAM} = 'blead';
1478 }
1479 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1480 $Modules{$_}{UPSTREAM} = 'cpan';
1481 }
1482 else {
1483 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1484 }
1485}
1486
d350de41 1487# legacy MAINTAINER field
099bebb1 1488for ( keys %Modules ) {
b3dcf775 1489 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1490 next if exists $Modules{$_}{MAINTAINER};
1491
1492 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1493 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1494 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1495 }
099bebb1
SH
1496 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1497 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1498 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1499 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1500 }
099bebb1
SH
1501 else {
1502 warn "No DISTRIBUTION for non-blead module $_";
1503 }
d350de41
SH
1504}
1505
b128a327 15061;