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