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