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