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