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