This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix Scalar-List-Utils build on Windows; patch sent upstream
[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
25 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' => {
ebf27bc8 136 'DISTRIBUTION' => 'NTHYKIER/autodie-2.26.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
SH
145 qw( t/author-critic.t
146 t/boilerplate.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 ],
4f3a742d
DR
159 },
160
161 'AutoLoader' => {
dff36865 162 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
163 'FILES' => q[cpan/AutoLoader],
164 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
165 },
166
167 'autouse' => {
275943c0 168 'DISTRIBUTION' => 'WOLFSAGE/autouse-1.08.tar.gz',
4f3a742d
DR
169 'FILES' => q[dist/autouse],
170 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
171 },
172
4f3a742d 173 'B::Debug' => {
372b8708 174 'DISTRIBUTION' => 'RURBAN/B-Debug-1.23.tar.gz',
4f3a742d
DR
175 'FILES' => q[cpan/B-Debug],
176 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
177 },
178
4f3a742d 179 'base' => {
7af2899e 180 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 181 'FILES' => q[dist/base],
4f3a742d
DR
182 },
183
4f3a742d 184 'bignum' => {
4ac9c666 185 'DISTRIBUTION' => 'PJACKLAM/bignum-0.37.tar.gz',
4f3a742d
DR
186 'FILES' => q[dist/bignum],
187 'EXCLUDED' => [
188 qr{^inc/Module/},
189 qw( t/pod.t
190 t/pod_cov.t
191 ),
192 ],
4f3a742d
DR
193 },
194
195 'Carp' => {
795b0ba9 196 'DISTRIBUTION' => 'RJBS/Carp-1.36.tar.gz',
4f3a742d 197 'FILES' => q[dist/Carp],
4f3a742d
DR
198 },
199
4f3a742d 200 'Compress::Raw::Bzip2' => {
42ba141a 201 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.068.tar.gz',
4f3a742d
DR
202 'FILES' => q[cpan/Compress-Raw-Bzip2],
203 'EXCLUDED' => [
204 qr{^t/Test/},
205 'bzip2-src/bzip2-cpp.patch',
206 ],
4f3a742d
DR
207 },
208
209 'Compress::Raw::Zlib' => {
10ccd91b 210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.068.tar.gz',
4f3a742d
DR
211
212 'FILES' => q[cpan/Compress-Raw-Zlib],
213 'EXCLUDED' => [
84c82da4 214 qr{^examples/},
4f3a742d
DR
215 qr{^t/Test/},
216 qw( t/000prereq.t
217 t/99pod.t
218 ),
219 ],
4f3a742d
DR
220 },
221
4b07058c 222 'Config::Perl::V' => {
6fdf23c2 223 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.24.tgz',
4b07058c 224 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
225 'EXCLUDED' => [qw(
226 examples/show-v.pl
b4ade012 227 )],
4b07058c
RS
228 },
229
4f3a742d 230 'constant' => {
e2943784 231 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
232 'FILES' => q[dist/constant],
233 'EXCLUDED' => [
234 qw( t/00-load.t
235 t/more-tests.t
236 t/pod-coverage.t
237 t/pod.t
238 eg/synopsis.pl
239 ),
240 ],
4f3a742d
DR
241 },
242
243 'CPAN' => {
d210e520 244 'DISTRIBUTION' => 'ANDK/CPAN-2.10.tar.gz',
4f3a742d
DR
245 'FILES' => q[cpan/CPAN],
246 'EXCLUDED' => [
247 qr{^distroprefs/},
248 qr{^inc/Test/},
45a13884
SH
249 qr{^t/CPAN/},
250 qr{^t/data/},
79116533 251 qr{^t/97-},
4f3a742d 252 qw( lib/CPAN/Admin.pm
6156383d 253 scripts/cpan-mirrors
bfae5bde 254 PAUSE2015.pub
4f3a742d
DR
255 SlayMakefile
256 t/00signature.t
257 t/04clean_load.t
258 t/12cpan.t
259 t/13tarzip.t
260 t/14forkbomb.t
261 t/30shell.coverage
262 t/30shell.t
263 t/31sessions.t
264 t/41distribution.t
265 t/42distroprefs.t
266 t/43distroprefspref.t
45a13884 267 t/44cpanmeta.t
4f3a742d
DR
268 t/50pod.t
269 t/51pod.t
270 t/52podcover.t
271 t/60credentials.t
272 t/70_critic.t
bfae5bde 273 t/71_minimumversion.t
4f3a742d
DR
274 t/local_utils.pm
275 t/perlcriticrc
276 t/yaml_code.yml
277 ),
278 ],
4f3a742d
DR
279 },
280
278337cd
CBW
281 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
282 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 283 'CPAN::Meta' => {
fea59588 284 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150001.tar.gz',
4f3a742d
DR
285 'FILES' => q[cpan/CPAN-Meta],
286 'EXCLUDED' => [
7f6e6ca2 287 qw[t/00-report-prereqs.t],
5f8324b5 288 qw[t/00-report-prereqs.dd],
229563a9 289 qr{t/README-data.txt},
4f3a742d
DR
290 qr{^xt},
291 qr{^history},
292 ],
4f3a742d
DR
293 },
294
b6ae0ea7 295 'CPAN::Meta::Requirements' => {
374c951f 296 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.133.tar.gz',
b6ae0ea7
CBW
297 'FILES' => q[cpan/CPAN-Meta-Requirements],
298 'EXCLUDED' => [
c4814040 299 qw(t/00-report-prereqs.t),
54b7cb30 300 qw(t/00-report-prereqs.dd),
608e531f 301 qw(t/version-cleanup.t),
b6ae0ea7 302 qr{^xt},
b6ae0ea7 303 ],
b6ae0ea7
CBW
304 },
305
4f3a742d 306 'CPAN::Meta::YAML' => {
e586de20 307 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.016.tar.gz',
4f3a742d
DR
308 'FILES' => q[cpan/CPAN-Meta-YAML],
309 'EXCLUDED' => [
2954a1e9 310 't/00-report-prereqs.t',
e586de20 311 't/00-report-prereqs.dd',
4f3a742d
DR
312 qr{^xt},
313 ],
4f3a742d
DR
314 },
315
316 'Data::Dumper' => {
50a0759e 317 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 318 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
319 },
320
321 'DB_File' => {
1bb0c253 322 'DISTRIBUTION' => 'PMQS/DB_File-1.835.tar.gz',
4f3a742d
DR
323 'FILES' => q[cpan/DB_File],
324 'EXCLUDED' => [
325 qr{^patches/},
326 qw( t/pod.t
327 fallback.h
328 fallback.xs
329 ),
330 ],
4f3a742d
DR
331 },
332
4f3a742d 333 'Devel::PPPort' => {
63a5b834 334 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.31.tar.gz',
099bebb1
SH
335 # RJBS has asked MHX to have UPSTREAM be 'blead'
336 # (i.e. move this from cpan/ to dist/)
4f3a742d 337 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
338 'EXCLUDED' => [
339 'PPPort.pm', # we use PPPort_pm.PL instead
340 'README.md',
341 ]
4f3a742d
DR
342 },
343
97b1d6e6 344 'Devel::SelfStubber' => {
97b1d6e6
SH
345 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
346 'FILES' => q[dist/Devel-SelfStubber],
347 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
348 },
349
4f3a742d 350 'Digest' => {
4f3a742d
DR
351 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
352 'FILES' => q[cpan/Digest],
353 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
354 },
355
356 'Digest::MD5' => {
38054f44 357 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.tar.gz',
4f3a742d
DR
358 'FILES' => q[cpan/Digest-MD5],
359 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
360 },
361
362 'Digest::SHA' => {
b495b81b 363 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.tar.gz',
4f3a742d
DR
364 'FILES' => q[cpan/Digest-SHA],
365 'EXCLUDED' => [
366 qw( t/pod.t
367 t/podcover.t
368 examples/dups
369 ),
370 ],
4f3a742d
DR
371 },
372
4f3a742d 373 'Dumpvalue' => {
f6e46c4d 374 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
375 'FILES' => q[dist/Dumpvalue],
376 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
377 },
378
4f3a742d 379 'Encode' => {
33bbbd9c 380 'DISTRIBUTION' => 'DANKOGAI/Encode-2.73.tar.gz',
4f3a742d 381 'FILES' => q[cpan/Encode],
4f3a742d
DR
382 },
383
384 'encoding::warnings' => {
4f3a742d
DR
385 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
386 'FILES' => q[cpan/encoding-warnings],
387 'EXCLUDED' => [
388 qr{^inc/Module/},
94c85d8e 389 qw(t/0-signature.t),
4f3a742d 390 ],
4f3a742d
DR
391 },
392
4f3a742d 393 'Env' => {
126fc07f 394 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
395 'FILES' => q[dist/Env],
396 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
397 },
398
de84ff2b 399 'experimental' => {
e87ace2e 400 'DISTRIBUTION' => 'LEONT/experimental-0.013.tar.gz',
de84ff2b
RS
401 'FILES' => q[cpan/experimental],
402 'EXCLUDED' => [
403 qr{^t/release-.*\.t},
404 't/00-compile.t',
405 ],
406 },
407
4f3a742d 408 'Exporter' => {
4ac9c666 409 'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz',
3110a055 410 'FILES' => q[dist/Exporter],
4f3a742d
DR
411 'EXCLUDED' => [
412 qw( t/pod.t
413 t/use.t
414 ),
415 ],
4f3a742d
DR
416 },
417
418 'ExtUtils::CBuilder' => {
65b2b0d2 419 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280223.tar.gz',
4f3a742d 420 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
421 'EXCLUDED' => [
422 qw(README.mkdn),
423 qr{^xt},
424 ],
4f3a742d
DR
425 },
426
427 'ExtUtils::Command' => {
2eb94604 428 'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz',
2ca4a82e 429 'FILES' => q[cpan/ExtUtils-Command],
4d25f022 430 'EXCLUDED' => [qr{^xt/}],
4f3a742d
DR
431 },
432
433 'ExtUtils::Constant' => {
4f3a742d
DR
434
435 # Nick has confirmed that while we have diverged from CPAN,
436 # this package isn't primarily maintained in core
437 # Another release will happen "Sometime"
438 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
439 'FILES' => q[cpan/ExtUtils-Constant],
440 'EXCLUDED' => [
441 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
442 examples/perl_keyword.pl
443 examples/perl_regcomp_posix_keyword.pl
444 ),
445 ],
4f3a742d
DR
446 },
447
448 'ExtUtils::Install' => {
f1c22b9e 449 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 450 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
451 'EXCLUDED' => [
452 qw( t/lib/Test/Builder.pm
453 t/lib/Test/Builder/Module.pm
454 t/lib/Test/More.pm
455 t/lib/Test/Simple.pm
456 t/pod-coverage.t
457 t/pod.t
458 ),
459 ],
4f3a742d
DR
460 },
461
462 'ExtUtils::MakeMaker' => {
6324db4a 463 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.04.tar.gz',
4f3a742d
DR
464 'FILES' => q[cpan/ExtUtils-MakeMaker],
465 'EXCLUDED' => [
466 qr{^t/lib/Test/},
467 qr{^(bundled|my)/},
468 qr{^t/Liblist_Kid.t},
469 qr{^t/liblist/},
78fd4358 470 qr{^\.perlcriticrc},
84c82da4
SH
471 'PATCHING',
472 'README.packaging',
4f3a742d 473 ],
0fcb6a36 474 # Applied upstream remove customisation when updating EUMM
13549e8c
TC
475 'CUSTOMIZED' => [ qw[ t/pm_to_blib.t
476 t/basic.t
477 lib/ExtUtils/Command/MM.pm
478 lib/ExtUtils/Liblist.pm
479 lib/ExtUtils/Liblist/Kid.pm
480 lib/ExtUtils/MM.pm
481 lib/ExtUtils/MM_AIX.pm
482 lib/ExtUtils/MM_Any.pm
483 lib/ExtUtils/MM_BeOS.pm
484 lib/ExtUtils/MM_Cygwin.pm
485 lib/ExtUtils/MM_DOS.pm
486 lib/ExtUtils/MM_Darwin.pm
487 lib/ExtUtils/MM_MacOS.pm
488 lib/ExtUtils/MM_NW5.pm
489 lib/ExtUtils/MM_OS2.pm
490 lib/ExtUtils/MM_QNX.pm
491 lib/ExtUtils/MM_UWIN.pm
492 lib/ExtUtils/MM_Unix.pm
493 lib/ExtUtils/MM_VMS.pm
494 lib/ExtUtils/MM_VOS.pm
495 lib/ExtUtils/MM_Win32.pm
496 lib/ExtUtils/MM_Win95.pm
497 lib/ExtUtils/MY.pm
498 lib/ExtUtils/MakeMaker.pm
499 lib/ExtUtils/MakeMaker/Config.pm
500 lib/ExtUtils/MakeMaker/FAQ.pod
501 lib/ExtUtils/MakeMaker/Locale.pm
502 lib/ExtUtils/MakeMaker/Tutorial.pod
503 lib/ExtUtils/MakeMaker/version.pm
504 lib/ExtUtils/MakeMaker/version/regex.pm
505 lib/ExtUtils/MakeMaker/version/vpp.pm
506 lib/ExtUtils/Mkbootstrap.pm
507 lib/ExtUtils/Mksymlists.pm
508 lib/ExtUtils/testlib.pm ] ],
4f3a742d
DR
509 },
510
511 'ExtUtils::Manifest' => {
f660499c 512 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 513 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
514 'EXCLUDED' => [
515 qr(^t/00-report-prereqs),
516 qr(^xt/)
517 ],
4f3a742d
DR
518 },
519
520 'ExtUtils::ParseXS' => {
c8131234 521 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
4f3a742d 522 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
523 },
524
4f3a742d 525 'File::Fetch' => {
9d56ca6f 526 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 527 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
528 },
529
4f3a742d 530 'File::Path' => {
8f65b4cd 531 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
532 'FILES' => q[cpan/File-Path],
533 'EXCLUDED' => [
534 qw( eg/setup-extra-tests
535 t/pod.t
536 )
537 ],
538 'MAP' => {
539 '' => 'cpan/File-Path/lib/File/',
540 't/' => 'cpan/File-Path/t/',
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' => {
fd0a842f 601 'DISTRIBUTION' => 'JV/Getopt-Long-2.46.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' => {
a4f8ff46 703 'DISTRIBUTION' => 'SHAY/libnet-3.06.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' => {
45d9e107 822 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150520.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
SH
845 qw(README.md),
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],
4e0aac35 855 'EXCLUDED' => [
4e0aac35
MM
856 qr{^README.md},
857 ],
4f3a742d
DR
858 },
859
860 'NEXT' => {
4f3a742d
DR
861 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
862 'FILES' => q[cpan/NEXT],
863 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
864 },
865
4f3a742d 866 'Params::Check' => {
8b21fa03 867 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 868 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
869 },
870
871 'parent' => {
bdb6acef 872 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
4f3a742d 873 'FILES' => q[cpan/parent],
4f3a742d
DR
874 },
875
876 'Parse::CPAN::Meta' => {
a2fd2fa0 877 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 878 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 879 'EXCLUDED' => [
342e4710
CBW
880 qw[t/00-report-prereqs.t],
881 qr{^xt},
882 ],
4f3a742d
DR
883 },
884
885 'PathTools' => {
4d90bfb5 886 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 887 'FILES' => q[dist/PathTools],
4f3a742d 888 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
889 },
890
97b1d6e6 891 'Perl::OSType' => {
819b03e2 892 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.008.tar.gz',
97b1d6e6 893 'FILES' => q[cpan/Perl-OSType],
765955c0 894 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
895 },
896
97b1d6e6 897 'perlfaq' => {
c57d3fcc 898 'DISTRIBUTION' => 'ETHER/perlfaq-5.021009.tar.gz',
97b1d6e6
SH
899 'FILES' => q[cpan/perlfaq],
900 'EXCLUDED' => [
4d25f022 901 qw( inc/CreateQuestionList.pm
e3ef4406 902 inc/perlfaq.tt
4d25f022
SH
903 t/00-compile.t),
904 qr{^xt/},
97b1d6e6 905 ],
97b1d6e6
SH
906 },
907
4f3a742d 908 'PerlIO::via::QuotedPrint' => {
96623e31 909 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 910 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
911 },
912
0c501878 913 'Pod::Checker' => {
0c501878
CBW
914 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
915 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
916 },
917
4f3a742d 918 'Pod::Escapes' => {
f347d3e3 919 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 920 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
921 },
922
4f3a742d 923 'Pod::Parser' => {
534577b2 924 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 925 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
926 },
927
928 'Pod::Perldoc' => {
96f13870 929 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 930 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 931
fa884b76
DM
932 # Note that we use the CPAN-provided Makefile.PL, since it
933 # contains special handling of the installation of perldoc.pod
934
935 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
936 # instead
937 # XXX We can and should fix this, but clean up the DRY-failure in utils
938 # first
939 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
940 },
941
942 'Pod::Simple' => {
f23676cb 943 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.29.tar.gz',
4f3a742d 944 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
945 },
946
0c501878 947 'Pod::Usage' => {
5b597d1b 948 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz',
0c501878 949 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
950 },
951
4f3a742d 952 'podlators' => {
b52cde68 953 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
954 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
955
956 # The perl distribution has pod2man.PL and pod2text.PL, which are
957 # run to create pod2man and pod2text, while the CPAN distribution
958 # just has the post-generated pod2man and pod2text files.
959 # The following entries attempt to codify that odd fact.
960 'CUSTOMIZED' => [
961 qw( scripts/pod2man.PL
962 scripts/pod2text.PL
4f3a742d
DR
963 ),
964 ],
965 'MAP' => {
966 '' => 'cpan/podlators/',
967 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
968 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
969
970 # this file lives outside the cpan/ directory
971 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
972 },
4f3a742d
DR
973 },
974
4f3a742d 975 'Safe' => {
e739c653 976 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 977 'FILES' => q[dist/Safe],
4f3a742d
DR
978 },
979
980 'Scalar-List-Utils' => {
3d58dd24 981 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.42.tar.gz',
869a9612
SH
982 'FILES' => q[cpan/Scalar-List-Utils],
983 # Waiting to be merged upstream:
984 # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24
985 'CUSTOMIZED' => [
986 qw( ListUtil.xs
987 lib/List/Util.pm
988 lib/List/Util/XS.pm
989 lib/Scalar/Util.pm
990 lib/Sub/Util.pm
991 )
992 ],
4f3a742d
DR
993 },
994
4f3a742d 995 'Search::Dict' => {
0b0a7092 996 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 997 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
998 },
999
1000 'SelfLoader' => {
c3958279 1001 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1002 'FILES' => q[dist/SelfLoader],
1003 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1004 },
1005
4f3a742d 1006 'Socket' => {
0d06df21 1007 'DISTRIBUTION' => 'PEVANS/Socket-2.019.tar.gz',
4f3a742d 1008 'FILES' => q[cpan/Socket],
4f3a742d
DR
1009 },
1010
1011 'Storable' => {
5f4b5e0f 1012 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1013 'FILES' => q[dist/Storable],
4f3a742d
DR
1014 },
1015
4f3a742d 1016 'Sys::Syslog' => {
848ca32c 1017 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1018 'FILES' => q[cpan/Sys-Syslog],
1019 'EXCLUDED' => [
1020 qr{^eg/},
84c82da4
SH
1021 qw( README.win32
1022 t/data-validation.t
4f3a742d
DR
1023 t/distchk.t
1024 t/pod.t
1025 t/podcover.t
1026 t/podspell.t
1027 t/portfs.t
1028 win32/PerlLog.RES
4f3a742d
DR
1029 ),
1030 ],
4f3a742d
DR
1031 },
1032
1033 'Term::ANSIColor' => {
5e64492f 1034 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1035 'FILES' => q[cpan/Term-ANSIColor],
1036 'EXCLUDED' => [
92f80b37
CBW
1037 qr{^examples/},
1038 qr{^t/data/},
5e64492f
CBW
1039 qr{^t/docs/},
1040 qr{^t/style/},
1041 qw( t/module/aliases-env.t ),
4f3a742d 1042 ],
4f3a742d
DR
1043 },
1044
1045 'Term::Cap' => {
663bce88 1046 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1047 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1048 },
1049
1050 'Term::Complete' => {
4f3a742d
DR
1051 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1052 'FILES' => q[dist/Term-Complete],
1053 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1054 },
1055
1056 'Term::ReadLine' => {
75ad3638 1057 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1058 'FILES' => q[dist/Term-ReadLine],
1059 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1060 },
1061
4f3a742d 1062 'Test' => {
1c22e001 1063 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1064 'FILES' => q[cpan/Test],
4f3a742d
DR
1065 },
1066
1067 'Test::Harness' => {
2cc1a90a 1068 'DISTRIBUTION' => 'LEONT/Test-Harness-3.35.tar.gz',
4f3a742d
DR
1069 'FILES' => q[cpan/Test-Harness],
1070 'EXCLUDED' => [
1071 qr{^examples/},
1072 qr{^inc/},
1073 qr{^t/lib/Test/},
1074 qr{^xt/},
1075 qw( Changes-2.64
8db65552 1076 MANIFEST.CUMMULATIVE
4f3a742d
DR
1077 NotBuild.PL
1078 HACKING.pod
1079 perlcriticrc
8db65552 1080 t/000-load.t
4f3a742d
DR
1081 t/lib/if.pm
1082 ),
1083 ],
4f3a742d
DR
1084 },
1085
1086 'Test::Simple' => {
80a7dd19 1087 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1088 'FILES' => q[cpan/Test-Simple],
1089 'EXCLUDED' => [
6dab8563 1090 qr{^t/xt},
86e082c9 1091 qr{^xt},
4f3a742d
DR
1092 qw( .perlcriticrc
1093 .perltidyrc
84c82da4
SH
1094 examples/indent.pl
1095 examples/subtest.t
80a7dd19 1096 t/00compile.t
18864292 1097 t/xxx-changes_updated.t
4f3a742d
DR
1098 ),
1099 ],
f266b743 1100 },
4f3a742d
DR
1101
1102 'Text::Abbrev' => {
5e96eee9 1103 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1104 'FILES' => q[dist/Text-Abbrev],
1105 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1106 },
1107
1108 'Text::Balanced' => {
03a97c81 1109 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1110 'FILES' => q[cpan/Text-Balanced],
1111 'EXCLUDED' => [
1112 qw( t/97_meta.t
1113 t/98_pod.t
1114 t/99_pmv.t
1115 ),
1116 ],
4f3a742d
DR
1117 },
1118
1119 'Text::ParseWords' => {
a790e348 1120 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1121 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1122
a790e348
SH
1123 # Waiting to be merged upstream:
1124 # see https://github.com/chorny/Text-ParseWords/pull/6
f81a37f2
SH
1125 'CUSTOMIZED' => [
1126 qw( t/ParseWords.t
f81a37f2
SH
1127 ),
1128 ],
4f3a742d
DR
1129 },
1130
4f3a742d 1131 'Text-Tabs+Wrap' => {
83aea42c 1132 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1133 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1134 'EXCLUDED' => [
1135 qr/^lib\.old/,
1136 't/dnsparks.t', # see af6492bf9e
4f3a742d 1137 ],
e7b92d54
SH
1138 'MAP' => {
1139 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1140 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1141 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1142 },
4f3a742d
DR
1143 },
1144
4e75700d
AC
1145 # Jerry Hedden does take patches that are applied to blead first, even
1146 # though that can be hard to discern from the Git history; so it's
1147 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1148 # to be under dist/ rather than cpan/
4f3a742d 1149 'Thread::Queue' => {
4e75700d 1150 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
4f3a742d
DR
1151 'FILES' => q[dist/Thread-Queue],
1152 'EXCLUDED' => [
1fd4700e
JH
1153 qr{^examples/},
1154 qw( t/00_load.t
4f3a742d
DR
1155 t/99_pod.t
1156 t/test.pl
1157 ),
1158 ],
4f3a742d
DR
1159 },
1160
1161 'Thread::Semaphore' => {
4f3a742d
DR
1162 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1163 'FILES' => q[dist/Thread-Semaphore],
1164 'EXCLUDED' => [
1165 qw( examples/semaphore.pl
1166 t/00_load.t
1167 t/99_pod.t
1168 t/test.pl
1169 ),
1170 ],
4f3a742d
DR
1171 },
1172
1173 'threads' => {
375a183d 1174 'DISTRIBUTION' => 'JDHEDDEN/threads-2.01.tar.gz',
4f3a742d
DR
1175 'FILES' => q[dist/threads],
1176 'EXCLUDED' => [
1177 qr{^examples/},
1178 qw( t/pod.t
1179 t/test.pl
1180 threads.h
1181 ),
1182 ],
4f3a742d
DR
1183 },
1184
1185 'threads::shared' => {
a5368aeb 1186 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
4f3a742d
DR
1187 'FILES' => q[dist/threads-shared],
1188 'EXCLUDED' => [
1189 qw( examples/class.pl
1190 shared.h
1191 t/pod.t
1192 t/test.pl
1193 ),
1194 ],
4f3a742d
DR
1195 },
1196
1197 'Tie::File' => {
4ac9c666 1198 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1199 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1200 },
1201
4f3a742d 1202 'Tie::RefHash' => {
4f3a742d
DR
1203 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1204 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1205 },
1206
1207 'Time::HiRes' => {
0f0eae2c 1208 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1209 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1210 },
1211
1212 'Time::Local' => {
62e824cf 1213 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1214 'FILES' => q[cpan/Time-Local],
1215 'EXCLUDED' => [
62e824cf 1216 qr{^t/release-.*\.t},
4f3a742d 1217 ],
4f3a742d
DR
1218 },
1219
1220 'Time::Piece' => {
12bbe8b8 1221 'DISTRIBUTION' => 'RJBS/Time-Piece-1.30.tar.gz',
4f3a742d 1222 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1223 },
1224
1225 'Unicode::Collate' => {
b679d913 1226 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.12.tar.gz',
4f3a742d
DR
1227 'FILES' => q[cpan/Unicode-Collate],
1228 'EXCLUDED' => [
1229 qr{N$},
1230 qr{^data/},
1231 qr{^gendata/},
1232 qw( disableXS
1233 enableXS
1234 mklocale
1235 ),
1236 ],
4f3a742d
DR
1237 },
1238
1239 'Unicode::Normalize' => {
95f3e8d2 1240 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.18.tar.gz',
4f3a742d 1241 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1242 },
1243
4f3a742d 1244 'version' => {
da891a41 1245 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1246 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1247 'EXCLUDED' => [
df3ba8e7 1248 qr{^vutil/lib/},
c60b4fa6 1249 'vutil/Makefile.PL',
df3ba8e7
FC
1250 'vutil/ppport.h',
1251 'vutil/vxs.xs',
4f3a742d 1252 't/survey_locales',
4f3a742d 1253 ],
f81a37f2 1254
c872d591
SH
1255 # When adding the CPAN-distributed files for version.pm, it is necessary
1256 # to delete an entire block out of lib/version.pm, since that code is
1257 # only necessary with the CPAN release.
f81a37f2
SH
1258 'CUSTOMIZED' => [
1259 qw( lib/version.pm
f81a37f2 1260 ),
4637d007
SH
1261
1262 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1263 qw( vutil.c
4637d007 1264 ),
f81a37f2
SH
1265 ],
1266
df3ba8e7 1267 'MAP' => {
4fa93b19
SH
1268 'vperl/' => 'cpan/version/lib/version/',
1269 'vutil/' => '',
df3ba8e7
FC
1270 '' => 'cpan/version/',
1271 },
4f3a742d
DR
1272 },
1273
4f3a742d 1274 'warnings' => {
099bebb1 1275 'FILES' => q[
4f3a742d 1276 lib/warnings
099bebb1
SH
1277 lib/warnings.{pm,t}
1278 regen/warnings.pl
4f3a742d 1279 t/lib/warnings
099bebb1 1280 ],
4f3a742d
DR
1281 },
1282
4f3a742d 1283 'Win32' => {
1ead70b6 1284 'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz",
4f3a742d 1285 'FILES' => q[cpan/Win32],
4f3a742d
DR
1286 },
1287
1288 'Win32API::File' => {
e5240100 1289 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1290 'FILES' => q[cpan/Win32API-File],
1291 'EXCLUDED' => [
1292 qr{^ex/},
4f3a742d 1293 ],
9d20b1d3
SH
1294
1295 # Currently all EOL differences. Waiting for a new upstream release:
1296 # All the files in the GitHub repo have UNIX EOLs already.
1297 'CUSTOMIZED' => [
1298 qw( ExtUtils/Myconst2perl.pm
1299 Makefile.PL
1300 buffers.h
1301 cFile.h
1302 cFile.pc
1303 const2perl.h
1304 t/file.t
1305 t/tie.t
1306 typemap
1307 ),
1308 ],
4f3a742d
DR
1309 },
1310
4f3a742d 1311 'XSLoader' => {
681a49bf 1312 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1313 'FILES' => q[dist/XSLoader],
1314 'EXCLUDED' => [
1315 qr{^eg/},
57f9caa0
SH
1316 qw( t/00-load.t
1317 t/01-api.t
1318 t/distchk.t
1319 t/pod.t
4f3a742d
DR
1320 t/podcover.t
1321 t/portfs.t
1322 ),
1323 'XSLoader.pm', # we use XSLoader_pm.PL
1324 ],
4f3a742d
DR
1325 },
1326
462ea751
DM
1327 # this pseudo-module represents all the files under ext/ and lib/
1328 # that aren't otherwise claimed. This means that the following two
1329 # commands will check that every file under ext/ and lib/ is
1330 # accounted for, and that there are no duplicates:
1331 #
1332 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1333 # perl Porting/Maintainers --checkmani
462ea751 1334
4f3a742d 1335 '_PERLLIB' => {
2af3c4b9 1336 'FILES' => q[
09213599 1337 ext/B/
2af3c4b9
SH
1338 ext/Devel-Peek/
1339 ext/DynaLoader/
1340 ext/Errno/
7b4d95f7 1341 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1342 ext/Fcntl/
1343 ext/File-DosGlob/
1344 ext/File-Find/
1345 ext/File-Glob/
1346 ext/FileCache/
1347 ext/GDBM_File/
1348 ext/Hash-Util-FieldHash/
1349 ext/Hash-Util/
1350 ext/I18N-Langinfo/
1351 ext/IPC-Open3/
1352 ext/NDBM_File/
1353 ext/ODBM_File/
1354 ext/Opcode/
1355 ext/POSIX/
1356 ext/PerlIO-encoding/
1357 ext/PerlIO-mmap/
1358 ext/PerlIO-scalar/
1359 ext/PerlIO-via/
1360 ext/Pod-Functions/
1361 ext/Pod-Html/
1362 ext/SDBM_File/
1363 ext/Sys-Hostname/
1364 ext/Tie-Hash-NamedCapture/
1365 ext/Tie-Memoize/
b3dcf775 1366 ext/VMS-DCLsym/
2af3c4b9 1367 ext/VMS-Filespec/
b3dcf775
SH
1368 ext/VMS-Stdio/
1369 ext/Win32CORE/
4f3a742d 1370 ext/XS-APItest/
2af3c4b9
SH
1371 ext/XS-Typemap/
1372 ext/arybase/
1373 ext/attributes/
1374 ext/mro/
1375 ext/re/
1376 lib/AnyDBM_File.{pm,t}
1377 lib/Benchmark.{pm,t}
38eca645 1378 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1379 lib/B/Op_private.pm
4f3a742d 1380 lib/CORE.pod
2af3c4b9 1381 lib/Class/Struct.{pm,t}
4f3a742d
DR
1382 lib/Config.t
1383 lib/Config/Extensions.{pm,t}
1384 lib/DB.{pm,t}
2af3c4b9
SH
1385 lib/DBM_Filter.pm
1386 lib/DBM_Filter/
1387 lib/DirHandle.{pm,t}
1388 lib/English.{pm,t}
4f3a742d
DR
1389 lib/ExtUtils/Embed.pm
1390 lib/ExtUtils/XSSymSet.pm
1391 lib/ExtUtils/t/Embed.t
1392 lib/ExtUtils/typemap
2af3c4b9
SH
1393 lib/File/Basename.{pm,t}
1394 lib/File/Compare.{pm,t}
1395 lib/File/Copy.{pm,t}
1396 lib/File/stat{.pm,.t,-7896.t}
1397 lib/FileHandle.{pm,t}
1398 lib/FindBin.{pm,t}
1399 lib/Getopt/Std.{pm,t}
4f3a742d 1400 lib/Internals.t
4b6af431 1401 lib/meta_notation.{pm,t}
4f3a742d
DR
1402 lib/Net/hostent.{pm,t}
1403 lib/Net/netent.{pm,t}
1404 lib/Net/protoent.{pm,t}
1405 lib/Net/servent.{pm,t}
2af3c4b9 1406 lib/PerlIO.pm
4f3a742d
DR
1407 lib/Pod/t/InputObjects.t
1408 lib/Pod/t/Select.t
1409 lib/Pod/t/Usage.t
4f3a742d
DR
1410 lib/Pod/t/utils.t
1411 lib/SelectSaver.{pm,t}
1412 lib/Symbol.{pm,t}
1413 lib/Thread.{pm,t}
1414 lib/Tie/Array.pm
1415 lib/Tie/Array/
1416 lib/Tie/ExtraHash.t
1417 lib/Tie/Handle.pm
1418 lib/Tie/Handle/
2af3c4b9 1419 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1420 lib/Tie/Scalar.{pm,t}
1421 lib/Tie/StdHandle.pm
1422 lib/Tie/SubstrHash.{pm,t}
1423 lib/Time/gmtime.{pm,t}
1424 lib/Time/localtime.{pm,t}
1425 lib/Time/tm.pm
1426 lib/UNIVERSAL.pm
1427 lib/Unicode/README
2af3c4b9 1428 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1429 lib/User/grent.{pm,t}
1430 lib/User/pwent.{pm,t}
2af3c4b9 1431 lib/_charnames.pm
4f3a742d
DR
1432 lib/blib.{pm,t}
1433 lib/bytes.{pm,t}
1434 lib/bytes_heavy.pl
1435 lib/charnames.{pm,t}
1436 lib/dbm_filter_util.pl
1437 lib/deprecate.pm
2af3c4b9 1438 lib/diagnostics.{pm,t}
4f3a742d
DR
1439 lib/dumpvar.{pl,t}
1440 lib/feature.{pm,t}
1441 lib/feature/
1442 lib/filetest.{pm,t}
1443 lib/h2ph.t
1444 lib/h2xs.t
1445 lib/integer.{pm,t}
1446 lib/less.{pm,t}
1447 lib/locale.{pm,t}
1448 lib/open.{pm,t}
1449 lib/overload/numbers.pm
1450 lib/overloading.{pm,t}
2af3c4b9 1451 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1452 lib/perl5db.{pl,t}
1453 lib/perl5db/
2af3c4b9 1454 lib/sigtrap.{pm,t}
4f3a742d
DR
1455 lib/sort.{pm,t}
1456 lib/strict.{pm,t}
1457 lib/subs.{pm,t}
1458 lib/unicore/
1459 lib/utf8.{pm,t}
1460 lib/utf8_heavy.pl
1461 lib/vars{.pm,.t,_carp.t}
1462 lib/vmsish.{pm,t}
1463 ],
4f3a742d 1464 },
462ea751 1465);
b128a327 1466
97556ec3 1467# legacy CPAN flag
4f3a742d 1468for ( values %Modules ) {
97556ec3
GA
1469 $_->{CPAN} = !!$_->{DISTRIBUTION};
1470}
1471
099bebb1
SH
1472# legacy UPSTREAM flag
1473for ( keys %Modules ) {
1474 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1475 next if exists $Modules{$_}{UPSTREAM};
1476
1477 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1478 $Modules{$_}{UPSTREAM} = 'blead';
1479 }
1480 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1481 $Modules{$_}{UPSTREAM} = 'cpan';
1482 }
1483 else {
1484 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1485 }
1486}
1487
d350de41 1488# legacy MAINTAINER field
099bebb1 1489for ( keys %Modules ) {
b3dcf775 1490 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1491 next if exists $Modules{$_}{MAINTAINER};
1492
1493 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1494 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1495 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1496 }
099bebb1
SH
1497 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1498 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1499 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1500 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1501 }
099bebb1
SH
1502 else {
1503 warn "No DISTRIBUTION for non-blead module $_";
1504 }
d350de41
SH
1505}
1506
b128a327 15071;