This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The Module-CoreList on CPAN is now 5.20141002
[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
2c95b6e4 20 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
d4e90f16 21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying
01b177dd
CBW
22 cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
23 Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
53bf589c 24 MYMETA.yml NEW NEWS NOTES perlcritic.rc ppport.h README README.PATCHING
d3bd9fae 25 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' => {
c37b2ad0 122 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.02.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' => {
f91d7e0d 136 'DISTRIBUTION' => 'PJF/autodie-2.25.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 ],
a1a6b6b3 159 'CUSTOMIZED' => [
dd9a180e
CB
160 # Waiting to be merged upstream: see CPAN RT#87237
161 qw( t/utf8_open.t ),
717049dd
CB
162 # Waiting to be merged upstream: see CPAN RT#96609
163 qw( t/truncate.t ),
a1a6b6b3 164 ],
4f3a742d
DR
165 },
166
167 'AutoLoader' => {
dff36865 168 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
169 'FILES' => q[cpan/AutoLoader],
170 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
171 },
172
173 'autouse' => {
275943c0 174 'DISTRIBUTION' => 'WOLFSAGE/autouse-1.08.tar.gz',
4f3a742d
DR
175 'FILES' => q[dist/autouse],
176 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
177 },
178
4f3a742d 179 'B::Debug' => {
438f0014 180 'DISTRIBUTION' => 'RURBAN/B-Debug-1.21.tar.gz',
4f3a742d
DR
181 'FILES' => q[cpan/B-Debug],
182 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
183 },
184
4f3a742d 185 'base' => {
7af2899e 186 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 187 'FILES' => q[dist/base],
4f3a742d
DR
188 },
189
4f3a742d 190 'bignum' => {
4ac9c666 191 'DISTRIBUTION' => 'PJACKLAM/bignum-0.37.tar.gz',
4f3a742d
DR
192 'FILES' => q[dist/bignum],
193 'EXCLUDED' => [
194 qr{^inc/Module/},
195 qw( t/pod.t
196 t/pod_cov.t
197 ),
198 ],
4f3a742d
DR
199 },
200
201 'Carp' => {
b582f7a3 202 'DISTRIBUTION' => 'ZEFRAM/Carp-1.3301.tar.gz',
4f3a742d 203 'FILES' => q[dist/Carp],
4f3a742d
DR
204 },
205
4f3a742d 206 'Compress::Raw::Bzip2' => {
3ca1f72d 207 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.066.tar.gz',
4f3a742d
DR
208 'FILES' => q[cpan/Compress-Raw-Bzip2],
209 'EXCLUDED' => [
210 qr{^t/Test/},
211 'bzip2-src/bzip2-cpp.patch',
212 ],
4f3a742d
DR
213 },
214
215 'Compress::Raw::Zlib' => {
1590a345 216 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.066.tar.gz',
4f3a742d
DR
217
218 'FILES' => q[cpan/Compress-Raw-Zlib],
219 'EXCLUDED' => [
84c82da4 220 qr{^examples/},
4f3a742d
DR
221 qr{^t/Test/},
222 qw( t/000prereq.t
223 t/99pod.t
224 ),
225 ],
4f3a742d
DR
226 },
227
4b07058c 228 'Config::Perl::V' => {
60df6830 229 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.22.tgz',
4b07058c 230 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
231 'EXCLUDED' => [qw(
232 examples/show-v.pl
233 t/00_pod.t
234 t/01_pod.t
235 )],
4b07058c
RS
236 },
237
4f3a742d 238 'constant' => {
e2943784 239 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
240 'FILES' => q[dist/constant],
241 'EXCLUDED' => [
242 qw( t/00-load.t
243 t/more-tests.t
244 t/pod-coverage.t
245 t/pod.t
246 eg/synopsis.pl
247 ),
248 ],
4f3a742d
DR
249 },
250
251 'CPAN' => {
ddfe1c93 252 'DISTRIBUTION' => 'ANDK/CPAN-2.05.tar.gz',
4f3a742d
DR
253 'FILES' => q[cpan/CPAN],
254 'EXCLUDED' => [
255 qr{^distroprefs/},
256 qr{^inc/Test/},
45a13884
SH
257 qr{^t/CPAN/},
258 qr{^t/data/},
4f3a742d 259 qw( lib/CPAN/Admin.pm
6156383d 260 scripts/cpan-mirrors
bfae5bde 261 PAUSE2015.pub
4f3a742d
DR
262 SlayMakefile
263 t/00signature.t
264 t/04clean_load.t
265 t/12cpan.t
266 t/13tarzip.t
267 t/14forkbomb.t
268 t/30shell.coverage
269 t/30shell.t
270 t/31sessions.t
271 t/41distribution.t
272 t/42distroprefs.t
273 t/43distroprefspref.t
45a13884 274 t/44cpanmeta.t
4f3a742d
DR
275 t/50pod.t
276 t/51pod.t
277 t/52podcover.t
278 t/60credentials.t
279 t/70_critic.t
bfae5bde 280 t/71_minimumversion.t
4f3a742d
DR
281 t/local_utils.pm
282 t/perlcriticrc
283 t/yaml_code.yml
284 ),
285 ],
4f3a742d
DR
286 },
287
278337cd
CBW
288 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
289 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 290 'CPAN::Meta' => {
29fba139 291 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.142690.tar.gz',
4f3a742d
DR
292 'FILES' => q[cpan/CPAN-Meta],
293 'EXCLUDED' => [
7f6e6ca2 294 qw[t/00-report-prereqs.t],
5f8324b5 295 qw[t/00-report-prereqs.dd],
229563a9 296 qr{t/README-data.txt},
4f3a742d
DR
297 qr{^xt},
298 qr{^history},
299 ],
4f3a742d
DR
300 },
301
b6ae0ea7 302 'CPAN::Meta::Requirements' => {
608e531f 303 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.128.tar.gz',
b6ae0ea7
CBW
304 'FILES' => q[cpan/CPAN-Meta-Requirements],
305 'EXCLUDED' => [
54b7cb30 306 qw(CONTRIBUTING.mkdn),
c4814040 307 qw(t/00-report-prereqs.t),
54b7cb30 308 qw(t/00-report-prereqs.dd),
608e531f 309 qw(t/version-cleanup.t),
b6ae0ea7 310 qr{^xt},
b6ae0ea7 311 ],
b6ae0ea7
CBW
312 },
313
4f3a742d 314 'CPAN::Meta::YAML' => {
7857dbc4 315 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
4f3a742d
DR
316 'FILES' => q[cpan/CPAN-Meta-YAML],
317 'EXCLUDED' => [
b3100a1d 318 't/00-compile.t',
2954a1e9 319 't/00-report-prereqs.t',
4f3a742d
DR
320 't/04_scalar.t', # requires YAML.pm
321 qr{^xt},
322 ],
4f3a742d
DR
323 },
324
325 'Data::Dumper' => {
50a0759e 326 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 327 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
328 },
329
330 'DB_File' => {
7f15aad6
TC
331 # https://rt.cpan.org/Ticket/Display.html?id=96126
332 "CUSTOMIZED" => [ "DB_File.xs" ],
16f3356e 333 'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz',
4f3a742d
DR
334 'FILES' => q[cpan/DB_File],
335 'EXCLUDED' => [
336 qr{^patches/},
337 qw( t/pod.t
338 fallback.h
339 fallback.xs
340 ),
341 ],
4f3a742d
DR
342 },
343
4f3a742d 344 'Devel::PPPort' => {
75bc7bf5 345 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.24.tar.gz',
099bebb1
SH
346 # RJBS has asked MHX to have UPSTREAM be 'blead'
347 # (i.e. move this from cpan/ to dist/)
4f3a742d 348 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
349 'EXCLUDED' => [
350 'PPPort.pm', # we use PPPort_pm.PL instead
351 'README.md',
352 ]
4f3a742d
DR
353 },
354
97b1d6e6 355 'Devel::SelfStubber' => {
97b1d6e6
SH
356 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
357 'FILES' => q[dist/Devel-SelfStubber],
358 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
359 },
360
4f3a742d 361 'Digest' => {
4f3a742d
DR
362 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
363 'FILES' => q[cpan/Digest],
364 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
365 },
366
367 'Digest::MD5' => {
aeb2a38c 368 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
369 'FILES' => q[cpan/Digest-MD5],
370 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 371 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 372 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
373 },
374
375 'Digest::SHA' => {
207902b1 376 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.92.tar.gz',
4f3a742d
DR
377 'FILES' => q[cpan/Digest-SHA],
378 'EXCLUDED' => [
379 qw( t/pod.t
380 t/podcover.t
381 examples/dups
382 ),
383 ],
eaacb23f
SH
384 # Was hoping to be merged upstream in CPAN RT#96498,
385 # but that has been rejected...
386 'CUSTOMIZED' => ['hints/hpux.pl'],
4f3a742d
DR
387 },
388
4f3a742d 389 'Dumpvalue' => {
f6e46c4d 390 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
391 'FILES' => q[dist/Dumpvalue],
392 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
393 },
394
4f3a742d 395 'Encode' => {
28e02325 396 'DISTRIBUTION' => 'DANKOGAI/Encode-2.62.tar.gz',
4f3a742d 397 'FILES' => q[cpan/Encode],
4f3a742d
DR
398 },
399
400 'encoding::warnings' => {
4f3a742d
DR
401 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
402 'FILES' => q[cpan/encoding-warnings],
403 'EXCLUDED' => [
404 qr{^inc/Module/},
94c85d8e 405 qw(t/0-signature.t),
4f3a742d 406 ],
4f3a742d
DR
407 },
408
4f3a742d 409 'Env' => {
126fc07f 410 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
411 'FILES' => q[dist/Env],
412 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
413 },
414
de84ff2b 415 'experimental' => {
4177cbce 416 'DISTRIBUTION' => 'LEONT/experimental-0.011.tar.gz',
de84ff2b
RS
417 'FILES' => q[cpan/experimental],
418 'EXCLUDED' => [
419 qr{^t/release-.*\.t},
420 't/00-compile.t',
421 ],
422 },
423
4f3a742d 424 'Exporter' => {
4ac9c666 425 'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz',
3110a055 426 'FILES' => q[dist/Exporter],
4f3a742d
DR
427 'EXCLUDED' => [
428 qw( t/pod.t
429 t/use.t
430 ),
431 ],
4f3a742d
DR
432 },
433
434 'ExtUtils::CBuilder' => {
7e7942b7 435 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280220.tar.gz',
4f3a742d 436 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
437 'EXCLUDED' => [
438 qw(README.mkdn),
439 qr{^xt},
440 ],
4f3a742d
DR
441 },
442
443 'ExtUtils::Command' => {
044aa601 444 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
2ca4a82e 445 'FILES' => q[cpan/ExtUtils-Command],
4f3a742d 446 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
447 },
448
449 'ExtUtils::Constant' => {
4f3a742d
DR
450
451 # Nick has confirmed that while we have diverged from CPAN,
452 # this package isn't primarily maintained in core
453 # Another release will happen "Sometime"
454 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
455 'FILES' => q[cpan/ExtUtils-Constant],
456 'EXCLUDED' => [
457 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
458 examples/perl_keyword.pl
459 examples/perl_regcomp_posix_keyword.pl
460 ),
461 ],
4f3a742d
DR
462 },
463
464 'ExtUtils::Install' => {
f1c22b9e 465 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 466 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
467 'EXCLUDED' => [
468 qw( t/lib/Test/Builder.pm
469 t/lib/Test/Builder/Module.pm
470 t/lib/Test/More.pm
471 t/lib/Test/Simple.pm
472 t/pod-coverage.t
473 t/pod.t
474 ),
475 ],
4f3a742d
DR
476 },
477
478 'ExtUtils::MakeMaker' => {
608fe6e2 479 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.98.tar.gz',
4f3a742d
DR
480 'FILES' => q[cpan/ExtUtils-MakeMaker],
481 'EXCLUDED' => [
482 qr{^t/lib/Test/},
483 qr{^(bundled|my)/},
484 qr{^t/Liblist_Kid.t},
485 qr{^t/liblist/},
78fd4358 486 qr{^\.perlcriticrc},
84c82da4
SH
487 'PATCHING',
488 'README.packaging',
4f3a742d 489 ],
e57bd7f8
SH
490 'CUSTOMIZED' => [
491 # Already merged upstream in GitHub 0116aaf4e, just awaiting
492 # a new stable CPAN release
493 qw( t/pm_to_blib.t ),
1da7b043
CBW
494 # Already merged upstream in GitHub 46586b12c, just awaiting
495 # a new stable CPAN release
496 qw( lib/ExtUtils/Liblist/Kid.pm ),
e57bd7f8 497 ],
4f3a742d
DR
498 },
499
500 'ExtUtils::Manifest' => {
a6580644 501 'DISTRIBUTION' => 'BINGOS/ExtUtils-Manifest-1.68.tar.gz',
854a00d8 502 'FILES' => q[cpan/ExtUtils-Manifest],
50d19a32 503 'EXCLUDED' => [qr(^xt/)],
4f3a742d
DR
504 },
505
506 'ExtUtils::ParseXS' => {
c8131234 507 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
4f3a742d 508 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
509 },
510
4f3a742d 511 'File::Fetch' => {
9d56ca6f 512 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 513 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
514 },
515
4f3a742d 516 'File::Path' => {
8f65b4cd 517 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
518 'FILES' => q[cpan/File-Path],
519 'EXCLUDED' => [
520 qw( eg/setup-extra-tests
521 t/pod.t
522 )
523 ],
524 'MAP' => {
525 '' => 'cpan/File-Path/lib/File/',
526 't/' => 'cpan/File-Path/t/',
527 },
4f3a742d
DR
528 },
529
4f3a742d 530 'File::Temp' => {
3d5f905f 531 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
532 'FILES' => q[cpan/File-Temp],
533 'EXCLUDED' => [
534 qw( misc/benchmark.pl
535 misc/results.txt
536 ),
814e893f
CBW
537 qw[t/00-report-prereqs.t],
538 qr{^xt},
4f3a742d 539 ],
4f3a742d
DR
540 },
541
4f3a742d 542 'Filter::Simple' => {
37ffe967 543 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
544 'FILES' => q[dist/Filter-Simple],
545 'EXCLUDED' => [
4f3a742d
DR
546 qr{^demo/}
547 ],
4f3a742d
DR
548 },
549
550 'Filter::Util::Call' => {
d8b87a9b 551 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
552 'FILES' => q[cpan/Filter-Util-Call
553 pod/perlfilter.pod
554 ],
555 'EXCLUDED' => [
556 qr{^decrypt/},
557 qr{^examples/},
558 qr{^Exec/},
559 qr{^lib/Filter/},
560 qr{^tee/},
561 qw( Call/Makefile.PL
562 Call/ppport.h
563 Call/typemap
564 mytest
565 t/cpp.t
566 t/decrypt.t
567 t/exec.t
568 t/order.t
4f3a742d
DR
569 t/sh.t
570 t/tee.t
533d93cc
SH
571 t/z_kwalitee.t
572 t/z_meta.t
573 t/z_perl_minimum_version.t
574 t/z_pod-coverage.t
575 t/z_pod.t
4f3a742d
DR
576 ),
577 ],
578 'MAP' => {
579 'Call/' => 'cpan/Filter-Util-Call/',
580 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
581 'perlfilter.pod' => 'pod/perlfilter.pod',
582 '' => 'cpan/Filter-Util-Call/',
583 },
4f3a742d
DR
584 },
585
4f3a742d 586 'Getopt::Long' => {
7867c822 587 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
588 'FILES' => q[cpan/Getopt-Long],
589 'EXCLUDED' => [
590 qr{^examples/},
591 qw( perl-Getopt-Long.spec
592 lib/newgetopt.pl
974d5816 593 t/gol-compat.t
4f3a742d
DR
594 ),
595 ],
4f3a742d
DR
596 },
597
4f3a742d 598 'HTTP::Tiny' => {
7b060fdb 599 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.050.tar.gz',
4f3a742d
DR
600 'FILES' => q[cpan/HTTP-Tiny],
601 'EXCLUDED' => [
fcfb9f49 602 't/00-report-prereqs.t',
57d69a40 603 't/00-report-prereqs.dd',
4f3a742d 604 't/200_live.t',
44347bc3 605 't/200_live_local_ip.t',
fcfb9f49 606 't/210_live_ssl.t',
4f3a742d
DR
607 qr/^eg/,
608 qr/^xt/
609 ],
4f3a742d
DR
610 },
611
612 'I18N::Collate' => {
4f3a742d
DR
613 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
614 'FILES' => q[dist/I18N-Collate],
615 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
616 },
617
4f3a742d 618 'I18N::LangTags' => {
4f3a742d 619 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
620 },
621
622 'if' => {
4f3a742d
DR
623 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
624 'FILES' => q[dist/if],
4f3a742d
DR
625 },
626
627 'IO' => {
4f3a742d
DR
628 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
629 'FILES' => q[dist/IO/],
630 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
631 },
632
633 'IO-Compress' => {
6625b473 634 'DISTRIBUTION' => 'PMQS/IO-Compress-2.066.tar.gz',
4f3a742d 635 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
636 'EXCLUDED' => [
637 qr{^examples/},
638 qr{^t/Test/},
639 't/010examples-bzip2.t',
640 't/010examples-zlib.t',
641 't/cz-05examples.t',
642 ],
4f3a742d
DR
643 },
644
74a30e96 645 'IO::Socket::IP' => {
cdfcfc0b 646 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.32.tar.gz',
74a30e96
CBW
647 'FILES' => q[cpan/IO-Socket-IP],
648 'EXCLUDED' => [
649 qr{^examples/},
650 ],
990354b1
GG
651 'CUSTOMIZED' => [
652 # Almost always fails on Win32 since introduced: see CPAN RT#98976
653 't/22timeout.t',
654 ],
74a30e96
CBW
655 },
656
4f3a742d 657 'IO::Zlib' => {
4f3a742d
DR
658 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
659 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
660 },
661
662 'IPC::Cmd' => {
9c213c25 663 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 664 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
665 },
666
4f3a742d 667 'IPC::SysV' => {
dd0df890 668 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
669 'FILES' => q[cpan/IPC-SysV],
670 'EXCLUDED' => [
671 qw( const-c.inc
672 const-xs.inc
673 ),
674 ],
4f3a742d
DR
675 },
676
677 'JSON::PP' => {
be08498a 678 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d 679 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
680 },
681
682 'lib' => {
4f3a742d
DR
683 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
684 'FILES' => q[dist/lib/],
685 'EXCLUDED' => [
686 qw( forPAUSE/lib.pm
687 t/00pod.t
688 ),
689 ],
4f3a742d
DR
690 },
691
692 'libnet' => {
5abafd4c 693 'DISTRIBUTION' => 'SHAY/libnet-1.27.tar.gz',
4f3a742d
DR
694 'FILES' => q[cpan/libnet],
695 'EXCLUDED' => [
696 qw( Configure
697 install-nomake
4f3a742d 698 ),
84c82da4 699 qr(^demos/),
4f3a742d 700 ],
4f3a742d
DR
701 },
702
703 'Locale-Codes' => {
5e369738 704 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.32.tar.gz',
4f3a742d
DR
705 'FILES' => q[cpan/Locale-Codes],
706 'EXCLUDED' => [
84c82da4 707 qw( README.first
8eadc45b 708 t/pod_coverage.ign
84c82da4 709 t/pod_coverage.t
4f3a742d
DR
710 t/pod.t),
711 qr{^t/runtests},
712 qr{^t/runtests\.bat},
713 qr{^internal/},
714 qr{^examples/},
715 ],
4f3a742d
DR
716 },
717
718 'Locale::Maketext' => {
4ac9c666 719 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.25.tar.gz',
4f3a742d
DR
720 'FILES' => q[dist/Locale-Maketext],
721 'EXCLUDED' => [
722 qw(
723 perlcriticrc
724 t/00_load.t
725 t/pod.t
726 ),
727 ],
4f3a742d
DR
728 },
729
730 'Locale::Maketext::Simple' => {
4f3a742d
DR
731 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
732 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
733 },
734
4f3a742d 735 'Math::BigInt' => {
4ac9c666 736 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.9993.tar.gz',
4f3a742d
DR
737 'FILES' => q[dist/Math-BigInt],
738 'EXCLUDED' => [
739 qr{^inc/},
740 qr{^examples/},
741 qw( t/00sig.t
742 t/01load.t
743 t/02pod.t
744 t/03podcov.t
745 ),
746 ],
4f3a742d
DR
747 },
748
749 'Math::BigInt::FastCalc' => {
4ac9c666 750 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
4f3a742d
DR
751 'FILES' => q[dist/Math-BigInt-FastCalc],
752 'EXCLUDED' => [
753 qr{^inc/},
754 qw( t/00sig.t
755 t/01load.t
756 t/02pod.t
757 t/03podcov.t
758 ),
759
760 # instead we use the versions of these test
761 # files that come with Math::BigInt:
762 qw( t/bigfltpm.inc
763 t/bigfltpm.t
764 t/bigintpm.inc
765 t/bigintpm.t
766 t/mbimbf.inc
767 t/mbimbf.t
768 ),
769 ],
4f3a742d
DR
770 },
771
772 'Math::BigRat' => {
4ac9c666 773 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2606.tar.gz',
4f3a742d
DR
774 'FILES' => q[dist/Math-BigRat],
775 'EXCLUDED' => [
776 qr{^inc/},
777 qw( t/00sig.t
778 t/01load.t
779 t/02pod.t
780 t/03podcov.t
781 ),
782 ],
4f3a742d
DR
783 },
784
785 'Math::Complex' => {
04ae1553 786 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
787 'FILES' => q[cpan/Math-Complex],
788 'EXCLUDED' => [
789 qw( t/pod.t
790 t/pod-coverage.t
791 ),
792 ],
4f3a742d
DR
793 },
794
795 'Memoize' => {
8114efa0 796 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
797 'FILES' => q[cpan/Memoize],
798 'EXCLUDED' => ['article.html'],
4f3a742d
DR
799 },
800
801 'MIME::Base64' => {
43f93048 802 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
803 'FILES' => q[cpan/MIME-Base64],
804 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
805 },
806
4f3a742d 807 'Module::CoreList' => {
fda8e777 808 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20141002.tar.gz',
4f3a742d 809 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
810 },
811
812 'Module::Load' => {
58572ed8 813 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 814 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
815 },
816
817 'Module::Load::Conditional' => {
05553066 818 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.62.tar.gz',
4f3a742d 819 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
820 },
821
822 'Module::Loaded' => {
4f3a742d
DR
823 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
824 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
825 },
826
827 'Module::Metadata' => {
f97d984b 828 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000024.tar.gz',
4f3a742d
DR
829 'FILES' => q[cpan/Module-Metadata],
830 'EXCLUDED' => [
b9beed70
SH
831 qw(README.md),
832 qw(t/00-report-prereqs.t),
4f3a742d
DR
833 qr{^xt},
834 ],
4f3a742d
DR
835 },
836
4f3a742d 837 'Net::Ping' => {
4e0aac35 838 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 839 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
840 'EXCLUDED' => [
841 qr{^.travis.yml},
842 qr{^README.md},
843 ],
4f3a742d
DR
844 },
845
846 'NEXT' => {
4f3a742d
DR
847 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
848 'FILES' => q[cpan/NEXT],
849 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
850 },
851
4f3a742d 852 'Params::Check' => {
8b21fa03 853 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 854 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
855 },
856
857 'parent' => {
11100026 858 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 859 'FILES' => q[cpan/parent],
4f3a742d
DR
860 },
861
862 'Parse::CPAN::Meta' => {
a2fd2fa0 863 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 864 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 865 'EXCLUDED' => [
342e4710
CBW
866 qw[t/00-report-prereqs.t],
867 qr{^xt},
868 ],
4f3a742d
DR
869 },
870
871 'PathTools' => {
4d90bfb5 872 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 873 'FILES' => q[dist/PathTools],
4f3a742d 874 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
875 },
876
97b1d6e6 877 'Perl::OSType' => {
6f974f68 878 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.007.tar.gz',
97b1d6e6 879 'FILES' => q[cpan/Perl-OSType],
765955c0 880 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
881 },
882
97b1d6e6 883 'perlfaq' => {
dee28d0d 884 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150045.tar.gz',
97b1d6e6
SH
885 'FILES' => q[cpan/perlfaq],
886 'EXCLUDED' => [
887 qw( t/release-pod-syntax.t
888 t/release-eol.t
889 t/release-no-tabs.t
890 )
891 ],
97b1d6e6
SH
892 },
893
4f3a742d 894 'PerlIO::via::QuotedPrint' => {
7e286960 895 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 896 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
897
898 # Waiting to be merged upstream: see CPAN RT#54047
899 'CUSTOMIZED' => [
900 qw( t/QuotedPrint.t
901 ),
902 ],
903
4f3a742d
DR
904 },
905
0c501878 906 'Pod::Checker' => {
0c501878
CBW
907 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
908 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
909 },
910
4f3a742d 911 'Pod::Escapes' => {
38d111ed 912 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.06.tar.gz',
4f3a742d 913 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
914 },
915
4f3a742d 916 'Pod::Parser' => {
299a4f3d 917 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.62.tar.gz',
4f3a742d 918 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
919 },
920
921 'Pod::Perldoc' => {
2cbf1141 922 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.24.tar.gz',
00e518b3 923 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 924
fa884b76
DM
925 # Note that we use the CPAN-provided Makefile.PL, since it
926 # contains special handling of the installation of perldoc.pod
927
928 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
929 # instead
930 # XXX We can and should fix this, but clean up the DRY-failure in utils
931 # first
932 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
933 },
934
935 'Pod::Simple' => {
b5ae6e74 936 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 937 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
938 },
939
0c501878 940 'Pod::Usage' => {
5b597d1b 941 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz',
0c501878 942 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
943 },
944
4f3a742d 945 'podlators' => {
b52cde68 946 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
947 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
948
949 # The perl distribution has pod2man.PL and pod2text.PL, which are
950 # run to create pod2man and pod2text, while the CPAN distribution
951 # just has the post-generated pod2man and pod2text files.
952 # The following entries attempt to codify that odd fact.
953 'CUSTOMIZED' => [
954 qw( scripts/pod2man.PL
955 scripts/pod2text.PL
4f3a742d
DR
956 ),
957 ],
958 'MAP' => {
959 '' => 'cpan/podlators/',
960 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
961 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
962
963 # this file lives outside the cpan/ directory
964 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
965 },
4f3a742d
DR
966 },
967
4f3a742d 968 'Safe' => {
e739c653 969 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 970 'FILES' => q[dist/Safe],
4f3a742d
DR
971 },
972
973 'Scalar-List-Utils' => {
46274848 974 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.41.tar.gz',
cb8c8458 975 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
976 },
977
4f3a742d 978 'Search::Dict' => {
0b0a7092 979 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 980 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
981 },
982
983 'SelfLoader' => {
c3958279 984 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
985 'FILES' => q[dist/SelfLoader],
986 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
987 },
988
4f3a742d 989 'Socket' => {
0d7f0ca7 990 'DISTRIBUTION' => 'PEVANS/Socket-2.015.tar.gz',
4f3a742d 991 'FILES' => q[cpan/Socket],
8fad3ae2
CB
992 'CUSTOMIZED' => [
993 # Waiting to be merged upstream: see CPAN RT#98217
994 qw( t/getnameinfo.t ),
995 ],
4f3a742d
DR
996 },
997
998 'Storable' => {
5f4b5e0f 999 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1000 'FILES' => q[dist/Storable],
4f3a742d
DR
1001 },
1002
4f3a742d 1003 'Sys::Syslog' => {
848ca32c 1004 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1005 'FILES' => q[cpan/Sys-Syslog],
1006 'EXCLUDED' => [
1007 qr{^eg/},
84c82da4
SH
1008 qw( README.win32
1009 t/data-validation.t
4f3a742d
DR
1010 t/distchk.t
1011 t/pod.t
1012 t/podcover.t
1013 t/podspell.t
1014 t/portfs.t
1015 win32/PerlLog.RES
4f3a742d
DR
1016 ),
1017 ],
4f3a742d
DR
1018 },
1019
1020 'Term::ANSIColor' => {
5e64492f 1021 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1022 'FILES' => q[cpan/Term-ANSIColor],
1023 'EXCLUDED' => [
92f80b37
CBW
1024 qr{^examples/},
1025 qr{^t/data/},
5e64492f
CBW
1026 qr{^t/docs/},
1027 qr{^t/style/},
1028 qw( t/module/aliases-env.t ),
4f3a742d 1029 ],
4f3a742d
DR
1030 },
1031
1032 'Term::Cap' => {
663bce88 1033 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1034 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1035 },
1036
1037 'Term::Complete' => {
4f3a742d
DR
1038 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1039 'FILES' => q[dist/Term-Complete],
1040 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1041 },
1042
1043 'Term::ReadLine' => {
75ad3638 1044 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1045 'FILES' => q[dist/Term-ReadLine],
1046 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1047 },
1048
4f3a742d 1049 'Test' => {
1c22e001 1050 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1051 'FILES' => q[cpan/Test],
4f3a742d
DR
1052 },
1053
1054 'Test::Harness' => {
1bd25aa9 1055 'DISTRIBUTION' => 'LEONT/Test-Harness-3.33.tar.gz',
4f3a742d
DR
1056 'FILES' => q[cpan/Test-Harness],
1057 'EXCLUDED' => [
1058 qr{^examples/},
1059 qr{^inc/},
1060 qr{^t/lib/Test/},
1061 qr{^xt/},
1062 qw( Changes-2.64
8db65552 1063 MANIFEST.CUMMULATIVE
4f3a742d
DR
1064 NotBuild.PL
1065 HACKING.pod
1066 perlcriticrc
8db65552 1067 t/000-load.t
4f3a742d
DR
1068 t/lib/if.pm
1069 ),
1070 ],
4f3a742d
DR
1071 },
1072
1073 'Test::Simple' => {
ca5d3bff 1074 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001006.tar.gz',
4f3a742d
DR
1075 'FILES' => q[cpan/Test-Simple],
1076 'EXCLUDED' => [
6dab8563 1077 qr{^t/xt},
4f3a742d
DR
1078 qw( .perlcriticrc
1079 .perltidyrc
84c82da4
SH
1080 examples/indent.pl
1081 examples/subtest.t
4f3a742d
DR
1082 t/00compile.t
1083 t/pod.t
1084 t/pod-coverage.t
1085 t/Builder/reset_outputs.t
1086 lib/Test/Builder/IO/Scalar.pm
1087 ),
1088 ],
4f3a742d
DR
1089 },
1090
1091 'Text::Abbrev' => {
5e96eee9 1092 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1093 'FILES' => q[dist/Text-Abbrev],
1094 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1095 },
1096
1097 'Text::Balanced' => {
4f3a742d
DR
1098 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1099 'FILES' => q[cpan/Text-Balanced],
1100 'EXCLUDED' => [
1101 qw( t/97_meta.t
1102 t/98_pod.t
1103 t/99_pmv.t
1104 ),
1105 ],
f81a37f2
SH
1106
1107 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1108 'CUSTOMIZED' => [
1109 qw( t/01_compile.t
1110 t/02_extbrk.t
1111 t/03_extcbk.t
1112 t/04_extdel.t
1113 t/05_extmul.t
1114 t/06_extqlk.t
1115 t/07_exttag.t
1116 t/08_extvar.t
1117 t/09_gentag.t
1118 ),
1119 ],
f81a37f2 1120
4f3a742d
DR
1121 },
1122
1123 'Text::ParseWords' => {
33954ec3 1124 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1125 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1126
f81a37f2
SH
1127 # Waiting to be merged upstream: see CPAN RT#50929
1128 'CUSTOMIZED' => [
1129 qw( t/ParseWords.t
1130 t/taint.t
1131 ),
1132 ],
1133
4f3a742d
DR
1134 # For the benefit of make_ext.pl, we have to have this accessible:
1135 'MAP' => {
1136 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1137 '' => 'cpan/Text-ParseWords/',
1138 },
4f3a742d
DR
1139 },
1140
4f3a742d 1141 'Text-Tabs+Wrap' => {
83aea42c 1142 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1143 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1144 'EXCLUDED' => [
1145 qr/^lib\.old/,
1146 't/dnsparks.t', # see af6492bf9e
4f3a742d 1147 ],
e7b92d54
SH
1148 'MAP' => {
1149 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1150 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1151 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1152 },
4f3a742d
DR
1153 },
1154
4e75700d
AC
1155 # Jerry Hedden does take patches that are applied to blead first, even
1156 # though that can be hard to discern from the Git history; so it's
1157 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1158 # to be under dist/ rather than cpan/
4f3a742d 1159 'Thread::Queue' => {
4e75700d 1160 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
4f3a742d
DR
1161 'FILES' => q[dist/Thread-Queue],
1162 'EXCLUDED' => [
1fd4700e
JH
1163 qr{^examples/},
1164 qw( t/00_load.t
4f3a742d
DR
1165 t/99_pod.t
1166 t/test.pl
1167 ),
1168 ],
4f3a742d
DR
1169 },
1170
1171 'Thread::Semaphore' => {
4f3a742d
DR
1172 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1173 'FILES' => q[dist/Thread-Semaphore],
1174 'EXCLUDED' => [
1175 qw( examples/semaphore.pl
1176 t/00_load.t
1177 t/99_pod.t
1178 t/test.pl
1179 ),
1180 ],
4f3a742d
DR
1181 },
1182
1183 'threads' => {
8f1287bb 1184 'DISTRIBUTION' => 'JDHEDDEN/threads-1.96.tar.gz',
4f3a742d
DR
1185 'FILES' => q[dist/threads],
1186 'EXCLUDED' => [
1187 qr{^examples/},
1188 qw( t/pod.t
1189 t/test.pl
1190 threads.h
1191 ),
1192 ],
4f3a742d
DR
1193 },
1194
1195 'threads::shared' => {
a5368aeb 1196 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
4f3a742d
DR
1197 'FILES' => q[dist/threads-shared],
1198 'EXCLUDED' => [
1199 qw( examples/class.pl
1200 shared.h
1201 t/pod.t
1202 t/test.pl
1203 ),
1204 ],
4f3a742d
DR
1205 },
1206
1207 'Tie::File' => {
4ac9c666 1208 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1209 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1210 },
1211
4f3a742d 1212 'Tie::RefHash' => {
4f3a742d
DR
1213 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1214 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1215 },
1216
1217 'Time::HiRes' => {
0f0eae2c 1218 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1219 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1220 },
1221
1222 'Time::Local' => {
62e824cf 1223 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1224 'FILES' => q[cpan/Time-Local],
1225 'EXCLUDED' => [
62e824cf 1226 qr{^t/release-.*\.t},
4f3a742d 1227 ],
4f3a742d
DR
1228 },
1229
1230 'Time::Piece' => {
03d59818 1231 'DISTRIBUTION' => 'RJBS/Time-Piece-1.29.tar.gz',
4f3a742d 1232 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1233 },
1234
1235 'Unicode::Collate' => {
f8187d97 1236 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.07.tar.gz',
4f3a742d
DR
1237 'FILES' => q[cpan/Unicode-Collate],
1238 'EXCLUDED' => [
1239 qr{N$},
1240 qr{^data/},
1241 qr{^gendata/},
1242 qw( disableXS
1243 enableXS
1244 mklocale
1245 ),
1246 ],
4f3a742d
DR
1247 },
1248
1249 'Unicode::Normalize' => {
95f3e8d2 1250 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.18.tar.gz',
4f3a742d 1251 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1252 },
1253
4f3a742d 1254 'version' => {
da891a41 1255 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1256 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1257 'EXCLUDED' => [
df3ba8e7 1258 qr{^vutil/lib/},
c60b4fa6 1259 'vutil/Makefile.PL',
df3ba8e7
FC
1260 'vutil/ppport.h',
1261 'vutil/vxs.xs',
4f3a742d 1262 't/survey_locales',
4f3a742d 1263 ],
f81a37f2 1264
c872d591
SH
1265 # When adding the CPAN-distributed files for version.pm, it is necessary
1266 # to delete an entire block out of lib/version.pm, since that code is
1267 # only necessary with the CPAN release.
f81a37f2
SH
1268 'CUSTOMIZED' => [
1269 qw( lib/version.pm
f81a37f2 1270 ),
4637d007
SH
1271
1272 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1273 qw( vutil.c
4637d007 1274 ),
f81a37f2
SH
1275 ],
1276
df3ba8e7 1277 'MAP' => {
4fa93b19
SH
1278 'vperl/' => 'cpan/version/lib/version/',
1279 'vutil/' => '',
df3ba8e7
FC
1280 '' => 'cpan/version/',
1281 },
4f3a742d
DR
1282 },
1283
4f3a742d 1284 'warnings' => {
099bebb1 1285 'FILES' => q[
4f3a742d 1286 lib/warnings
099bebb1
SH
1287 lib/warnings.{pm,t}
1288 regen/warnings.pl
4f3a742d 1289 t/lib/warnings
099bebb1 1290 ],
4f3a742d
DR
1291 },
1292
4f3a742d 1293 'Win32' => {
7432779b 1294 'DISTRIBUTION' => "JDB/Win32-0.49.tar.gz",
4f3a742d 1295 'FILES' => q[cpan/Win32],
4f3a742d
DR
1296 },
1297
1298 'Win32API::File' => {
113b1f2c 1299 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1300 'FILES' => q[cpan/Win32API-File],
1301 'EXCLUDED' => [
1302 qr{^ex/},
1303 't/pod.t',
1304 ],
4f3a742d
DR
1305 },
1306
4f3a742d 1307 'XSLoader' => {
681a49bf 1308 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1309 'FILES' => q[dist/XSLoader],
1310 'EXCLUDED' => [
1311 qr{^eg/},
57f9caa0
SH
1312 qw( t/00-load.t
1313 t/01-api.t
1314 t/distchk.t
1315 t/pod.t
4f3a742d
DR
1316 t/podcover.t
1317 t/portfs.t
1318 ),
1319 'XSLoader.pm', # we use XSLoader_pm.PL
1320 ],
4f3a742d
DR
1321 },
1322
462ea751
DM
1323 # this pseudo-module represents all the files under ext/ and lib/
1324 # that aren't otherwise claimed. This means that the following two
1325 # commands will check that every file under ext/ and lib/ is
1326 # accounted for, and that there are no duplicates:
1327 #
1328 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1329 # perl Porting/Maintainers --checkmani
462ea751 1330
4f3a742d 1331 '_PERLLIB' => {
2af3c4b9 1332 'FILES' => q[
09213599 1333 ext/B/
2af3c4b9
SH
1334 ext/Devel-Peek/
1335 ext/DynaLoader/
1336 ext/Errno/
7b4d95f7 1337 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1338 ext/Fcntl/
1339 ext/File-DosGlob/
1340 ext/File-Find/
1341 ext/File-Glob/
1342 ext/FileCache/
1343 ext/GDBM_File/
1344 ext/Hash-Util-FieldHash/
1345 ext/Hash-Util/
1346 ext/I18N-Langinfo/
1347 ext/IPC-Open3/
1348 ext/NDBM_File/
1349 ext/ODBM_File/
1350 ext/Opcode/
1351 ext/POSIX/
1352 ext/PerlIO-encoding/
1353 ext/PerlIO-mmap/
1354 ext/PerlIO-scalar/
1355 ext/PerlIO-via/
1356 ext/Pod-Functions/
1357 ext/Pod-Html/
1358 ext/SDBM_File/
1359 ext/Sys-Hostname/
1360 ext/Tie-Hash-NamedCapture/
1361 ext/Tie-Memoize/
b3dcf775 1362 ext/VMS-DCLsym/
2af3c4b9 1363 ext/VMS-Filespec/
b3dcf775
SH
1364 ext/VMS-Stdio/
1365 ext/Win32CORE/
4f3a742d 1366 ext/XS-APItest/
2af3c4b9
SH
1367 ext/XS-Typemap/
1368 ext/arybase/
1369 ext/attributes/
1370 ext/mro/
1371 ext/re/
1372 lib/AnyDBM_File.{pm,t}
1373 lib/Benchmark.{pm,t}
38eca645 1374 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1375 lib/B/Op_private.pm
4f3a742d 1376 lib/CORE.pod
2af3c4b9 1377 lib/Class/Struct.{pm,t}
4f3a742d
DR
1378 lib/Config.t
1379 lib/Config/Extensions.{pm,t}
1380 lib/DB.{pm,t}
2af3c4b9
SH
1381 lib/DBM_Filter.pm
1382 lib/DBM_Filter/
1383 lib/DirHandle.{pm,t}
1384 lib/English.{pm,t}
4f3a742d
DR
1385 lib/ExtUtils/Embed.pm
1386 lib/ExtUtils/XSSymSet.pm
1387 lib/ExtUtils/t/Embed.t
1388 lib/ExtUtils/typemap
2af3c4b9
SH
1389 lib/File/Basename.{pm,t}
1390 lib/File/Compare.{pm,t}
1391 lib/File/Copy.{pm,t}
1392 lib/File/stat{.pm,.t,-7896.t}
1393 lib/FileHandle.{pm,t}
1394 lib/FindBin.{pm,t}
1395 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1396 lib/Internals.t
1397 lib/Net/hostent.{pm,t}
1398 lib/Net/netent.{pm,t}
1399 lib/Net/protoent.{pm,t}
1400 lib/Net/servent.{pm,t}
2af3c4b9 1401 lib/PerlIO.pm
4f3a742d
DR
1402 lib/Pod/t/InputObjects.t
1403 lib/Pod/t/Select.t
1404 lib/Pod/t/Usage.t
4f3a742d
DR
1405 lib/Pod/t/utils.t
1406 lib/SelectSaver.{pm,t}
1407 lib/Symbol.{pm,t}
1408 lib/Thread.{pm,t}
1409 lib/Tie/Array.pm
1410 lib/Tie/Array/
1411 lib/Tie/ExtraHash.t
1412 lib/Tie/Handle.pm
1413 lib/Tie/Handle/
2af3c4b9 1414 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1415 lib/Tie/Scalar.{pm,t}
1416 lib/Tie/StdHandle.pm
1417 lib/Tie/SubstrHash.{pm,t}
1418 lib/Time/gmtime.{pm,t}
1419 lib/Time/localtime.{pm,t}
1420 lib/Time/tm.pm
1421 lib/UNIVERSAL.pm
1422 lib/Unicode/README
2af3c4b9 1423 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1424 lib/User/grent.{pm,t}
1425 lib/User/pwent.{pm,t}
2af3c4b9 1426 lib/_charnames.pm
4f3a742d
DR
1427 lib/blib.{pm,t}
1428 lib/bytes.{pm,t}
1429 lib/bytes_heavy.pl
1430 lib/charnames.{pm,t}
1431 lib/dbm_filter_util.pl
1432 lib/deprecate.pm
2af3c4b9 1433 lib/diagnostics.{pm,t}
4f3a742d
DR
1434 lib/dumpvar.{pl,t}
1435 lib/feature.{pm,t}
1436 lib/feature/
1437 lib/filetest.{pm,t}
1438 lib/h2ph.t
1439 lib/h2xs.t
1440 lib/integer.{pm,t}
1441 lib/less.{pm,t}
1442 lib/locale.{pm,t}
1443 lib/open.{pm,t}
1444 lib/overload/numbers.pm
1445 lib/overloading.{pm,t}
2af3c4b9 1446 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1447 lib/perl5db.{pl,t}
1448 lib/perl5db/
2af3c4b9 1449 lib/sigtrap.{pm,t}
4f3a742d
DR
1450 lib/sort.{pm,t}
1451 lib/strict.{pm,t}
1452 lib/subs.{pm,t}
1453 lib/unicore/
1454 lib/utf8.{pm,t}
1455 lib/utf8_heavy.pl
1456 lib/vars{.pm,.t,_carp.t}
1457 lib/vmsish.{pm,t}
1458 ],
4f3a742d 1459 },
462ea751 1460);
b128a327 1461
97556ec3 1462# legacy CPAN flag
4f3a742d 1463for ( values %Modules ) {
97556ec3
GA
1464 $_->{CPAN} = !!$_->{DISTRIBUTION};
1465}
1466
099bebb1
SH
1467# legacy UPSTREAM flag
1468for ( keys %Modules ) {
1469 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1470 next if exists $Modules{$_}{UPSTREAM};
1471
1472 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1473 $Modules{$_}{UPSTREAM} = 'blead';
1474 }
1475 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1476 $Modules{$_}{UPSTREAM} = 'cpan';
1477 }
1478 else {
1479 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1480 }
1481}
1482
d350de41 1483# legacy MAINTAINER field
099bebb1 1484for ( keys %Modules ) {
b3dcf775 1485 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1486 next if exists $Modules{$_}{MAINTAINER};
1487
1488 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1489 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1490 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1491 }
099bebb1
SH
1492 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1493 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1494 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1495 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1496 }
099bebb1
SH
1497 else {
1498 warn "No DISTRIBUTION for non-blead module $_";
1499 }
d350de41
SH
1500}
1501
b128a327 15021;