This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Porting/Miantainers.pl update following changes in 273df2b189...538ad527dc
[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' => {
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' => {
6f186eb8 230 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.25.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' => {
1bb0c253 333 'DISTRIBUTION' => 'PMQS/DB_File-1.835.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' => {
38054f44 367 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.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' => {
13cf5167 390 'DISTRIBUTION' => 'DANKOGAI/Encode-2.79.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 ],
4f3a742d
DR
549 },
550
4f3a742d 551 'File::Temp' => {
3d5f905f 552 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
553 'FILES' => q[cpan/File-Temp],
554 'EXCLUDED' => [
555 qw( misc/benchmark.pl
556 misc/results.txt
557 ),
814e893f
CBW
558 qw[t/00-report-prereqs.t],
559 qr{^xt},
4f3a742d 560 ],
4f3a742d
DR
561 },
562
4f3a742d 563 'Filter::Simple' => {
37ffe967 564 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
565 'FILES' => q[dist/Filter-Simple],
566 'EXCLUDED' => [
4f3a742d
DR
567 qr{^demo/}
568 ],
4f3a742d
DR
569 },
570
571 'Filter::Util::Call' => {
356231b0 572 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
4f3a742d
DR
573 'FILES' => q[cpan/Filter-Util-Call
574 pod/perlfilter.pod
575 ],
576 'EXCLUDED' => [
577 qr{^decrypt/},
578 qr{^examples/},
579 qr{^Exec/},
580 qr{^lib/Filter/},
581 qr{^tee/},
582 qw( Call/Makefile.PL
583 Call/ppport.h
584 Call/typemap
585 mytest
586 t/cpp.t
587 t/decrypt.t
588 t/exec.t
589 t/order.t
4f3a742d
DR
590 t/sh.t
591 t/tee.t
533d93cc
SH
592 t/z_kwalitee.t
593 t/z_meta.t
594 t/z_perl_minimum_version.t
595 t/z_pod-coverage.t
596 t/z_pod.t
4f3a742d
DR
597 ),
598 ],
599 'MAP' => {
600 'Call/' => 'cpan/Filter-Util-Call/',
601 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
602 'perlfilter.pod' => 'pod/perlfilter.pod',
603 '' => 'cpan/Filter-Util-Call/',
604 },
4f3a742d
DR
605 },
606
4f3a742d 607 'Getopt::Long' => {
50f00446 608 'DISTRIBUTION' => 'JV/Getopt-Long-2.48.tar.gz',
4f3a742d
DR
609 'FILES' => q[cpan/Getopt-Long],
610 'EXCLUDED' => [
611 qr{^examples/},
612 qw( perl-Getopt-Long.spec
613 lib/newgetopt.pl
974d5816 614 t/gol-compat.t
4f3a742d
DR
615 ),
616 ],
4f3a742d
DR
617 },
618
4f3a742d 619 'HTTP::Tiny' => {
99527ef1 620 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz',
4f3a742d
DR
621 'FILES' => q[cpan/HTTP-Tiny],
622 'EXCLUDED' => [
fcfb9f49 623 't/00-report-prereqs.t',
57d69a40 624 't/00-report-prereqs.dd',
4f3a742d 625 't/200_live.t',
44347bc3 626 't/200_live_local_ip.t',
fcfb9f49 627 't/210_live_ssl.t',
4f3a742d
DR
628 qr/^eg/,
629 qr/^xt/
630 ],
4f3a742d
DR
631 },
632
633 'I18N::Collate' => {
4f3a742d
DR
634 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
635 'FILES' => q[dist/I18N-Collate],
636 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
637 },
638
4f3a742d 639 'I18N::LangTags' => {
4f3a742d 640 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
641 },
642
643 'if' => {
f7294c1d 644 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 645 'FILES' => q[dist/if],
4f3a742d
DR
646 },
647
648 'IO' => {
4f3a742d
DR
649 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
650 'FILES' => q[dist/IO/],
651 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
652 },
653
654 'IO-Compress' => {
7dcc7d3d 655 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
4f3a742d 656 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
657 'EXCLUDED' => [
658 qr{^examples/},
659 qr{^t/Test/},
660 't/010examples-bzip2.t',
661 't/010examples-zlib.t',
662 't/cz-05examples.t',
663 ],
4f3a742d
DR
664 },
665
74a30e96 666 'IO::Socket::IP' => {
be3cfe4c 667 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.37.tar.gz',
74a30e96
CBW
668 'FILES' => q[cpan/IO-Socket-IP],
669 'EXCLUDED' => [
670 qr{^examples/},
671 ],
672 },
673
4f3a742d 674 'IO::Zlib' => {
4f3a742d
DR
675 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
676 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
677 },
678
679 'IPC::Cmd' => {
9c213c25 680 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 681 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
682 },
683
4f3a742d 684 'IPC::SysV' => {
dd0df890 685 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
686 'FILES' => q[cpan/IPC-SysV],
687 'EXCLUDED' => [
688 qw( const-c.inc
689 const-xs.inc
690 ),
691 ],
4f3a742d
DR
692 },
693
694 'JSON::PP' => {
87f3ebe4 695 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 696 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
697 },
698
699 'lib' => {
4f3a742d
DR
700 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
701 'FILES' => q[dist/lib/],
702 'EXCLUDED' => [
703 qw( forPAUSE/lib.pm
704 t/00pod.t
705 ),
706 ],
4f3a742d
DR
707 },
708
709 'libnet' => {
bfdb5bfe 710 'DISTRIBUTION' => 'SHAY/libnet-3.08.tar.gz',
4f3a742d
DR
711 'FILES' => q[cpan/libnet],
712 'EXCLUDED' => [
713 qw( Configure
2901a52f 714 t/changes.t
59e3cdd4
SH
715 t/critic.t
716 t/pod.t
717 t/pod_coverage.t
4f3a742d 718 ),
84c82da4 719 qr(^demos/),
dadfa42f 720 qr(^t/external/),
4f3a742d 721 ],
4f3a742d
DR
722 },
723
724 'Locale-Codes' => {
50774986 725 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.37.tar.gz',
4f3a742d
DR
726 'FILES' => q[cpan/Locale-Codes],
727 'EXCLUDED' => [
84c82da4 728 qw( README.first
8eadc45b 729 t/pod_coverage.ign
84c82da4 730 t/pod_coverage.t
4f3a742d
DR
731 t/pod.t),
732 qr{^t/runtests},
733 qr{^t/runtests\.bat},
734 qr{^internal/},
735 qr{^examples/},
736 ],
4f3a742d
DR
737 },
738
739 'Locale::Maketext' => {
2310e174 740 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
741 'FILES' => q[dist/Locale-Maketext],
742 'EXCLUDED' => [
743 qw(
744 perlcriticrc
745 t/00_load.t
746 t/pod.t
747 ),
748 ],
4f3a742d
DR
749 },
750
751 'Locale::Maketext::Simple' => {
4f3a742d
DR
752 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
753 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
754 },
755
4f3a742d 756 'Math::BigInt' => {
4657e0bc 757 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999715.tar.gz',
6b0f9b46 758 'FILES' => q[cpan/Math-BigInt],
4f3a742d
DR
759 'EXCLUDED' => [
760 qr{^inc/},
761 qr{^examples/},
6b10d254 762 qr{^t/author-},
4f3a742d
DR
763 qw( t/00sig.t
764 t/01load.t
765 t/02pod.t
766 t/03podcov.t
767 ),
768 ],
4f3a742d
DR
769 },
770
771 'Math::BigInt::FastCalc' => {
1d5bcce3 772 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.40.tar.gz',
6b0f9b46 773 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d
DR
774 'EXCLUDED' => [
775 qr{^inc/},
776 qw( t/00sig.t
777 t/01load.t
778 t/02pod.t
779 t/03podcov.t
780 ),
781
782 # instead we use the versions of these test
783 # files that come with Math::BigInt:
784 qw( t/bigfltpm.inc
785 t/bigfltpm.t
786 t/bigintpm.inc
787 t/bigintpm.t
788 t/mbimbf.inc
789 t/mbimbf.t
790 ),
791 ],
4f3a742d
DR
792 },
793
794 'Math::BigRat' => {
11c955be 795 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260802.tar.gz',
6b0f9b46 796 'FILES' => q[cpan/Math-BigRat],
4f3a742d
DR
797 'EXCLUDED' => [
798 qr{^inc/},
799 qw( t/00sig.t
800 t/01load.t
801 t/02pod.t
802 t/03podcov.t
11c955be 803 t/blog-mbr.t
4f3a742d
DR
804 ),
805 ],
9b331ac6
SH
806 'CUSTOMIZED' => [
807 qw( lib/Math/BigRat.pm
808 ),
809 ],
4f3a742d
DR
810 },
811
812 'Math::Complex' => {
04ae1553 813 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
814 'FILES' => q[cpan/Math-Complex],
815 'EXCLUDED' => [
816 qw( t/pod.t
817 t/pod-coverage.t
818 ),
819 ],
4f3a742d
DR
820 },
821
822 'Memoize' => {
8114efa0 823 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
824 'FILES' => q[cpan/Memoize],
825 'EXCLUDED' => ['article.html'],
4f3a742d
DR
826 },
827
828 'MIME::Base64' => {
6b10655d 829 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
830 'FILES' => q[cpan/MIME-Base64],
831 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
832 },
833
4f3a742d 834 'Module::CoreList' => {
2641c7ef 835 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20160120.tar.gz',
4f3a742d 836 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
837 },
838
839 'Module::Load' => {
58572ed8 840 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 841 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
842 },
843
844 'Module::Load::Conditional' => {
a1f2a8e1 845 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 846 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
847 },
848
849 'Module::Loaded' => {
4f3a742d
DR
850 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
851 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
852 },
853
854 'Module::Metadata' => {
b105cec5 855 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000031-TRIAL.tar.gz',
4f3a742d
DR
856 'FILES' => q[cpan/Module-Metadata],
857 'EXCLUDED' => [
b9beed70 858 qw(t/00-report-prereqs.t),
adc2cdfb 859 qw(t/00-report-prereqs.dd),
e6d414a9 860 qr{weaver.ini},
4f3a742d
DR
861 qr{^xt},
862 ],
4f3a742d
DR
863 },
864
4f3a742d 865 'Net::Ping' => {
4e0aac35 866 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 867 'FILES' => q[dist/Net-Ping],
4f3a742d
DR
868 },
869
870 'NEXT' => {
4f3a742d
DR
871 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
872 'FILES' => q[cpan/NEXT],
873 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
874 },
875
4f3a742d 876 'Params::Check' => {
8b21fa03 877 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 878 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
879 },
880
881 'parent' => {
bdb6acef 882 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
4f3a742d 883 'FILES' => q[cpan/parent],
4f3a742d
DR
884 },
885
886 'Parse::CPAN::Meta' => {
9716828a 887 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz',
4f3a742d 888 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 889 'EXCLUDED' => [
f907dd3c 890 qw[t/00-report-prereqs.dd],
342e4710
CBW
891 qw[t/00-report-prereqs.t],
892 qr{^xt},
893 ],
4f3a742d
DR
894 },
895
896 'PathTools' => {
0224bf41 897 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
cb8c8458 898 'FILES' => q[dist/PathTools],
76250107
SH
899 'EXCLUDED' => [
900 qr{^t/lib/Test/},
901 qw( t/rel2abs_vs_symlink.t),
902 ],
4f3a742d
DR
903 },
904
97b1d6e6 905 'Perl::OSType' => {
76f6b771 906 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.009.tar.gz',
97b1d6e6 907 'FILES' => q[cpan/Perl-OSType],
765955c0 908 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
909 },
910
97b1d6e6 911 'perlfaq' => {
5eeb15d3 912 'DISTRIBUTION' => 'LLAP/perlfaq-5.021010.tar.gz',
97b1d6e6
SH
913 'FILES' => q[cpan/perlfaq],
914 'EXCLUDED' => [
4d25f022 915 qw( inc/CreateQuestionList.pm
e3ef4406 916 inc/perlfaq.tt
4d25f022
SH
917 t/00-compile.t),
918 qr{^xt/},
97b1d6e6 919 ],
97b1d6e6
SH
920 },
921
4f3a742d 922 'PerlIO::via::QuotedPrint' => {
96623e31 923 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 924 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
925 },
926
0c501878 927 'Pod::Checker' => {
0c501878
CBW
928 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
929 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
930 },
931
4f3a742d 932 'Pod::Escapes' => {
f347d3e3 933 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 934 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
935 },
936
4f3a742d 937 'Pod::Parser' => {
534577b2 938 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 939 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
940 },
941
942 'Pod::Perldoc' => {
96f13870 943 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 944 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 945
fa884b76
DM
946 # Note that we use the CPAN-provided Makefile.PL, since it
947 # contains special handling of the installation of perldoc.pod
948
949 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
950 # instead
951 # XXX We can and should fix this, but clean up the DRY-failure in utils
952 # first
953 'EXCLUDED' => ['perldoc'],
18c028dd
AB
954
955 # https://rt.cpan.org/Ticket/Display.html?id=106798
f090f03a 956 # https://rt.cpan.org/Ticket/Display.html?id=110368
18c028dd 957 'CUSTOMIZED' => [ qw[ lib/Pod/Perldoc.pm ] ],
4f3a742d
DR
958 },
959
960 'Pod::Simple' => {
a4a12576 961 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
4f3a742d 962 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
963 },
964
0c501878 965 'Pod::Usage' => {
1a938e7c 966 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.68.tar.gz',
0c501878 967 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
968 },
969
4f3a742d 970 'podlators' => {
3bd9a29e 971 'DISTRIBUTION' => 'RRA/podlators-4.04.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' => {
06a9195c 1025 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 1026 'FILES' => q[cpan/Socket],
06a9195c
SH
1027
1028 # https://rt.cpan.org/Ticket/Display.html?id=106797
1029 # https://rt.cpan.org/Ticket/Display.html?id=107058
1030 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
1031 },
1032
1033 'Storable' => {
5f4b5e0f 1034 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1035 'FILES' => q[dist/Storable],
76250107
SH
1036 'EXCLUDED' => [
1037 qr{^t/compat/},
1038 ],
4f3a742d
DR
1039 },
1040
4f3a742d 1041 'Sys::Syslog' => {
848ca32c 1042 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1043 'FILES' => q[cpan/Sys-Syslog],
1044 'EXCLUDED' => [
1045 qr{^eg/},
84c82da4
SH
1046 qw( README.win32
1047 t/data-validation.t
4f3a742d
DR
1048 t/distchk.t
1049 t/pod.t
1050 t/podcover.t
1051 t/podspell.t
1052 t/portfs.t
1053 win32/PerlLog.RES
4f3a742d
DR
1054 ),
1055 ],
4f3a742d
DR
1056 },
1057
1058 'Term::ANSIColor' => {
deb8398d 1059 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.04.tar.gz',
4f3a742d
DR
1060 'FILES' => q[cpan/Term-ANSIColor],
1061 'EXCLUDED' => [
92f80b37
CBW
1062 qr{^examples/},
1063 qr{^t/data/},
5e64492f
CBW
1064 qr{^t/docs/},
1065 qr{^t/style/},
1066 qw( t/module/aliases-env.t ),
4f3a742d 1067 ],
4f3a742d
DR
1068 },
1069
1070 'Term::Cap' => {
23a75734 1071 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1072 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1073 },
1074
1075 'Term::Complete' => {
4f3a742d
DR
1076 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1077 'FILES' => q[dist/Term-Complete],
1078 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1079 },
1080
1081 'Term::ReadLine' => {
75ad3638 1082 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1083 'FILES' => q[dist/Term-ReadLine],
1084 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1085 },
1086
4f3a742d 1087 'Test' => {
1c22e001 1088 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1089 'FILES' => q[dist/Test],
4f3a742d
DR
1090 },
1091
1092 'Test::Harness' => {
3eb3ec0b 1093 'DISTRIBUTION' => 'LEONT/Test-Harness-3.36.tar.gz',
4f3a742d
DR
1094 'FILES' => q[cpan/Test-Harness],
1095 'EXCLUDED' => [
1096 qr{^examples/},
4f3a742d
DR
1097 qr{^xt/},
1098 qw( Changes-2.64
8db65552 1099 MANIFEST.CUMMULATIVE
4f3a742d
DR
1100 HACKING.pod
1101 perlcriticrc
8db65552 1102 t/000-load.t
4f3a742d
DR
1103 t/lib/if.pm
1104 ),
1105 ],
4f3a742d
DR
1106 },
1107
1108 'Test::Simple' => {
80a7dd19 1109 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1110 'FILES' => q[cpan/Test-Simple],
1111 'EXCLUDED' => [
6dab8563 1112 qr{^t/xt},
86e082c9 1113 qr{^xt},
4f3a742d
DR
1114 qw( .perlcriticrc
1115 .perltidyrc
84c82da4
SH
1116 examples/indent.pl
1117 examples/subtest.t
80a7dd19 1118 t/00compile.t
18864292 1119 t/xxx-changes_updated.t
4f3a742d
DR
1120 ),
1121 ],
f266b743 1122 },
4f3a742d
DR
1123
1124 'Text::Abbrev' => {
5e96eee9 1125 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1126 'FILES' => q[dist/Text-Abbrev],
1127 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1128 },
1129
1130 'Text::Balanced' => {
03a97c81 1131 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1132 'FILES' => q[cpan/Text-Balanced],
1133 'EXCLUDED' => [
1134 qw( t/97_meta.t
1135 t/98_pod.t
1136 t/99_pmv.t
1137 ),
1138 ],
4f3a742d
DR
1139 },
1140
1141 'Text::ParseWords' => {
a790e348 1142 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1143 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1144 },
1145
4f3a742d 1146 'Text-Tabs+Wrap' => {
83aea42c 1147 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1148 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1149 'EXCLUDED' => [
1150 qr/^lib\.old/,
1151 't/dnsparks.t', # see af6492bf9e
4f3a742d 1152 ],
e7b92d54
SH
1153 'MAP' => {
1154 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1155 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1156 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1157 },
4f3a742d
DR
1158 },
1159
4e75700d
AC
1160 # Jerry Hedden does take patches that are applied to blead first, even
1161 # though that can be hard to discern from the Git history; so it's
1162 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1163 # to be under dist/ rather than cpan/
4f3a742d 1164 'Thread::Queue' => {
9846bace 1165 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.07.tar.gz',
4f3a742d
DR
1166 'FILES' => q[dist/Thread-Queue],
1167 'EXCLUDED' => [
1fd4700e
JH
1168 qr{^examples/},
1169 qw( t/00_load.t
4f3a742d
DR
1170 t/99_pod.t
1171 t/test.pl
1172 ),
1173 ],
4f3a742d
DR
1174 },
1175
1176 'Thread::Semaphore' => {
4f3a742d
DR
1177 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1178 'FILES' => q[dist/Thread-Semaphore],
1179 'EXCLUDED' => [
1180 qw( examples/semaphore.pl
1181 t/00_load.t
1182 t/99_pod.t
1183 t/test.pl
1184 ),
1185 ],
4f3a742d
DR
1186 },
1187
1188 'threads' => {
aa8d754d 1189 'DISTRIBUTION' => 'JDHEDDEN/threads-2.02.tar.gz',
4f3a742d
DR
1190 'FILES' => q[dist/threads],
1191 'EXCLUDED' => [
1192 qr{^examples/},
1193 qw( t/pod.t
1194 t/test.pl
1195 threads.h
1196 ),
1197 ],
4f3a742d
DR
1198 },
1199
1200 'threads::shared' => {
f3f2f486 1201 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.48.tar.gz',
4f3a742d
DR
1202 'FILES' => q[dist/threads-shared],
1203 'EXCLUDED' => [
1204 qw( examples/class.pl
1205 shared.h
1206 t/pod.t
1207 t/test.pl
1208 ),
1209 ],
4f3a742d
DR
1210 },
1211
1212 'Tie::File' => {
4ac9c666 1213 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1214 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1215 },
1216
4f3a742d 1217 'Tie::RefHash' => {
4f3a742d
DR
1218 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1219 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1220 },
1221
1222 'Time::HiRes' => {
4451fd4e 1223 'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9728.tar.gz',
4f3a742d 1224 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1225 },
1226
1227 'Time::Local' => {
62e824cf 1228 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1229 'FILES' => q[cpan/Time-Local],
1230 'EXCLUDED' => [
62e824cf 1231 qr{^t/release-.*\.t},
4f3a742d 1232 ],
4f3a742d
DR
1233 },
1234
1235 'Time::Piece' => {
5563b392 1236 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
4f3a742d 1237 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1238 },
1239
1240 'Unicode::Collate' => {
6962a25d 1241 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.14.tar.gz',
4f3a742d
DR
1242 'FILES' => q[cpan/Unicode-Collate],
1243 'EXCLUDED' => [
1244 qr{N$},
1245 qr{^data/},
1246 qr{^gendata/},
1247 qw( disableXS
1248 enableXS
1249 mklocale
1250 ),
1251 ],
4f3a742d
DR
1252 },
1253
1254 'Unicode::Normalize' => {
1ef95abd 1255 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
4f3a742d 1256 'FILES' => q[cpan/Unicode-Normalize],
1ef95abd
SH
1257 'EXCLUDED' => [
1258 qw( MANIFEST.N
1259 Normalize.pmN
1260 disableXS
1261 enableXS
1262 ),
1263 ],
4f3a742d
DR
1264 },
1265
4f3a742d 1266 'version' => {
da891a41 1267 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1268 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1269 'EXCLUDED' => [
df3ba8e7 1270 qr{^vutil/lib/},
c60b4fa6 1271 'vutil/Makefile.PL',
df3ba8e7
FC
1272 'vutil/ppport.h',
1273 'vutil/vxs.xs',
ce9582af 1274 't/00impl-pp.t',
4f3a742d 1275 't/survey_locales',
ce9582af 1276 'lib/version/vpp.pm',
4f3a742d 1277 ],
f81a37f2 1278
c872d591
SH
1279 # When adding the CPAN-distributed files for version.pm, it is necessary
1280 # to delete an entire block out of lib/version.pm, since that code is
1281 # only necessary with the CPAN release.
f81a37f2
SH
1282 'CUSTOMIZED' => [
1283 qw( lib/version.pm
f81a37f2 1284 ),
4637d007
SH
1285
1286 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1287 qw( vutil.c
4637d007 1288 ),
f81a37f2
SH
1289 ],
1290
df3ba8e7 1291 'MAP' => {
4fa93b19
SH
1292 'vperl/' => 'cpan/version/lib/version/',
1293 'vutil/' => '',
df3ba8e7
FC
1294 '' => 'cpan/version/',
1295 },
4f3a742d
DR
1296 },
1297
4f3a742d 1298 'warnings' => {
099bebb1 1299 'FILES' => q[
4f3a742d 1300 lib/warnings
099bebb1
SH
1301 lib/warnings.{pm,t}
1302 regen/warnings.pl
4f3a742d 1303 t/lib/warnings
099bebb1 1304 ],
4f3a742d
DR
1305 },
1306
4f3a742d 1307 'Win32' => {
083231ea 1308 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1309 'FILES' => q[cpan/Win32],
4f3a742d
DR
1310 },
1311
1312 'Win32API::File' => {
e5240100 1313 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1314 'FILES' => q[cpan/Win32API-File],
1315 'EXCLUDED' => [
1316 qr{^ex/},
4f3a742d 1317 ],
9d20b1d3
SH
1318
1319 # Currently all EOL differences. Waiting for a new upstream release:
1320 # All the files in the GitHub repo have UNIX EOLs already.
1321 'CUSTOMIZED' => [
1322 qw( ExtUtils/Myconst2perl.pm
1323 Makefile.PL
1324 buffers.h
1325 cFile.h
1326 cFile.pc
1327 const2perl.h
1328 t/file.t
1329 t/tie.t
1330 typemap
1331 ),
1332 ],
4f3a742d
DR
1333 },
1334
4f3a742d 1335 'XSLoader' => {
681a49bf 1336 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1337 'FILES' => q[dist/XSLoader],
1338 'EXCLUDED' => [
1339 qr{^eg/},
57f9caa0
SH
1340 qw( t/00-load.t
1341 t/01-api.t
1342 t/distchk.t
1343 t/pod.t
4f3a742d
DR
1344 t/podcover.t
1345 t/portfs.t
1346 ),
1347 'XSLoader.pm', # we use XSLoader_pm.PL
1348 ],
4f3a742d
DR
1349 },
1350
462ea751
DM
1351 # this pseudo-module represents all the files under ext/ and lib/
1352 # that aren't otherwise claimed. This means that the following two
1353 # commands will check that every file under ext/ and lib/ is
1354 # accounted for, and that there are no duplicates:
1355 #
1356 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1357 # perl Porting/Maintainers --checkmani
462ea751 1358
4f3a742d 1359 '_PERLLIB' => {
2af3c4b9 1360 'FILES' => q[
79852350
AB
1361 ext/Amiga-ARexx/
1362 ext/Amiga-Exec/
09213599 1363 ext/B/
2af3c4b9
SH
1364 ext/Devel-Peek/
1365 ext/DynaLoader/
1366 ext/Errno/
7b4d95f7 1367 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1368 ext/Fcntl/
1369 ext/File-DosGlob/
1370 ext/File-Find/
1371 ext/File-Glob/
1372 ext/FileCache/
1373 ext/GDBM_File/
1374 ext/Hash-Util-FieldHash/
1375 ext/Hash-Util/
1376 ext/I18N-Langinfo/
1377 ext/IPC-Open3/
1378 ext/NDBM_File/
1379 ext/ODBM_File/
1380 ext/Opcode/
1381 ext/POSIX/
1382 ext/PerlIO-encoding/
1383 ext/PerlIO-mmap/
1384 ext/PerlIO-scalar/
1385 ext/PerlIO-via/
1386 ext/Pod-Functions/
1387 ext/Pod-Html/
1388 ext/SDBM_File/
1389 ext/Sys-Hostname/
1390 ext/Tie-Hash-NamedCapture/
1391 ext/Tie-Memoize/
b3dcf775 1392 ext/VMS-DCLsym/
2af3c4b9 1393 ext/VMS-Filespec/
b3dcf775
SH
1394 ext/VMS-Stdio/
1395 ext/Win32CORE/
4f3a742d 1396 ext/XS-APItest/
2af3c4b9
SH
1397 ext/XS-Typemap/
1398 ext/arybase/
1399 ext/attributes/
1400 ext/mro/
1401 ext/re/
1402 lib/AnyDBM_File.{pm,t}
1403 lib/Benchmark.{pm,t}
38eca645 1404 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1405 lib/B/Op_private.pm
4f3a742d 1406 lib/CORE.pod
2af3c4b9 1407 lib/Class/Struct.{pm,t}
4f3a742d
DR
1408 lib/Config.t
1409 lib/Config/Extensions.{pm,t}
1410 lib/DB.{pm,t}
2af3c4b9
SH
1411 lib/DBM_Filter.pm
1412 lib/DBM_Filter/
1413 lib/DirHandle.{pm,t}
1414 lib/English.{pm,t}
4f3a742d
DR
1415 lib/ExtUtils/Embed.pm
1416 lib/ExtUtils/XSSymSet.pm
1417 lib/ExtUtils/t/Embed.t
1418 lib/ExtUtils/typemap
2af3c4b9
SH
1419 lib/File/Basename.{pm,t}
1420 lib/File/Compare.{pm,t}
1421 lib/File/Copy.{pm,t}
1422 lib/File/stat{.pm,.t,-7896.t}
1423 lib/FileHandle.{pm,t}
1424 lib/FindBin.{pm,t}
1425 lib/Getopt/Std.{pm,t}
4f3a742d 1426 lib/Internals.t
4b6af431 1427 lib/meta_notation.{pm,t}
4f3a742d
DR
1428 lib/Net/hostent.{pm,t}
1429 lib/Net/netent.{pm,t}
1430 lib/Net/protoent.{pm,t}
1431 lib/Net/servent.{pm,t}
2af3c4b9 1432 lib/PerlIO.pm
4f3a742d
DR
1433 lib/Pod/t/InputObjects.t
1434 lib/Pod/t/Select.t
1435 lib/Pod/t/Usage.t
4f3a742d
DR
1436 lib/Pod/t/utils.t
1437 lib/SelectSaver.{pm,t}
1438 lib/Symbol.{pm,t}
1439 lib/Thread.{pm,t}
1440 lib/Tie/Array.pm
1441 lib/Tie/Array/
1442 lib/Tie/ExtraHash.t
1443 lib/Tie/Handle.pm
1444 lib/Tie/Handle/
2af3c4b9 1445 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1446 lib/Tie/Scalar.{pm,t}
1447 lib/Tie/StdHandle.pm
1448 lib/Tie/SubstrHash.{pm,t}
1449 lib/Time/gmtime.{pm,t}
1450 lib/Time/localtime.{pm,t}
1451 lib/Time/tm.pm
1452 lib/UNIVERSAL.pm
1453 lib/Unicode/README
2af3c4b9 1454 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1455 lib/User/grent.{pm,t}
1456 lib/User/pwent.{pm,t}
2af3c4b9 1457 lib/_charnames.pm
4f3a742d
DR
1458 lib/blib.{pm,t}
1459 lib/bytes.{pm,t}
1460 lib/bytes_heavy.pl
1461 lib/charnames.{pm,t}
1462 lib/dbm_filter_util.pl
1463 lib/deprecate.pm
2af3c4b9 1464 lib/diagnostics.{pm,t}
4f3a742d
DR
1465 lib/dumpvar.{pl,t}
1466 lib/feature.{pm,t}
1467 lib/feature/
1468 lib/filetest.{pm,t}
1469 lib/h2ph.t
1470 lib/h2xs.t
1471 lib/integer.{pm,t}
1472 lib/less.{pm,t}
1473 lib/locale.{pm,t}
1474 lib/open.{pm,t}
1475 lib/overload/numbers.pm
1476 lib/overloading.{pm,t}
2af3c4b9 1477 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1478 lib/perl5db.{pl,t}
1479 lib/perl5db/
2af3c4b9 1480 lib/sigtrap.{pm,t}
4f3a742d
DR
1481 lib/sort.{pm,t}
1482 lib/strict.{pm,t}
1483 lib/subs.{pm,t}
1484 lib/unicore/
1485 lib/utf8.{pm,t}
1486 lib/utf8_heavy.pl
1487 lib/vars{.pm,.t,_carp.t}
1488 lib/vmsish.{pm,t}
1489 ],
4f3a742d 1490 },
462ea751 1491);
b128a327 1492
97556ec3 1493# legacy CPAN flag
4f3a742d 1494for ( values %Modules ) {
97556ec3
GA
1495 $_->{CPAN} = !!$_->{DISTRIBUTION};
1496}
1497
099bebb1
SH
1498# legacy UPSTREAM flag
1499for ( keys %Modules ) {
1500 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1501 next if exists $Modules{$_}{UPSTREAM};
1502
1503 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1504 $Modules{$_}{UPSTREAM} = 'blead';
1505 }
1506 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1507 $Modules{$_}{UPSTREAM} = 'cpan';
1508 }
1509 else {
1510 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1511 }
1512}
1513
d350de41 1514# legacy MAINTAINER field
099bebb1 1515for ( keys %Modules ) {
b3dcf775 1516 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1517 next if exists $Modules{$_}{MAINTAINER};
1518
1519 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1520 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1521 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1522 }
099bebb1
SH
1523 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1524 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1525 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1526 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1527 }
099bebb1
SH
1528 else {
1529 warn "No DISTRIBUTION for non-blead module $_";
1530 }
d350de41
SH
1531}
1532
b128a327 15331;