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