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