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