This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove all IGNORABLE files under cpan/
[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
4f3a742d 14%Maintainers = (
872818ae 15 'CBERRY' => 'Craig Berry <craigberry@mac.com>',
872818ae 16 'JDB' => 'Jan Dubois <jand@activestate.com>',
872818ae 17 'PMQS' => 'Paul Marquess <pmqs@cpan.org>',
872818ae 18 'SMCCAM' => 'Stephen McCamant <smccam@cpan.org>',
4f3a742d 19);
2c95b6e4
DM
20
21# IGNORABLE: files which, if they appear in the root of a CPAN
22# distribution, need not appear in core (i.e. core-cpan-diff won't
23# complain if it can't find them)
24
25@IGNORABLE = qw(
26 .cvsignore .dualLivedDiffConfig .gitignore
27 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
d4e90f16 28 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying
01b177dd
CBW
29 cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
30 Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
31 MYMETA.yml NEW NOTES perlcritic.rc ppport.h README README.PATCHING
32 SIGNATURE THANKS TODO Todo VERSION WHATSNEW
2c95b6e4
DM
33);
34
e30e10b5 35# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 36# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
37# CPAN distribution.
38
39# The keys of %Modules are human descriptions of the distributions, and
40# may not exactly match a module or distribution name. Distributions
41# which have an obvious top-level module associated with them will usually
42# have a key named for that module, e.g. 'Archive::Extract' for
43# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
44# on the name of the distribution, e.g. 'Locale-Codes' for
45# Locale-Codes-N.NN.tar.gz'.
d350de41 46
099bebb1
SH
47# UPSTREAM indicates where patches should go. This is generally now
48# inferred from the FILES: modules with files in dist/, ext/ and lib/
49# are understood to have UPSTREAM 'blead', meaning that the copy of the
50# module in the blead sources is to be considered canonical, while
51# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
52# meaning that the module on CPAN is to be patched first.
53
d350de41
SH
54# MAINTAINER indicates who the current maintainer of the module is. For
55# modules with no MAINTAINER field given, this is understood to be either
099bebb1
SH
56# the Perl 5 Porters if UPSTREAM is 'blead', or else the CPAN author whose
57# PAUSE user ID forms the first part of the DISTRIBUTION value, e.g.
58# 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.92.tar.gz'. (PAUSE's View
59# Permissions page may be consulted to find other authors who have owner
60# or co-maint permissions for the module in question.) The few explicitly
61# listed MAINTAINERs refer to authors whose email address is listed in the
d350de41
SH
62# %Maintainers hash above.
63
e30e10b5
DM
64# FILES is a list of filenames, glob patterns, and directory
65# names to be recursed down, which collectively generate a complete list
66# of the files associated with the distribution.
67
e1466347
JC
68# BUGS is an email or url to post bug reports. For modules with
69# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
70# appears to automatically provide a URL for CPAN modules; any value
71# given here overrides the default:
72# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
73
a55d270d
DM
74# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
75# included in core are derived from. Note that the file's version may not
76# necessarily match the newest version on CPAN.
77
2c95b6e4
DM
78# EXCLUDED is a list of files to be excluded from a CPAN tarball before
79# comparing the remaining contents with core. Each item can either be a
80# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
81# It defaults to the empty list.
82
d43babf1 83# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
84# Perl core. Use this whenever patching a cpan upstream distribution
85# or whenever we expect to have a file that differs from the tarball.
86# If the file in blead matches the file in the tarball from CPAN,
87# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 88# customization might have been lost when updating from upstream. The
f81a37f2
SH
89# path should be relative to the distribution directory. If the upstream
90# distribution should be modified to incorporate the change then be sure
91# to raise a ticket for it on rt.cpan.org and add a comment alongside the
92# list of CUSTOMIZED files noting the ticket number.
d43babf1 93
ab87ca4d
DG
94# DEPRECATED contains the *first* version of Perl in which the module
95# was considered deprecated. It should only be present if the module is
96# actually deprecated. Such modules should use deprecated.pm to
97# issue a warning if used. E.g.:
98#
99# use if $] >= 5.011, 'deprecate';
100#
101
2c95b6e4 102# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 103# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
104# first. The first match causes that prefix to be replaced with the
105# corresponding key. For example, with the following MAP:
613f422f 106# {
4f3a742d
DR
107# 'lib/' => 'lib/',
108# '' => 'lib/Foo/',
2c95b6e4
DM
109# },
110#
111# these files are mapped as shown:
112#
113# README becomes lib/Foo/README
613f422f 114# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
115#
116# The default is dependent on the type of module.
117# For distributions which appear to be stored under ext/, it defaults to:
118#
119# { '' => 'ext/Foo-Bar/' }
120#
121# otherwise, it's
122#
613f422f 123# {
4f3a742d
DR
124# 'lib/' => 'lib/',
125# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
126# }
127
b128a327
JH
128%Modules = (
129
4f3a742d 130 'Archive::Tar' => {
14f3ea66 131 'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.92.tar.gz',
4f3a742d 132 'FILES' => q[cpan/Archive-Tar],
4f3a742d
DR
133 'BUGS' => 'bug-archive-tar@rt.cpan.org',
134 },
135
136 'Attribute::Handlers' => {
e9742164 137 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
4f3a742d 138 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
139 },
140
4f3a742d 141 'autodie' => {
ff4ad1c0 142 'DISTRIBUTION' => 'PJF/autodie-2.22.tar.gz',
4f3a742d
DR
143 'FILES' => q[cpan/autodie],
144 'EXCLUDED' => [
273225d4 145 qr{benchmarks},
4f3a742d
DR
146 # All these tests depend upon external
147 # modules that don't exist when we're
148 # building the core. Hence, they can
149 # never run, and should not be merged.
ff4ad1c0
SH
150 qw( t/author-critic.t
151 t/boilerplate.t
4f3a742d
DR
152 t/critic.t
153 t/fork.t
154 t/kwalitee.t
155 t/lex58.t
156 t/pod-coverage.t
157 t/pod.t
273225d4
CBW
158 t/release-pod-coverage.t
159 t/release-pod-syntax.t
4f3a742d
DR
160 t/socket.t
161 t/system.t
162 )
163 ],
a1a6b6b3 164 'CUSTOMIZED' => [
dd9a180e
CB
165 # Waiting to be merged upstream: see CPAN RT#87237
166 qw( t/utf8_open.t ),
a1a6b6b3 167 ],
4f3a742d
DR
168 },
169
170 'AutoLoader' => {
07e2e970 171 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
4f3a742d
DR
172 'FILES' => q[cpan/AutoLoader],
173 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
174 },
175
176 'autouse' => {
adac38df 177 'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
4f3a742d
DR
178 'FILES' => q[dist/autouse],
179 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
180 },
181
182 'B' => {
4f3a742d
DR
183 'FILES' => q[ext/B],
184 'EXCLUDED' => [
185 qw( B/Concise.pm
186 t/concise.t
187 ),
188 ],
4f3a742d
DR
189 },
190
191 'B::Concise' => {
872818ae 192 'MAINTAINER' => 'SMCCAM',
4f3a742d 193 'FILES' => q[ext/B/B/Concise.pm ext/B/t/concise.t],
4f3a742d
DR
194 },
195
196 'B::Debug' => {
9d2d23d9 197 'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
4f3a742d
DR
198 'FILES' => q[cpan/B-Debug],
199 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
200 },
201
202 'B::Deparse' => {
872818ae 203 'MAINTAINER' => 'SMCCAM',
4f3a742d 204 'FILES' => q[dist/B-Deparse],
4f3a742d
DR
205 },
206
4f3a742d 207 'base' => {
7af2899e 208 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 209 'FILES' => q[dist/base],
4f3a742d
DR
210 },
211
4f3a742d 212 'bignum' => {
168d28a2 213 'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
4f3a742d
DR
214 'FILES' => q[dist/bignum],
215 'EXCLUDED' => [
216 qr{^inc/Module/},
217 qw( t/pod.t
218 t/pod_cov.t
219 ),
220 ],
4f3a742d
DR
221 },
222
223 'Carp' => {
cc24d4fc 224 'DISTRIBUTION' => 'ZEFRAM/Carp-1.32.tar.gz',
4f3a742d 225 'FILES' => q[dist/Carp],
4f3a742d
DR
226 },
227
228 'CGI' => {
a2b3762a 229 'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
4f3a742d
DR
230 'FILES' => q[cpan/CGI],
231 'EXCLUDED' => [
a506842e 232 qw( cgi_docs.html
4f3a742d
DR
233 examples/WORLD_WRITABLE/18.157.1.253.sav
234 t/gen-tests/gen-start-end-tags.pl
235 t/fast.t
236 ),
237 ],
4f3a742d
DR
238 },
239
4f3a742d 240 'Compress::Raw::Bzip2' => {
ef379d05 241 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.062.tar.gz',
4f3a742d
DR
242 'FILES' => q[cpan/Compress-Raw-Bzip2],
243 'EXCLUDED' => [
244 qr{^t/Test/},
245 'bzip2-src/bzip2-cpp.patch',
246 ],
4f3a742d
DR
247 },
248
249 'Compress::Raw::Zlib' => {
ef379d05 250 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.062.tar.gz',
4f3a742d
DR
251
252 'FILES' => q[cpan/Compress-Raw-Zlib],
253 'EXCLUDED' => [
254 qr{^t/Test/},
255 qw( t/000prereq.t
256 t/99pod.t
257 ),
258 ],
4f3a742d
DR
259 },
260
4b07058c 261 'Config::Perl::V' => {
89e01640 262 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
4b07058c 263 'FILES' => q[cpan/Config-Perl-V],
1fe0c842 264 'EXCLUDED' => ['examples/show-v.pl'],
4b07058c
RS
265 },
266
4f3a742d 267 'constant' => {
e2943784 268 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
269 'FILES' => q[dist/constant],
270 'EXCLUDED' => [
271 qw( t/00-load.t
272 t/more-tests.t
273 t/pod-coverage.t
274 t/pod.t
275 eg/synopsis.pl
276 ),
277 ],
4f3a742d
DR
278 },
279
280 'CPAN' => {
bfae5bde 281 'DISTRIBUTION' => 'ANDK/CPAN-2.03-TRIAL.tar.gz',
4f3a742d
DR
282 'FILES' => q[cpan/CPAN],
283 'EXCLUDED' => [
284 qr{^distroprefs/},
285 qr{^inc/Test/},
286 qr{^t/CPAN/authors/},
287 qw( lib/CPAN/Admin.pm
6156383d 288 scripts/cpan-mirrors
bfae5bde 289 PAUSE2015.pub
4f3a742d
DR
290 SlayMakefile
291 t/00signature.t
292 t/04clean_load.t
293 t/12cpan.t
294 t/13tarzip.t
295 t/14forkbomb.t
296 t/30shell.coverage
297 t/30shell.t
298 t/31sessions.t
299 t/41distribution.t
300 t/42distroprefs.t
6156383d 301 t/44cpanmeta.t
4f3a742d
DR
302 t/43distroprefspref.t
303 t/50pod.t
304 t/51pod.t
305 t/52podcover.t
306 t/60credentials.t
307 t/70_critic.t
bfae5bde 308 t/71_minimumversion.t
4f3a742d
DR
309 t/CPAN/CpanTestDummies-1.55.pm
310 t/CPAN/TestConfig.pm
311 t/CPAN/TestMirroredBy
312 t/CPAN/TestPatch.txt
313 t/CPAN/modules/02packages.details.txt
314 t/CPAN/modules/03modlist.data
6156383d 315 t/data/META-dynamic.json
4f3a742d 316 t/data/META-dynamic.yml
6156383d 317 t/data/META-static.json
4f3a742d 318 t/data/META-static.yml
6156383d
SH
319 t/data/MYMETA.json
320 t/data/MYMETA.yml
4f3a742d
DR
321 t/local_utils.pm
322 t/perlcriticrc
323 t/yaml_code.yml
324 ),
325 ],
4f3a742d
DR
326 },
327
278337cd
CBW
328 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
329 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 330 'CPAN::Meta' => {
229563a9 331 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132830.tar.gz',
4f3a742d
DR
332 'FILES' => q[cpan/CPAN-Meta],
333 'EXCLUDED' => [
ecaff076 334 qw(t/00-compile.t),
7f6e6ca2 335 qw[t/00-report-prereqs.t],
229563a9 336 qr{t/README-data.txt},
4f3a742d
DR
337 qr{^xt},
338 qr{^history},
339 ],
4f3a742d
DR
340 },
341
b6ae0ea7 342 'CPAN::Meta::Requirements' => {
56284aa9 343 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
344 'FILES' => q[cpan/CPAN-Meta-Requirements],
345 'EXCLUDED' => [
346 qw(t/00-compile.t),
c4814040 347 qw(t/00-report-prereqs.t),
b6ae0ea7
CBW
348 qr{^xt},
349 qr{^history},
350 ],
b6ae0ea7
CBW
351 },
352
4f3a742d 353 'CPAN::Meta::YAML' => {
9c5cc6d5 354 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.010.tar.gz',
4f3a742d
DR
355 'FILES' => q[cpan/CPAN-Meta-YAML],
356 'EXCLUDED' => [
b3100a1d 357 't/00-compile.t',
4f3a742d
DR
358 't/04_scalar.t', # requires YAML.pm
359 qr{^xt},
360 ],
4f3a742d
DR
361 },
362
363 'Data::Dumper' => {
0fcd5a59 364 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
4f3a742d 365 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
366 },
367
368 'DB_File' => {
10af739e 369 'DISTRIBUTION' => 'PMQS/DB_File-1.829.tar.gz',
4f3a742d
DR
370 'FILES' => q[cpan/DB_File],
371 'EXCLUDED' => [
372 qr{^patches/},
373 qw( t/pod.t
374 fallback.h
375 fallback.xs
376 ),
377 ],
4f3a742d
DR
378 },
379
4f3a742d 380 'Devel::PPPort' => {
c74cf62f 381 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
099bebb1
SH
382 # RJBS has asked MHX to have UPSTREAM be 'blead'
383 # (i.e. move this from cpan/ to dist/)
4f3a742d 384 'FILES' => q[cpan/Devel-PPPort],
f81a37f2 385 'EXCLUDED' => ['PPPort.pm'], # we use PPPort_pm.PL instead
4f3a742d
DR
386 },
387
97b1d6e6 388 'Devel::SelfStubber' => {
97b1d6e6
SH
389 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
390 'FILES' => q[dist/Devel-SelfStubber],
391 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
392 },
393
4f3a742d 394 'Digest' => {
4f3a742d
DR
395 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
396 'FILES' => q[cpan/Digest],
397 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
398 },
399
400 'Digest::MD5' => {
aeb2a38c 401 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
402 'FILES' => q[cpan/Digest-MD5],
403 'EXCLUDED' => ['rfc1321.txt'],
8db65552
SH
404 # Waiting to be merged upstream: see CPAN RT#TODO
405 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
406 },
407
408 'Digest::SHA' => {
96d38a9d 409 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.85.tar.gz',
4f3a742d
DR
410 'FILES' => q[cpan/Digest-SHA],
411 'EXCLUDED' => [
412 qw( t/pod.t
413 t/podcover.t
414 examples/dups
415 ),
416 ],
4f3a742d
DR
417 },
418
4f3a742d 419 'Dumpvalue' => {
f6e46c4d 420 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
421 'FILES' => q[dist/Dumpvalue],
422 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
423 },
424
4f3a742d 425 'Encode' => {
369b9ffe 426 'DISTRIBUTION' => 'DANKOGAI/Encode-2.55.tar.gz',
4f3a742d 427 'FILES' => q[cpan/Encode],
4f3a742d
DR
428 },
429
430 'encoding::warnings' => {
4f3a742d
DR
431 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
432 'FILES' => q[cpan/encoding-warnings],
433 'EXCLUDED' => [
434 qr{^inc/Module/},
94c85d8e 435 qw(t/0-signature.t),
4f3a742d 436 ],
4f3a742d
DR
437 },
438
4f3a742d 439 'Env' => {
126fc07f 440 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
441 'FILES' => q[dist/Env],
442 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
443 },
444
4f3a742d 445 'Exporter' => {
b5de49e5 446 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
3110a055 447 'FILES' => q[dist/Exporter],
4f3a742d
DR
448 'EXCLUDED' => [
449 qw( t/pod.t
450 t/use.t
451 ),
452 ],
4f3a742d
DR
453 },
454
455 'ExtUtils::CBuilder' => {
a0e78e9f 456 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280212.tar.gz',
4f3a742d 457 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
458 'EXCLUDED' => [
459 qw(README.mkdn),
460 qr{^xt},
461 ],
4f3a742d
DR
462 },
463
464 'ExtUtils::Command' => {
044aa601 465 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
4f3a742d
DR
466 'FILES' => q[dist/ExtUtils-Command],
467 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
468 },
469
470 'ExtUtils::Constant' => {
4f3a742d
DR
471
472 # Nick has confirmed that while we have diverged from CPAN,
473 # this package isn't primarily maintained in core
474 # Another release will happen "Sometime"
475 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
476 'FILES' => q[cpan/ExtUtils-Constant],
477 'EXCLUDED' => [
478 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
479 examples/perl_keyword.pl
480 examples/perl_regcomp_posix_keyword.pl
481 ),
482 ],
4f3a742d
DR
483 },
484
485 'ExtUtils::Install' => {
4f3a742d
DR
486 'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
487 'FILES' => q[dist/ExtUtils-Install],
488 'EXCLUDED' => [
489 qw( t/lib/Test/Builder.pm
490 t/lib/Test/Builder/Module.pm
491 t/lib/Test/More.pm
492 t/lib/Test/Simple.pm
493 t/pod-coverage.t
494 t/pod.t
495 ),
496 ],
4f3a742d
DR
497 },
498
499 'ExtUtils::MakeMaker' => {
53d48b8b 500 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.80.tar.gz',
4f3a742d
DR
501 'FILES' => q[cpan/ExtUtils-MakeMaker],
502 'EXCLUDED' => [
503 qr{^t/lib/Test/},
504 qr{^(bundled|my)/},
505 qr{^t/Liblist_Kid.t},
506 qr{^t/liblist/},
78fd4358 507 qr{^\.perlcriticrc},
4f3a742d 508 ],
4f3a742d
DR
509 },
510
511 'ExtUtils::Manifest' => {
6db8f88e 512 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
4f3a742d
DR
513 'FILES' => q[dist/ExtUtils-Manifest],
514 'EXCLUDED' => [qr(t/release-.*\.t)],
4f3a742d
DR
515 },
516
517 'ExtUtils::ParseXS' => {
c0bf20e0 518 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.22.tar.gz',
4f3a742d 519 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
520 },
521
4f3a742d 522 'File::Fetch' => {
2900b141 523 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.44.tar.gz',
4f3a742d 524 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
525 },
526
4f3a742d 527 'File::Path' => {
8f65b4cd 528 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
529 'FILES' => q[cpan/File-Path],
530 'EXCLUDED' => [
531 qw( eg/setup-extra-tests
532 t/pod.t
533 )
534 ],
535 'MAP' => {
536 '' => 'cpan/File-Path/lib/File/',
537 't/' => 'cpan/File-Path/t/',
538 },
4f3a742d
DR
539 },
540
4f3a742d 541 'File::Temp' => {
3d5f905f 542 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
543 'FILES' => q[cpan/File-Temp],
544 'EXCLUDED' => [
545 qw( misc/benchmark.pl
546 misc/results.txt
547 ),
814e893f
CBW
548 qw[t/00-report-prereqs.t],
549 qr{^xt},
4f3a742d 550 ],
4f3a742d
DR
551 },
552
4f3a742d 553 'Filter::Simple' => {
c3958279 554 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
4f3a742d
DR
555 'FILES' => q[dist/Filter-Simple],
556 'EXCLUDED' => [
4f3a742d
DR
557 qr{^demo/}
558 ],
4f3a742d
DR
559 },
560
561 'Filter::Util::Call' => {
d8b87a9b 562 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
563 'FILES' => q[cpan/Filter-Util-Call
564 pod/perlfilter.pod
565 ],
566 'EXCLUDED' => [
567 qr{^decrypt/},
568 qr{^examples/},
569 qr{^Exec/},
570 qr{^lib/Filter/},
571 qr{^tee/},
572 qw( Call/Makefile.PL
573 Call/ppport.h
574 Call/typemap
575 mytest
576 t/cpp.t
577 t/decrypt.t
578 t/exec.t
579 t/order.t
580 t/pod.t
581 t/sh.t
582 t/tee.t
533d93cc
SH
583 t/z_kwalitee.t
584 t/z_meta.t
585 t/z_perl_minimum_version.t
586 t/z_pod-coverage.t
587 t/z_pod.t
4f3a742d
DR
588 ),
589 ],
590 'MAP' => {
591 'Call/' => 'cpan/Filter-Util-Call/',
592 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
593 'perlfilter.pod' => 'pod/perlfilter.pod',
594 '' => 'cpan/Filter-Util-Call/',
595 },
4f3a742d
DR
596 },
597
4f3a742d 598 'Getopt::Long' => {
7867c822 599 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
600 'FILES' => q[cpan/Getopt-Long],
601 'EXCLUDED' => [
602 qr{^examples/},
603 qw( perl-Getopt-Long.spec
604 lib/newgetopt.pl
974d5816 605 t/gol-compat.t
4f3a742d
DR
606 ),
607 ],
4f3a742d
DR
608 },
609
4f3a742d 610 'HTTP::Tiny' => {
1d28c016 611 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.036.tar.gz',
4f3a742d
DR
612 'FILES' => q[cpan/HTTP-Tiny],
613 'EXCLUDED' => [
4403b774 614 't/00-compile.t',
fcfb9f49 615 't/00-report-prereqs.t',
4f3a742d 616 't/200_live.t',
44347bc3 617 't/200_live_local_ip.t',
fcfb9f49 618 't/210_live_ssl.t',
4f3a742d
DR
619 qr/^eg/,
620 qr/^xt/
621 ],
4f3a742d
DR
622 },
623
624 'I18N::Collate' => {
4f3a742d
DR
625 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
626 'FILES' => q[dist/I18N-Collate],
627 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
628 },
629
4f3a742d 630 'I18N::LangTags' => {
4f3a742d 631 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
632 },
633
634 'if' => {
4f3a742d
DR
635 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
636 'FILES' => q[dist/if],
4f3a742d
DR
637 },
638
639 'IO' => {
4f3a742d
DR
640 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
641 'FILES' => q[dist/IO/],
642 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
643 },
644
645 'IO-Compress' => {
ef379d05 646 'DISTRIBUTION' => 'PMQS/IO-Compress-2.062.tar.gz',
4f3a742d
DR
647 'FILES' => q[cpan/IO-Compress],
648 'EXCLUDED' => [qr{t/Test/}],
4f3a742d
DR
649 },
650
651 'IO::Zlib' => {
4f3a742d
DR
652 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
653 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
654 },
655
656 'IPC::Cmd' => {
c7e51fe7 657 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.84.tar.gz',
4f3a742d 658 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
659 },
660
4f3a742d 661 'IPC::SysV' => {
dd0df890 662 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
663 'FILES' => q[cpan/IPC-SysV],
664 'EXCLUDED' => [
665 qw( const-c.inc
666 const-xs.inc
667 ),
668 ],
4f3a742d
DR
669 },
670
671 'JSON::PP' => {
be08498a 672 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d
DR
673 'FILES' => q[cpan/JSON-PP],
674 'EXCLUDED' => [
675 't/900_pod.t', # Pod testing
676 ],
4f3a742d
DR
677 },
678
679 'lib' => {
4f3a742d
DR
680 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
681 'FILES' => q[dist/lib/],
682 'EXCLUDED' => [
683 qw( forPAUSE/lib.pm
684 t/00pod.t
685 ),
686 ],
4f3a742d
DR
687 },
688
689 'libnet' => {
07513bb4 690 'DISTRIBUTION' => 'SHAY/libnet-1.23.tar.gz',
4f3a742d
DR
691 'FILES' => q[cpan/libnet],
692 'EXCLUDED' => [
693 qw( Configure
694 install-nomake
4f3a742d
DR
695 ),
696 ],
f81a37f2
SH
697 # Customized for perl since we cannot use either an auto-generated
698 # script or the version in the CPAN distro.
4f3a742d 699 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
700 },
701
702 'Locale-Codes' => {
94eda824 703 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.27.tar.gz',
4f3a742d
DR
704 'FILES' => q[cpan/Locale-Codes],
705 'EXCLUDED' => [
706 qw( t/pod_coverage.t
707 t/pod.t),
708 qr{^t/runtests},
709 qr{^t/runtests\.bat},
710 qr{^internal/},
711 qr{^examples/},
712 ],
4f3a742d
DR
713 },
714
715 'Locale::Maketext' => {
f318c24d 716 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
4f3a742d
DR
717 'FILES' => q[dist/Locale-Maketext],
718 'EXCLUDED' => [
719 qw(
720 perlcriticrc
721 t/00_load.t
722 t/pod.t
723 ),
724 ],
4f3a742d
DR
725 },
726
727 'Locale::Maketext::Simple' => {
4f3a742d
DR
728 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
729 'FILES' => q[cpan/Locale-Maketext-Simple],
730 'EXCLUDED' => [qr{^inc/}],
4f3a742d
DR
731 },
732
4f3a742d 733 'Math::BigInt' => {
4f3a742d
DR
734 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
735 'FILES' => q[dist/Math-BigInt],
736 'EXCLUDED' => [
737 qr{^inc/},
738 qr{^examples/},
739 qw( t/00sig.t
740 t/01load.t
741 t/02pod.t
742 t/03podcov.t
743 ),
744 ],
4f3a742d
DR
745 },
746
747 'Math::BigInt::FastCalc' => {
4f3a742d
DR
748 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
749 'FILES' => q[dist/Math-BigInt-FastCalc],
750 'EXCLUDED' => [
751 qr{^inc/},
752 qw( t/00sig.t
753 t/01load.t
754 t/02pod.t
755 t/03podcov.t
756 ),
757
758 # instead we use the versions of these test
759 # files that come with Math::BigInt:
760 qw( t/bigfltpm.inc
761 t/bigfltpm.t
762 t/bigintpm.inc
763 t/bigintpm.t
764 t/mbimbf.inc
765 t/mbimbf.t
766 ),
767 ],
4f3a742d
DR
768 },
769
770 'Math::BigRat' => {
4f3a742d
DR
771 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
772 'FILES' => q[dist/Math-BigRat],
773 'EXCLUDED' => [
774 qr{^inc/},
775 qw( t/00sig.t
776 t/01load.t
777 t/02pod.t
778 t/03podcov.t
779 ),
780 ],
4f3a742d
DR
781 },
782
783 'Math::Complex' => {
04ae1553 784 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
785 'FILES' => q[cpan/Math-Complex],
786 'EXCLUDED' => [
787 qw( t/pod.t
788 t/pod-coverage.t
789 ),
790 ],
4f3a742d
DR
791 },
792
793 'Memoize' => {
8114efa0 794 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
795 'FILES' => q[cpan/Memoize],
796 'EXCLUDED' => ['article.html'],
4f3a742d
DR
797 },
798
799 'MIME::Base64' => {
43f93048 800 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
801 'FILES' => q[cpan/MIME-Base64],
802 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
803 },
804
805 #
806 # To update Module-Build in blead see
236cbe8d 807 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
4f3a742d 808 #
462ea751 809
4f3a742d 810 'Module::Build' => {
d9be4ae3 811 'DISTRIBUTION' => 'LEONT/Module-Build-0.4007.tar.gz',
4f3a742d
DR
812 'FILES' => q[cpan/Module-Build],
813 'EXCLUDED' => [
814 qw( t/par.t
815 t/signature.t
816 ),
817 qr{^contrib/},
4f3a742d
DR
818 qr{^inc},
819 ],
f81a37f2 820 # Generated file, not part of the CPAN distro:
fae38280 821 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
47369ecd 822 'DEPRECATED' => '5.019000',
4f3a742d
DR
823 },
824
825 'Module::CoreList' => {
4c908bf5 826 'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.99.tar.gz',
4f3a742d 827 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
828 },
829
830 'Module::Load' => {
ba9b1d71 831 'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
4f3a742d 832 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
833 },
834
835 'Module::Load::Conditional' => {
6c52f6c9 836 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.58.tar.gz',
4f3a742d 837 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
838 },
839
840 'Module::Loaded' => {
4f3a742d
DR
841 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
842 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
843 },
844
845 'Module::Metadata' => {
d477c82b 846 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
847 'FILES' => q[cpan/Module-Metadata],
848 'EXCLUDED' => [
849 qr{^maint},
850 qr{^xt},
851 ],
4f3a742d
DR
852 },
853
4f3a742d 854 'Net::Ping' => {
4e0aac35 855 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 856 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
857 'EXCLUDED' => [
858 qr{^.travis.yml},
859 qr{^README.md},
860 ],
4f3a742d
DR
861 },
862
863 'NEXT' => {
4f3a742d
DR
864 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
865 'FILES' => q[cpan/NEXT],
866 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
867 },
868
4f3a742d 869 'Package::Constants' => {
4f3a742d
DR
870 'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
871 'FILES' => q[cpan/Package-Constants],
4f3a742d
DR
872 },
873
874 'Params::Check' => {
8b21fa03 875 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d
DR
876 'EXCLUDED' => ['Params-Check-0.26.tar.gz'],
877 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
878 },
879
880 'parent' => {
11100026 881 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 882 'FILES' => q[cpan/parent],
4f3a742d
DR
883 },
884
885 'Parse::CPAN::Meta' => {
7d7e3722 886 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4409.tar.gz',
4f3a742d 887 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710
CBW
888 'EXCLUDED' => [
889 qw(t/00-compile.t),
890 qw[t/00-report-prereqs.t],
891 qr{^xt},
892 ],
4f3a742d
DR
893 },
894
895 'PathTools' => {
061a8e13 896 'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
4f3a742d
DR
897 'FILES' => q[dist/Cwd],
898 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
899
900 # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
901 # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
902 # that the leafname of some file corresponds with the pathname of the
903 # directory.
904 },
905
97b1d6e6 906 'Perl::OSType' => {
e9d1f52f 907 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.006.tar.gz',
97b1d6e6 908 'FILES' => q[cpan/Perl-OSType],
765955c0 909 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
910 },
911
97b1d6e6 912 'perlfaq' => {
97b1d6e6
SH
913 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
914 'FILES' => q[cpan/perlfaq],
915 'EXCLUDED' => [
916 qw( t/release-pod-syntax.t
917 t/release-eol.t
918 t/release-no-tabs.t
919 )
920 ],
97b1d6e6
SH
921 },
922
4f3a742d 923 'PerlIO::via::QuotedPrint' => {
7e286960 924 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 925 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
926
927 # Waiting to be merged upstream: see CPAN RT#54047
928 'CUSTOMIZED' => [
929 qw( t/QuotedPrint.t
930 ),
931 ],
932
4f3a742d
DR
933 },
934
0c501878 935 'Pod::Checker' => {
0c501878
CBW
936 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
937 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
938 },
939
4f3a742d 940 'Pod::Escapes' => {
4f3a742d
DR
941 'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
942 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
943 },
944
4f3a742d 945 'Pod::Parser' => {
9a031c8e 946 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
4f3a742d 947 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
948 },
949
950 'Pod::Perldoc' => {
cb1974ba 951 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.20.tar.gz',
00e518b3 952 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d
DR
953
954 # in blead, the perldoc executable is generated by perldoc.PL
955 # instead
956 # XXX We can and should fix this, but clean up the DRY-failure in utils
957 # first
958 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
959 },
960
961 'Pod::Simple' => {
b5ae6e74 962 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 963 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
964 },
965
0c501878 966 'Pod::Usage' => {
2ed39982 967 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 968 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
969 },
970
4f3a742d 971 'podlators' => {
b52cde68 972 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
973 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
974
975 # The perl distribution has pod2man.PL and pod2text.PL, which are
976 # run to create pod2man and pod2text, while the CPAN distribution
977 # just has the post-generated pod2man and pod2text files.
978 # The following entries attempt to codify that odd fact.
979 'CUSTOMIZED' => [
980 qw( scripts/pod2man.PL
981 scripts/pod2text.PL
4f3a742d
DR
982 ),
983 ],
984 'MAP' => {
985 '' => 'cpan/podlators/',
986 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
987 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
988
989 # this file lives outside the cpan/ directory
990 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
991 },
4f3a742d
DR
992 },
993
4f3a742d 994 'Safe' => {
e739c653 995 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 996 'FILES' => q[dist/Safe],
4f3a742d
DR
997 },
998
999 'Scalar-List-Utils' => {
e99e4210 1000 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.34.tar.gz',
4f3a742d
DR
1001 'FILES' => q[cpan/List-Util],
1002 'EXCLUDED' => [
1003 qr{^inc/Module/},
1004 qr{^inc/Test/},
1005 'mytypemap',
1006 ],
4f3a742d
DR
1007 },
1008
4f3a742d 1009 'Search::Dict' => {
0b0a7092 1010 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 1011 'FILES' => q[dist/Search-Dict],
0b0a7092 1012 'EXCLUDED' => [qr{^t/release-.*\.t},qr{^README\..*}],
4f3a742d
DR
1013 },
1014
1015 'SelfLoader' => {
c3958279 1016 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1017 'FILES' => q[dist/SelfLoader],
1018 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1019 },
1020
4f3a742d 1021 'Socket' => {
406cccc2 1022 'DISTRIBUTION' => 'PEVANS/Socket-2.012.tar.gz',
4f3a742d 1023 'FILES' => q[cpan/Socket],
4f3a742d
DR
1024 },
1025
1026 'Storable' => {
8371a44d 1027 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d
DR
1028 'FILES' => q[dist/Storable],
1029 'EXCLUDED' => [qr{^t/Test/}],
4f3a742d
DR
1030 },
1031
4f3a742d 1032 'Sys::Syslog' => {
848ca32c 1033 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1034 'FILES' => q[cpan/Sys-Syslog],
1035 'EXCLUDED' => [
1036 qr{^eg/},
1037 qw( t/data-validation.t
1038 t/distchk.t
1039 t/pod.t
1040 t/podcover.t
1041 t/podspell.t
1042 t/portfs.t
1043 win32/PerlLog.RES
4f3a742d
DR
1044 ),
1045 ],
4f3a742d
DR
1046 },
1047
1048 'Term::ANSIColor' => {
522ce57f 1049 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1050 'FILES' => q[cpan/Term-ANSIColor],
1051 'EXCLUDED' => [
1052 qr{^tests/},
92f80b37
CBW
1053 qr{^examples/},
1054 qr{^t/data/},
1055 qw( t/aliases-env.t
1056 t/critic.t
1057 t/minimum-version.t
1058 t/pod-spelling.t
1059 t/pod-coverage.t
4f3a742d 1060 t/pod.t
92f80b37
CBW
1061 t/strict.t
1062 t/synopsis.t
4f3a742d
DR
1063 ),
1064 ],
4f3a742d
DR
1065 },
1066
1067 'Term::Cap' => {
4f3a742d
DR
1068 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1069 'FILES' => q[cpan/Term-Cap],
f81a37f2
SH
1070
1071 # Waiting to be merged upstream: see CPAN RT#73447
1072 'CUSTOMIZED' => [
1073 qw( Cap.pm
1074 test.pl
1075 ),
1076 ],
1077
4f3a742d
DR
1078 },
1079
1080 'Term::Complete' => {
4f3a742d
DR
1081 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1082 'FILES' => q[dist/Term-Complete],
1083 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1084 },
1085
1086 'Term::ReadLine' => {
75ad3638 1087 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1088 'FILES' => q[dist/Term-ReadLine],
1089 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1090 },
1091
4f3a742d 1092 'Test' => {
1c22e001 1093 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1094 'FILES' => q[cpan/Test],
4f3a742d
DR
1095 },
1096
1097 'Test::Harness' => {
befb5359 1098 'DISTRIBUTION' => 'OVID/Test-Harness-3.29.tar.gz',
4f3a742d
DR
1099 'FILES' => q[cpan/Test-Harness],
1100 'EXCLUDED' => [
1101 qr{^examples/},
1102 qr{^inc/},
1103 qr{^t/lib/Test/},
1104 qr{^xt/},
1105 qw( Changes-2.64
8db65552 1106 MANIFEST.CUMMULATIVE
4f3a742d
DR
1107 NotBuild.PL
1108 HACKING.pod
1109 perlcriticrc
8db65552 1110 t/000-load.t
4f3a742d
DR
1111 t/lib/if.pm
1112 ),
1113 ],
4f3a742d
DR
1114 },
1115
1116 'Test::Simple' => {
411e93ce 1117 'DISTRIBUTION' => 'RJBS/Test-Simple-0.99.tar.gz',
4f3a742d
DR
1118 'FILES' => q[cpan/Test-Simple],
1119 'EXCLUDED' => [
1120 qw( .perlcriticrc
1121 .perltidyrc
1122 t/00compile.t
1123 t/pod.t
1124 t/pod-coverage.t
1125 t/Builder/reset_outputs.t
1126 lib/Test/Builder/IO/Scalar.pm
1127 ),
1128 ],
4f3a742d
DR
1129 },
1130
1131 'Text::Abbrev' => {
5e96eee9 1132 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1133 'FILES' => q[dist/Text-Abbrev],
1134 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1135 },
1136
1137 'Text::Balanced' => {
4f3a742d
DR
1138 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1139 'FILES' => q[cpan/Text-Balanced],
1140 'EXCLUDED' => [
1141 qw( t/97_meta.t
1142 t/98_pod.t
1143 t/99_pmv.t
1144 ),
1145 ],
f81a37f2
SH
1146
1147 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1148 'CUSTOMIZED' => [
1149 qw( t/01_compile.t
1150 t/02_extbrk.t
1151 t/03_extcbk.t
1152 t/04_extdel.t
1153 t/05_extmul.t
1154 t/06_extqlk.t
1155 t/07_exttag.t
1156 t/08_extvar.t
1157 t/09_gentag.t
1158 ),
1159 ],
f81a37f2 1160
4f3a742d
DR
1161 },
1162
1163 'Text::ParseWords' => {
33954ec3 1164 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d
DR
1165 'FILES' => q[cpan/Text-ParseWords],
1166 'EXCLUDED' => ['t/pod.t'],
1167
f81a37f2
SH
1168 # Waiting to be merged upstream: see CPAN RT#50929
1169 'CUSTOMIZED' => [
1170 qw( t/ParseWords.t
1171 t/taint.t
1172 ),
1173 ],
1174
4f3a742d
DR
1175 # For the benefit of make_ext.pl, we have to have this accessible:
1176 'MAP' => {
1177 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1178 '' => 'cpan/Text-ParseWords/',
1179 },
4f3a742d
DR
1180 },
1181
4f3a742d 1182 'Text-Tabs+Wrap' => {
83aea42c 1183 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1184 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1185 'EXCLUDED' => [
1186 qr/^lib\.old/,
1187 't/dnsparks.t', # see af6492bf9e
4f3a742d 1188 ],
e7b92d54
SH
1189 'MAP' => {
1190 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1191 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1192 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1193 },
4f3a742d
DR
1194 },
1195
1196 'Thread::Queue' => {
c7bac10a 1197 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
4f3a742d
DR
1198 'FILES' => q[dist/Thread-Queue],
1199 'EXCLUDED' => [
1fd4700e
JH
1200 qr{^examples/},
1201 qw( t/00_load.t
4f3a742d
DR
1202 t/99_pod.t
1203 t/test.pl
1204 ),
1205 ],
4f3a742d
DR
1206 },
1207
1208 'Thread::Semaphore' => {
4f3a742d
DR
1209 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1210 'FILES' => q[dist/Thread-Semaphore],
1211 'EXCLUDED' => [
1212 qw( examples/semaphore.pl
1213 t/00_load.t
1214 t/99_pod.t
1215 t/test.pl
1216 ),
1217 ],
4f3a742d
DR
1218 },
1219
1220 'threads' => {
6d76e7fc 1221 'DISTRIBUTION' => 'JDHEDDEN/threads-1.89.tar.gz',
4f3a742d
DR
1222 'FILES' => q[dist/threads],
1223 'EXCLUDED' => [
1224 qr{^examples/},
1225 qw( t/pod.t
1226 t/test.pl
1227 threads.h
1228 ),
1229 ],
4f3a742d
DR
1230 },
1231
1232 'threads::shared' => {
5a016e9b 1233 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
4f3a742d
DR
1234 'FILES' => q[dist/threads-shared],
1235 'EXCLUDED' => [
1236 qw( examples/class.pl
1237 shared.h
1238 t/pod.t
1239 t/test.pl
1240 ),
1241 ],
4f3a742d
DR
1242 },
1243
1244 'Tie::File' => {
c0504019
TR
1245 'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1246 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1247 },
1248
4f3a742d 1249 'Tie::RefHash' => {
4f3a742d
DR
1250 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1251 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1252 },
1253
1254 'Time::HiRes' => {
0f0eae2c 1255 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1256 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1257 },
1258
1259 'Time::Local' => {
62e824cf 1260 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1261 'FILES' => q[cpan/Time-Local],
1262 'EXCLUDED' => [
1263 qw( t/pod-coverage.t
1264 t/pod.t
1265 ),
62e824cf 1266 qr{^t/release-.*\.t},
4f3a742d 1267 ],
4f3a742d
DR
1268 },
1269
1270 'Time::Piece' => {
9bc7f50b 1271 'DISTRIBUTION' => 'RJBS/Time-Piece-1.23.tar.gz',
4f3a742d 1272 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1273 },
1274
1275 'Unicode::Collate' => {
60f577e0 1276 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.99.tar.gz',
4f3a742d
DR
1277 'FILES' => q[cpan/Unicode-Collate],
1278 'EXCLUDED' => [
1279 qr{N$},
1280 qr{^data/},
1281 qr{^gendata/},
1282 qw( disableXS
1283 enableXS
1284 mklocale
1285 ),
1286 ],
4f3a742d
DR
1287 },
1288
1289 'Unicode::Normalize' => {
65e3945f 1290 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz',
4f3a742d
DR
1291 'FILES' => q[cpan/Unicode-Normalize],
1292 'EXCLUDED' => [
1293 qw( MANIFEST.N
1294 Normalize.pmN
1295 disableXS
1296 enableXS
1297 ),
1298 ],
4f3a742d
DR
1299 },
1300
4f3a742d 1301 'version' => {
5565c738 1302 'DISTRIBUTION' => 'JPEACOCK/version-0.9904.tar.gz',
fb794281 1303 'FILES' => q[cpan/version],
4f3a742d 1304 'EXCLUDED' => [
4f3a742d
DR
1305 qr{^vutil/},
1306 'lib/version/typemap',
1307 't/survey_locales',
1308 'vperl/vpp.pm',
1309 ],
f81a37f2
SH
1310
1311 # Waiting to be merged upstream: see CPAN RT#87513
1312 'CUSTOMIZED' => [
1313 qw( lib/version.pm
f81a37f2 1314 t/07locale.t
5565c738 1315 t/08_corelist.t
f81a37f2
SH
1316 ),
1317 ],
1318
099bebb1 1319 # Remove this (so it reverts to 'cpan') when [cpan #88458] is resolved
631e7974 1320 'UPSTREAM' => 'blead',
4f3a742d
DR
1321 },
1322
4f3a742d 1323 'VMS::DCLsym' => {
872818ae 1324 'MAINTAINER' => 'CBERRY',
4f3a742d 1325 'FILES' => q[ext/VMS-DCLsym],
4f3a742d
DR
1326 },
1327
1328 'VMS::Stdio' => {
872818ae 1329 'MAINTAINER' => 'CBERRY',
4f3a742d 1330 'FILES' => q[ext/VMS-Stdio],
4f3a742d
DR
1331 },
1332
1333 'warnings' => {
872818ae 1334 'MAINTAINER' => 'PMQS',
099bebb1 1335 'FILES' => q[
4f3a742d 1336 lib/warnings
099bebb1
SH
1337 lib/warnings.{pm,t}
1338 regen/warnings.pl
4f3a742d 1339 t/lib/warnings
099bebb1 1340 ],
4f3a742d
DR
1341 },
1342
4f3a742d 1343 'Win32' => {
7772d855 1344 'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
4f3a742d 1345 'FILES' => q[cpan/Win32],
4f3a742d
DR
1346 },
1347
1348 'Win32API::File' => {
113b1f2c 1349 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1350 'FILES' => q[cpan/Win32API-File],
1351 'EXCLUDED' => [
1352 qr{^ex/},
1353 't/pod.t',
1354 ],
4f3a742d
DR
1355 },
1356
c22ebd5c
SH
1357 'Win32CORE' => {
1358 'MAINTAINER' => 'JDB',
1359 'FILES' => q[ext/Win32CORE],
c22ebd5c
SH
1360 },
1361
4f3a742d 1362 'XSLoader' => {
681a49bf 1363 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1364 'FILES' => q[dist/XSLoader],
1365 'EXCLUDED' => [
1366 qr{^eg/},
57f9caa0
SH
1367 qw( t/00-load.t
1368 t/01-api.t
1369 t/distchk.t
1370 t/pod.t
4f3a742d
DR
1371 t/podcover.t
1372 t/portfs.t
1373 ),
1374 'XSLoader.pm', # we use XSLoader_pm.PL
1375 ],
4f3a742d
DR
1376 },
1377
462ea751
DM
1378 # this pseudo-module represents all the files under ext/ and lib/
1379 # that aren't otherwise claimed. This means that the following two
1380 # commands will check that every file under ext/ and lib/ is
1381 # accounted for, and that there are no duplicates:
1382 #
1383 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1384 # perl Porting/Maintainers --checkmani
462ea751 1385
4f3a742d 1386 '_PERLLIB' => {
2af3c4b9
SH
1387 'FILES' => q[
1388 ext/Devel-Peek/
1389 ext/DynaLoader/
1390 ext/Errno/
7b4d95f7 1391 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1392 ext/Fcntl/
1393 ext/File-DosGlob/
1394 ext/File-Find/
1395 ext/File-Glob/
1396 ext/FileCache/
1397 ext/GDBM_File/
1398 ext/Hash-Util-FieldHash/
1399 ext/Hash-Util/
1400 ext/I18N-Langinfo/
1401 ext/IPC-Open3/
1402 ext/NDBM_File/
1403 ext/ODBM_File/
1404 ext/Opcode/
1405 ext/POSIX/
1406 ext/PerlIO-encoding/
1407 ext/PerlIO-mmap/
1408 ext/PerlIO-scalar/
1409 ext/PerlIO-via/
1410 ext/Pod-Functions/
1411 ext/Pod-Html/
1412 ext/SDBM_File/
1413 ext/Sys-Hostname/
1414 ext/Tie-Hash-NamedCapture/
1415 ext/Tie-Memoize/
1416 ext/VMS-Filespec/
4f3a742d 1417 ext/XS-APItest/
2af3c4b9
SH
1418 ext/XS-Typemap/
1419 ext/arybase/
1420 ext/attributes/
1421 ext/mro/
1422 ext/re/
1423 lib/AnyDBM_File.{pm,t}
1424 lib/Benchmark.{pm,t}
4f3a742d 1425 lib/CORE.pod
2af3c4b9 1426 lib/Class/Struct.{pm,t}
4f3a742d
DR
1427 lib/Config.t
1428 lib/Config/Extensions.{pm,t}
1429 lib/DB.{pm,t}
2af3c4b9
SH
1430 lib/DBM_Filter.pm
1431 lib/DBM_Filter/
1432 lib/DirHandle.{pm,t}
1433 lib/English.{pm,t}
4f3a742d
DR
1434 lib/ExtUtils/Embed.pm
1435 lib/ExtUtils/XSSymSet.pm
1436 lib/ExtUtils/t/Embed.t
1437 lib/ExtUtils/typemap
2af3c4b9
SH
1438 lib/File/Basename.{pm,t}
1439 lib/File/Compare.{pm,t}
1440 lib/File/Copy.{pm,t}
1441 lib/File/stat{.pm,.t,-7896.t}
1442 lib/FileHandle.{pm,t}
1443 lib/FindBin.{pm,t}
1444 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1445 lib/Internals.t
1446 lib/Net/hostent.{pm,t}
1447 lib/Net/netent.{pm,t}
1448 lib/Net/protoent.{pm,t}
1449 lib/Net/servent.{pm,t}
2af3c4b9 1450 lib/PerlIO.pm
4f3a742d
DR
1451 lib/Pod/t/InputObjects.t
1452 lib/Pod/t/Select.t
1453 lib/Pod/t/Usage.t
4f3a742d
DR
1454 lib/Pod/t/utils.t
1455 lib/SelectSaver.{pm,t}
1456 lib/Symbol.{pm,t}
1457 lib/Thread.{pm,t}
1458 lib/Tie/Array.pm
1459 lib/Tie/Array/
1460 lib/Tie/ExtraHash.t
1461 lib/Tie/Handle.pm
1462 lib/Tie/Handle/
2af3c4b9 1463 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1464 lib/Tie/Scalar.{pm,t}
1465 lib/Tie/StdHandle.pm
1466 lib/Tie/SubstrHash.{pm,t}
1467 lib/Time/gmtime.{pm,t}
1468 lib/Time/localtime.{pm,t}
1469 lib/Time/tm.pm
1470 lib/UNIVERSAL.pm
1471 lib/Unicode/README
2af3c4b9 1472 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1473 lib/User/grent.{pm,t}
1474 lib/User/pwent.{pm,t}
2af3c4b9 1475 lib/_charnames.pm
4f3a742d
DR
1476 lib/blib.{pm,t}
1477 lib/bytes.{pm,t}
1478 lib/bytes_heavy.pl
1479 lib/charnames.{pm,t}
1480 lib/dbm_filter_util.pl
1481 lib/deprecate.pm
2af3c4b9 1482 lib/diagnostics.{pm,t}
4f3a742d
DR
1483 lib/dumpvar.{pl,t}
1484 lib/feature.{pm,t}
1485 lib/feature/
1486 lib/filetest.{pm,t}
1487 lib/h2ph.t
1488 lib/h2xs.t
1489 lib/integer.{pm,t}
1490 lib/less.{pm,t}
1491 lib/locale.{pm,t}
1492 lib/open.{pm,t}
1493 lib/overload/numbers.pm
1494 lib/overloading.{pm,t}
2af3c4b9 1495 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1496 lib/perl5db.{pl,t}
1497 lib/perl5db/
2af3c4b9 1498 lib/sigtrap.{pm,t}
4f3a742d
DR
1499 lib/sort.{pm,t}
1500 lib/strict.{pm,t}
1501 lib/subs.{pm,t}
1502 lib/unicore/
1503 lib/utf8.{pm,t}
1504 lib/utf8_heavy.pl
1505 lib/vars{.pm,.t,_carp.t}
1506 lib/vmsish.{pm,t}
1507 ],
4f3a742d 1508 },
462ea751 1509);
b128a327 1510
97556ec3 1511# legacy CPAN flag
4f3a742d 1512for ( values %Modules ) {
97556ec3
GA
1513 $_->{CPAN} = !!$_->{DISTRIBUTION};
1514}
1515
099bebb1
SH
1516# legacy UPSTREAM flag
1517for ( keys %Modules ) {
1518 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1519 next if exists $Modules{$_}{UPSTREAM};
1520
1521 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1522 $Modules{$_}{UPSTREAM} = 'blead';
1523 }
1524 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1525 $Modules{$_}{UPSTREAM} = 'cpan';
1526 }
1527 else {
1528 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1529 }
1530}
1531
d350de41 1532# legacy MAINTAINER field
099bebb1
SH
1533for ( keys %Modules ) {
1534 # Honour any existing MAINTAINER flag for now, but we'd like to remove them
1535 next if exists $Modules{$_}{MAINTAINER};
1536
1537 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1538 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1539 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1540 }
099bebb1
SH
1541 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1542 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1543 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1544 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1545 }
099bebb1
SH
1546 else {
1547 warn "No DISTRIBUTION for non-blead module $_";
1548 }
d350de41
SH
1549}
1550
b128a327 15511;