This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
... And now for something completely different
[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
9cd8e8a5
MB
21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.md
22 CONTRIBUTING.mkdn COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY
23 INSTALL INSTALL.SKIP LICENCE LICENSE Makefile.PL MANIFEST MANIFEST.SKIP
24 META.json META.yml MYMETA.json MYMETA.yml NEW NEWS NOTES perlcritic.rc
25 ppport.h README README.md README.pod README.PATCHING SIGNATURE THANKS TODO
26 Todo VERSION WHATSNEW
2c95b6e4
DM
27);
28
e30e10b5 29# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 30# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
31# CPAN distribution.
32
33# The keys of %Modules are human descriptions of the distributions, and
34# may not exactly match a module or distribution name. Distributions
35# which have an obvious top-level module associated with them will usually
36# have a key named for that module, e.g. 'Archive::Extract' for
37# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
38# on the name of the distribution, e.g. 'Locale-Codes' for
39# Locale-Codes-N.NN.tar.gz'.
d350de41 40
099bebb1
SH
41# UPSTREAM indicates where patches should go. This is generally now
42# inferred from the FILES: modules with files in dist/, ext/ and lib/
43# are understood to have UPSTREAM 'blead', meaning that the copy of the
44# module in the blead sources is to be considered canonical, while
45# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
46# meaning that the module on CPAN is to be patched first.
47
b3dcf775
SH
48# MAINTAINER has previously been used to indicate who the current maintainer
49# of the module is, but this is no longer stated explicitly. It is now
50# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
51# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
a40258e5 52# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-2.00.tar.gz'.
b3dcf775
SH
53# (PAUSE's View Permissions page may be consulted to find other authors who
54# have owner or co-maint permissions for the module in question.)
d350de41 55
e30e10b5
DM
56# FILES is a list of filenames, glob patterns, and directory
57# names to be recursed down, which collectively generate a complete list
58# of the files associated with the distribution.
59
e1466347
JC
60# BUGS is an email or url to post bug reports. For modules with
61# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
62# appears to automatically provide a URL for CPAN modules; any value
63# given here overrides the default:
64# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
65
a55d270d
DM
66# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
67# included in core are derived from. Note that the file's version may not
68# necessarily match the newest version on CPAN.
69
2c95b6e4
DM
70# EXCLUDED is a list of files to be excluded from a CPAN tarball before
71# comparing the remaining contents with core. Each item can either be a
72# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
73# It defaults to the empty list.
74
d43babf1 75# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
76# Perl core. Use this whenever patching a cpan upstream distribution
77# or whenever we expect to have a file that differs from the tarball.
78# If the file in blead matches the file in the tarball from CPAN,
79# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 80# customization might have been lost when updating from upstream. The
f81a37f2
SH
81# path should be relative to the distribution directory. If the upstream
82# distribution should be modified to incorporate the change then be sure
83# to raise a ticket for it on rt.cpan.org and add a comment alongside the
84# list of CUSTOMIZED files noting the ticket number.
d43babf1 85
ab87ca4d
DG
86# DEPRECATED contains the *first* version of Perl in which the module
87# was considered deprecated. It should only be present if the module is
8dad89f0 88# actually deprecated. Such modules should use deprecate.pm to
ab87ca4d
DG
89# issue a warning if used. E.g.:
90#
91# use if $] >= 5.011, 'deprecate';
92#
93
2c95b6e4 94# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 95# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
96# first. The first match causes that prefix to be replaced with the
97# corresponding key. For example, with the following MAP:
613f422f 98# {
4f3a742d
DR
99# 'lib/' => 'lib/',
100# '' => 'lib/Foo/',
2c95b6e4
DM
101# },
102#
103# these files are mapped as shown:
104#
105# README becomes lib/Foo/README
613f422f 106# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
107#
108# The default is dependent on the type of module.
109# For distributions which appear to be stored under ext/, it defaults to:
110#
111# { '' => 'ext/Foo-Bar/' }
112#
113# otherwise, it's
114#
613f422f 115# {
4f3a742d
DR
116# 'lib/' => 'lib/',
117# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
118# }
119
b128a327
JH
120%Modules = (
121
4f3a742d 122 'Archive::Tar' => {
7346c75e 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.26.tar.gz',
4f3a742d 124 'FILES' => q[cpan/Archive-Tar],
4f3a742d 125 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
126 'EXCLUDED' => [
127 qw(t/07_ptardiff.t),
128 ],
4f3a742d
DR
129 },
130
131 'Attribute::Handlers' => {
e8b9cef0 132 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 133 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
134 },
135
4f3a742d 136 'autodie' => {
dc013420 137 'DISTRIBUTION' => 'PJF/autodie-2.29.tar.gz',
4f3a742d
DR
138 'FILES' => q[cpan/autodie],
139 'EXCLUDED' => [
273225d4 140 qr{benchmarks},
f91d7e0d 141 qr{README\.md},
4f3a742d
DR
142 # All these tests depend upon external
143 # modules that don't exist when we're
144 # building the core. Hence, they can
145 # never run, and should not be merged.
ff4ad1c0 146 qw( t/author-critic.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 ],
1a74a75d
DM
159 # CPAN RT 105344
160 'CUSTOMIZED' => [ qw[ t/mkdir.t ] ],
4f3a742d
DR
161 },
162
163 'AutoLoader' => {
dff36865 164 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
165 'FILES' => q[cpan/AutoLoader],
166 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
167 },
168
169 'autouse' => {
965f9517 170 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
4f3a742d
DR
171 'FILES' => q[dist/autouse],
172 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
173 },
174
9e01a143 175 'B::Debug' => {
0283ad96 176 'DISTRIBUTION' => 'RURBAN/B-Debug-1.25.tar.gz',
9e01a143
DIM
177 'FILES' => q[cpan/B-Debug],
178 'EXCLUDED' => ['t/pod.t'],
179 },
180
4f3a742d 181 'base' => {
4c13dc7e 182 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 183 'FILES' => q[dist/base],
4f3a742d
DR
184 },
185
4f3a742d 186 'bignum' => {
d96523cf 187 'DISTRIBUTION' => 'PJACKLAM/bignum-0.47.tar.gz',
c287fe32 188 'FILES' => q[cpan/bignum],
4f3a742d 189 'EXCLUDED' => [
91f07087 190 qr{^t/author-},
c287fe32
SH
191 qw( t/00sig.t
192 t/01load.t
193 t/02pod.t
194 t/03podcov.t
4f3a742d
DR
195 ),
196 ],
4f3a742d
DR
197 },
198
199 'Carp' => {
ba705463 200 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
4f3a742d 201 'FILES' => q[dist/Carp],
4f3a742d
DR
202 },
203
4f3a742d 204 'Compress::Raw::Bzip2' => {
328668c7 205 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.074.tar.gz',
4f3a742d
DR
206 'FILES' => q[cpan/Compress-Raw-Bzip2],
207 'EXCLUDED' => [
208 qr{^t/Test/},
65b62fea 209 'bzip2-src/bzip2-const.patch',
4f3a742d 210 'bzip2-src/bzip2-cpp.patch',
65b62fea 211 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 212 ],
4f3a742d
DR
213 },
214
215 'Compress::Raw::Zlib' => {
70a3f1a0 216 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.074.tar.gz',
4f3a742d
DR
217
218 'FILES' => q[cpan/Compress-Raw-Zlib],
219 'EXCLUDED' => [
84c82da4 220 qr{^examples/},
4f3a742d
DR
221 qr{^t/Test/},
222 qw( t/000prereq.t
223 t/99pod.t
224 ),
225 ],
4f3a742d
DR
226 },
227
4b07058c 228 'Config::Perl::V' => {
834069b8 229 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.27.tgz',
4b07058c 230 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
231 'EXCLUDED' => [qw(
232 examples/show-v.pl
b4ade012 233 )],
4b07058c
RS
234 },
235
4f3a742d 236 'constant' => {
8b1ae794 237 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
238 'FILES' => q[dist/constant],
239 'EXCLUDED' => [
240 qw( t/00-load.t
241 t/more-tests.t
242 t/pod-coverage.t
243 t/pod.t
244 eg/synopsis.pl
245 ),
246 ],
4f3a742d
DR
247 },
248
249 'CPAN' => {
755cc9a5 250 'DISTRIBUTION' => 'ANDK/CPAN-2.18-TRIAL.tar.gz',
4f3a742d
DR
251 'FILES' => q[cpan/CPAN],
252 'EXCLUDED' => [
253 qr{^distroprefs/},
254 qr{^inc/Test/},
45a13884
SH
255 qr{^t/CPAN/},
256 qr{^t/data/},
79116533 257 qr{^t/97-},
4f3a742d 258 qw( lib/CPAN/Admin.pm
6156383d 259 scripts/cpan-mirrors
bfae5bde 260 PAUSE2015.pub
4f3a742d
DR
261 SlayMakefile
262 t/00signature.t
263 t/04clean_load.t
264 t/12cpan.t
265 t/13tarzip.t
266 t/14forkbomb.t
267 t/30shell.coverage
268 t/30shell.t
269 t/31sessions.t
270 t/41distribution.t
271 t/42distroprefs.t
272 t/43distroprefspref.t
45a13884 273 t/44cpanmeta.t
4f3a742d
DR
274 t/50pod.t
275 t/51pod.t
276 t/52podcover.t
277 t/60credentials.t
278 t/70_critic.t
bfae5bde 279 t/71_minimumversion.t
4f3a742d
DR
280 t/local_utils.pm
281 t/perlcriticrc
282 t/yaml_code.yml
283 ),
284 ],
4f3a742d
DR
285 },
286
278337cd
CBW
287 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
288 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 289 'CPAN::Meta' => {
f33f0562 290 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
4f3a742d
DR
291 'FILES' => q[cpan/CPAN-Meta],
292 'EXCLUDED' => [
f907dd3c
SH
293 qw[t/00-report-prereqs.t
294 t/00-report-prereqs.dd
f33f0562 295 ],
4f3a742d
DR
296 qr{^xt},
297 qr{^history},
298 ],
4f3a742d
DR
299 },
300
b6ae0ea7 301 'CPAN::Meta::Requirements' => {
054d0c99 302 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
303 'FILES' => q[cpan/CPAN-Meta-Requirements],
304 'EXCLUDED' => [
c4814040 305 qw(t/00-report-prereqs.t),
54b7cb30 306 qw(t/00-report-prereqs.dd),
608e531f 307 qw(t/version-cleanup.t),
b6ae0ea7 308 qr{^xt},
b6ae0ea7 309 ],
b6ae0ea7
CBW
310 },
311
4f3a742d 312 'CPAN::Meta::YAML' => {
0d99ea03 313 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
314 'FILES' => q[cpan/CPAN-Meta-YAML],
315 'EXCLUDED' => [
2954a1e9 316 't/00-report-prereqs.t',
e586de20 317 't/00-report-prereqs.dd',
4f3a742d
DR
318 qr{^xt},
319 ],
4f3a742d
DR
320 },
321
322 'Data::Dumper' => {
d8cc0e43 323 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.161.tar.gz',
4f3a742d 324 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
325 },
326
327 'DB_File' => {
74f485aa 328 'DISTRIBUTION' => 'PMQS/DB_File-1.840.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' => {
874389ae 340 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.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
84c82da4 346 ]
4f3a742d
DR
347 },
348
97b1d6e6 349 'Devel::SelfStubber' => {
97b1d6e6
SH
350 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
351 'FILES' => q[dist/Devel-SelfStubber],
352 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
353 },
354
4f3a742d 355 'Digest' => {
4f3a742d
DR
356 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
357 'FILES' => q[cpan/Digest],
358 'EXCLUDED' => ['digest-bench'],
8b56300e
TC
359 'CUSTOMIZED' => [
360 # CVE-2016-1238
361 qw( Digest.pm )
362 ],
4f3a742d
DR
363 },
364
365 'Digest::MD5' => {
05a6ec77 366 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
4f3a742d
DR
367 'FILES' => q[cpan/Digest-MD5],
368 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
369 },
370
371 'Digest::SHA' => {
e05a9d74 372 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.96.tar.gz',
4f3a742d
DR
373 'FILES' => q[cpan/Digest-SHA],
374 'EXCLUDED' => [
375 qw( t/pod.t
376 t/podcover.t
377 examples/dups
378 ),
379 ],
4f3a742d
DR
380 },
381
4f3a742d 382 'Dumpvalue' => {
f6e46c4d 383 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
384 'FILES' => q[dist/Dumpvalue],
385 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
386 },
387
4f3a742d 388 'Encode' => {
3f60a930 389 'DISTRIBUTION' => 'DANKOGAI/Encode-2.92.tar.gz',
4f3a742d 390 'FILES' => q[cpan/Encode],
4f3a742d
DR
391 },
392
393 'encoding::warnings' => {
4f3a742d 394 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 395 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
396 'EXCLUDED' => [
397 qr{^inc/Module/},
94c85d8e 398 qw(t/0-signature.t),
4f3a742d 399 ],
4f3a742d
DR
400 },
401
4f3a742d 402 'Env' => {
126fc07f 403 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
404 'FILES' => q[dist/Env],
405 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
406 },
407
de84ff2b 408 'experimental' => {
4fdcb09b 409 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
de84ff2b 410 'FILES' => q[cpan/experimental],
4fdcb09b 411 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
412 },
413
4f3a742d 414 'Exporter' => {
b4d1bf31 415 'DISTRIBUTION' => 'TODDR/Exporter-5.72.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' => {
83dcc064 425 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.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
4f3a742d 433 'ExtUtils::Constant' => {
4f3a742d 434
c9849c52 435 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
4f3a742d
DR
436 'FILES' => q[cpan/ExtUtils-Constant],
437 'EXCLUDED' => [
438 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
439 examples/perl_keyword.pl
440 examples/perl_regcomp_posix_keyword.pl
441 ),
34c00cdf 442 ],
c9849c52
DM
443 # cc37ebcee3 to fix VMS failure
444 'CUSTOMIZED' => [ qw(t/Constant.t) ],
4f3a742d
DR
445 },
446
447 'ExtUtils::Install' => {
9de35bb2 448 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz',
d393d7e5 449 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
450 'EXCLUDED' => [
451 qw( t/lib/Test/Builder.pm
452 t/lib/Test/Builder/Module.pm
453 t/lib/Test/More.pm
454 t/lib/Test/Simple.pm
455 t/pod-coverage.t
456 t/pod.t
457 ),
458 ],
4f3a742d
DR
459 },
460
461 'ExtUtils::MakeMaker' => {
9287cc84 462 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.30.tar.gz',
4f3a742d
DR
463 'FILES' => q[cpan/ExtUtils-MakeMaker],
464 'EXCLUDED' => [
465 qr{^t/lib/Test/},
466 qr{^(bundled|my)/},
467 qr{^t/Liblist_Kid.t},
468 qr{^t/liblist/},
78fd4358 469 qr{^\.perlcriticrc},
84c82da4
SH
470 'PATCHING',
471 'README.packaging',
ce9582af 472 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 473 ],
4f3a742d
DR
474 },
475
476 'ExtUtils::Manifest' => {
f660499c 477 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 478 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
479 'EXCLUDED' => [
480 qr(^t/00-report-prereqs),
481 qr(^xt/)
482 ],
4f3a742d
DR
483 },
484
485 'ExtUtils::ParseXS' => {
bdc4e4b2 486 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
4f3a742d 487 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
488 },
489
4f3a742d 490 'File::Fetch' => {
ac1690b9 491 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.52.tar.gz',
4f3a742d 492 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
493 },
494
4f3a742d 495 'File::Path' => {
cc744934 496 'DISTRIBUTION' => 'JKEENAN/File-Path-2.14.tar.gz',
4f3a742d
DR
497 'FILES' => q[cpan/File-Path],
498 'EXCLUDED' => [
bfcc9519
SH
499 qw(t/Path-Class.t),
500 qr{^xt/},
4f3a742d 501 ],
4f3a742d
DR
502 },
503
4f3a742d 504 'File::Temp' => {
3d5f905f 505 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
506 'FILES' => q[cpan/File-Temp],
507 'EXCLUDED' => [
508 qw( misc/benchmark.pl
509 misc/results.txt
510 ),
814e893f
CBW
511 qw[t/00-report-prereqs.t],
512 qr{^xt},
4f3a742d 513 ],
4f3a742d
DR
514 },
515
4f3a742d 516 'Filter::Simple' => {
37ffe967 517 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
518 'FILES' => q[dist/Filter-Simple],
519 'EXCLUDED' => [
4f3a742d
DR
520 qr{^demo/}
521 ],
4f3a742d
DR
522 },
523
524 'Filter::Util::Call' => {
0168e427 525 'DISTRIBUTION' => 'RURBAN/Filter-1.57.tar.gz',
4f3a742d
DR
526 'FILES' => q[cpan/Filter-Util-Call
527 pod/perlfilter.pod
528 ],
529 'EXCLUDED' => [
530 qr{^decrypt/},
531 qr{^examples/},
532 qr{^Exec/},
533 qr{^lib/Filter/},
534 qr{^tee/},
535 qw( Call/Makefile.PL
536 Call/ppport.h
537 Call/typemap
538 mytest
539 t/cpp.t
540 t/decrypt.t
541 t/exec.t
542 t/order.t
4f3a742d
DR
543 t/sh.t
544 t/tee.t
533d93cc
SH
545 t/z_kwalitee.t
546 t/z_meta.t
547 t/z_perl_minimum_version.t
548 t/z_pod-coverage.t
549 t/z_pod.t
4f3a742d
DR
550 ),
551 ],
552 'MAP' => {
553 'Call/' => 'cpan/Filter-Util-Call/',
554 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
555 'perlfilter.pod' => 'pod/perlfilter.pod',
556 '' => 'cpan/Filter-Util-Call/',
557 },
4f3a742d
DR
558 },
559
4f3a742d 560 'Getopt::Long' => {
bdb1f1b3 561 'DISTRIBUTION' => 'JV/Getopt-Long-2.50.tar.gz',
4f3a742d
DR
562 'FILES' => q[cpan/Getopt-Long],
563 'EXCLUDED' => [
564 qr{^examples/},
565 qw( perl-Getopt-Long.spec
566 lib/newgetopt.pl
974d5816 567 t/gol-compat.t
4f3a742d
DR
568 ),
569 ],
4f3a742d
DR
570 },
571
4f3a742d 572 'HTTP::Tiny' => {
d534cca5 573 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.070.tar.gz',
4f3a742d
DR
574 'FILES' => q[cpan/HTTP-Tiny],
575 'EXCLUDED' => [
fcfb9f49 576 't/00-report-prereqs.t',
57d69a40 577 't/00-report-prereqs.dd',
4f3a742d 578 't/200_live.t',
44347bc3 579 't/200_live_local_ip.t',
fcfb9f49 580 't/210_live_ssl.t',
4f3a742d
DR
581 qr/^eg/,
582 qr/^xt/
583 ],
4f3a742d
DR
584 },
585
586 'I18N::Collate' => {
4f3a742d
DR
587 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
588 'FILES' => q[dist/I18N-Collate],
589 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
590 },
591
4f3a742d 592 'I18N::LangTags' => {
4f3a742d 593 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
594 },
595
596 'if' => {
f7294c1d 597 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 598 'FILES' => q[dist/if],
4f3a742d
DR
599 },
600
601 'IO' => {
4f3a742d
DR
602 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
603 'FILES' => q[dist/IO/],
604 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
605 },
606
607 'IO-Compress' => {
5173674b 608 'DISTRIBUTION' => 'PMQS/IO-Compress-2.074.tar.gz',
4f3a742d 609 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
610 'EXCLUDED' => [
611 qr{^examples/},
612 qr{^t/Test/},
613 't/010examples-bzip2.t',
614 't/010examples-zlib.t',
615 't/cz-05examples.t',
616 ],
4f3a742d
DR
617 },
618
74a30e96 619 'IO::Socket::IP' => {
272643d0 620 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz',
74a30e96
CBW
621 'FILES' => q[cpan/IO-Socket-IP],
622 'EXCLUDED' => [
623 qr{^examples/},
624 ],
625 },
626
4f3a742d 627 'IO::Zlib' => {
4f3a742d
DR
628 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
629 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
630 },
631
632 'IPC::Cmd' => {
34b02a7a 633 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.98.tar.gz',
4f3a742d 634 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
635 },
636
4f3a742d 637 'IPC::SysV' => {
f38527b2 638 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
639 'FILES' => q[cpan/IPC-SysV],
640 'EXCLUDED' => [
641 qw( const-c.inc
642 const-xs.inc
643 ),
644 ],
4f3a742d
DR
645 },
646
647 'JSON::PP' => {
dec273dc 648 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-2.94.tar.gz',
4f3a742d 649 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
650 },
651
652 'lib' => {
4f3a742d
DR
653 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
654 'FILES' => q[dist/lib/],
655 'EXCLUDED' => [
656 qw( forPAUSE/lib.pm
657 t/00pod.t
658 ),
659 ],
4f3a742d
DR
660 },
661
662 'libnet' => {
a9282e3c 663 'DISTRIBUTION' => 'SHAY/libnet-3.10.tar.gz',
4f3a742d
DR
664 'FILES' => q[cpan/libnet],
665 'EXCLUDED' => [
666 qw( Configure
2901a52f 667 t/changes.t
59e3cdd4
SH
668 t/critic.t
669 t/pod.t
670 t/pod_coverage.t
4f3a742d 671 ),
84c82da4 672 qr(^demos/),
dadfa42f 673 qr(^t/external/),
4f3a742d 674 ],
4f3a742d
DR
675 },
676
677 'Locale-Codes' => {
afac733b 678 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.52.tar.gz',
4f3a742d
DR
679 'FILES' => q[cpan/Locale-Codes],
680 'EXCLUDED' => [
84c82da4 681 qw( README.first
8eadc45b 682 t/pod_coverage.ign
84c82da4 683 t/pod_coverage.t
4f3a742d
DR
684 t/pod.t),
685 qr{^t/runtests},
686 qr{^t/runtests\.bat},
687 qr{^internal/},
688 qr{^examples/},
689 ],
4f3a742d
DR
690 },
691
692 'Locale::Maketext' => {
822f029b 693 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.tar.gz',
4f3a742d
DR
694 'FILES' => q[dist/Locale-Maketext],
695 'EXCLUDED' => [
696 qw(
697 perlcriticrc
698 t/00_load.t
699 t/pod.t
700 ),
701 ],
4f3a742d
DR
702 },
703
704 'Locale::Maketext::Simple' => {
4f3a742d
DR
705 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
706 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
707 'CUSTOMIZED' => [
708 # CVE-2016-1238
709 qw( lib/Locale/Maketext/Simple.pm )
710 ],
4f3a742d
DR
711 },
712
4f3a742d 713 'Math::BigInt' => {
c9668bc1 714 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999806.tar.gz',
6b0f9b46 715 'FILES' => q[cpan/Math-BigInt],
4f3a742d 716 'EXCLUDED' => [
4f3a742d 717 qr{^examples/},
6b10d254 718 qr{^t/author-},
4f3a742d
DR
719 qw( t/00sig.t
720 t/01load.t
721 t/02pod.t
722 t/03podcov.t
723 ),
724 ],
4f3a742d
DR
725 },
726
727 'Math::BigInt::FastCalc' => {
f4d243dc 728 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5005.tar.gz',
6b0f9b46 729 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 730 'EXCLUDED' => [
d239a8c7
CBW
731 qr{^t/author-},
732 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
733 qw( t/00sig.t
734 t/01load.t
735 t/02pod.t
736 t/03podcov.t
737 ),
738
739 # instead we use the versions of these test
740 # files that come with Math::BigInt:
741 qw( t/bigfltpm.inc
742 t/bigfltpm.t
743 t/bigintpm.inc
744 t/bigintpm.t
745 t/mbimbf.inc
746 t/mbimbf.t
747 ),
748 ],
4f3a742d
DR
749 },
750
751 'Math::BigRat' => {
92c15a49 752 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2613.tar.gz',
6b0f9b46 753 'FILES' => q[cpan/Math-BigRat],
4f3a742d 754 'EXCLUDED' => [
6320cdc0 755 qr{^t/author-},
4f3a742d
DR
756 qw( t/00sig.t
757 t/01load.t
758 t/02pod.t
759 t/03podcov.t
9b331ac6
SH
760 ),
761 ],
4f3a742d
DR
762 },
763
764 'Math::Complex' => {
04ae1553 765 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 766 'FILES' => q[cpan/Math-Complex],
50e27233
JH
767 'CUSTOMIZED' => [
768 'lib/Math/Complex.pm', # CPAN RT 118467
769 't/Complex.t', # CPAN RT 118467
770 't/Trig.t', # CPAN RT 118467
771 ],
4f3a742d
DR
772 'EXCLUDED' => [
773 qw( t/pod.t
774 t/pod-coverage.t
775 ),
776 ],
4f3a742d
DR
777 },
778
779 'Memoize' => {
8114efa0 780 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
781 'FILES' => q[cpan/Memoize],
782 'EXCLUDED' => ['article.html'],
8b56300e
TC
783 'CUSTOMIZED' => [
784 # CVE-2016-1238
785 qw( Memoize.pm )
786 ],
4f3a742d
DR
787 },
788
789 'MIME::Base64' => {
6b10655d 790 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
791 'FILES' => q[cpan/MIME-Base64],
792 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
793 },
794
4f3a742d 795 'Module::CoreList' => {
b4bf9efc 796 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20170720.tar.gz',
4f3a742d 797 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
798 },
799
800 'Module::Load' => {
58572ed8 801 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 802 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
803 },
804
805 'Module::Load::Conditional' => {
2c34ec1b 806 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz',
4f3a742d 807 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
808 },
809
810 'Module::Loaded' => {
4f3a742d
DR
811 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
812 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
813 },
814
815 'Module::Metadata' => {
d4fbd0ca 816 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000033.tar.gz',
4f3a742d
DR
817 'FILES' => q[cpan/Module-Metadata],
818 'EXCLUDED' => [
b9beed70 819 qw(t/00-report-prereqs.t),
adc2cdfb 820 qw(t/00-report-prereqs.dd),
e6d414a9 821 qr{weaver.ini},
4f3a742d
DR
822 qr{^xt},
823 ],
4f3a742d
DR
824 },
825
4f3a742d 826 'Net::Ping' => {
26e9d721 827 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.55.tar.gz',
4f3a742d 828 'FILES' => q[dist/Net-Ping],
773d126d 829 'EXCLUDED' => [
26e9d721 830 qw(README.md.PL),
773d126d
CBW
831 qw(t/020_external.t),
832 qw(t/600_pod.t),
833 qw(t/601_pod-coverage.t),
834 ],
01b515d1 835 'CUSTOMIZED' => [
7bfdd826 836 qw( t/000_load.t t/001_new.t t/010_pingecho.t t/500_ping_icmp.t),
01b515d1 837 ],
773d126d 838
4f3a742d
DR
839 },
840
841 'NEXT' => {
c8321e06 842 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
4f3a742d
DR
843 'FILES' => q[cpan/NEXT],
844 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
845 },
846
4f3a742d 847 'Params::Check' => {
8b21fa03 848 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 849 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
850 },
851
852 'parent' => {
39250dd4 853 'DISTRIBUTION' => 'CORION/parent-0.236.tar.gz',
4f3a742d 854 'FILES' => q[cpan/parent],
39250dd4
SH
855 'EXCLUDED' => [
856 qr{^xt}
857 ],
4f3a742d
DR
858 },
859
4f3a742d 860 'PathTools' => {
0224bf41 861 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
cb8c8458 862 'FILES' => q[dist/PathTools],
76250107
SH
863 'EXCLUDED' => [
864 qr{^t/lib/Test/},
865 qw( t/rel2abs_vs_symlink.t),
866 ],
4f3a742d
DR
867 },
868
97b1d6e6 869 'Perl::OSType' => {
ea8e5adc 870 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 871 'FILES' => q[cpan/Perl-OSType],
765955c0 872 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
873 },
874
97b1d6e6 875 'perlfaq' => {
a2c3b2fe 876 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
97b1d6e6
SH
877 'FILES' => q[cpan/perlfaq],
878 'EXCLUDED' => [
4d25f022 879 qw( inc/CreateQuestionList.pm
e3ef4406 880 inc/perlfaq.tt
4d25f022
SH
881 t/00-compile.t),
882 qr{^xt/},
97b1d6e6 883 ],
97b1d6e6
SH
884 },
885
4f3a742d 886 'PerlIO::via::QuotedPrint' => {
96623e31 887 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 888 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
889 },
890
0c501878 891 'Pod::Checker' => {
0de6c762 892 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
0c501878 893 'FILES' => q[cpan/Pod-Checker],
2beba2a9
SH
894 'CUSTOMIZED' => [ qw[
895 t/pod/contains_bad_pod.xr
896 t/pod/selfcheck.t
897 t/pod/testcmp.pl
898 t/pod/testpchk.pl
899 ] ],
0c501878
CBW
900 },
901
4f3a742d 902 'Pod::Escapes' => {
f347d3e3 903 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 904 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
905 },
906
4f3a742d 907 'Pod::Parser' => {
534577b2 908 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 909 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
910 },
911
912 'Pod::Perldoc' => {
6aff4bf3 913 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz',
00e518b3 914 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 915
fa884b76
DM
916 # Note that we use the CPAN-provided Makefile.PL, since it
917 # contains special handling of the installation of perldoc.pod
918
5fddd31d
SH
919 'EXCLUDED' => [
920 # In blead, the perldoc executable is generated by perldoc.PL
921 # instead
922 # XXX We can and should fix this, but clean up the DRY-failure in
923 # utils first
924 'perldoc',
925
926 # https://rt.cpan.org/Ticket/Display.html?id=116827
927 't/02_module_pod_output.t'
928 ],
4f3a742d
DR
929 },
930
931 'Pod::Simple' => {
6c309775 932 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.35.tar.gz',
4f3a742d 933 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
934 },
935
0c501878 936 'Pod::Usage' => {
3735683b 937 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
0c501878 938 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
939 },
940
4f3a742d 941 'podlators' => {
a7ea90b1 942 'DISTRIBUTION' => 'RRA/podlators-4.09.tar.gz',
4f3a742d 943 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
944 'EXCLUDED' => [
945 qr{^docs/metadata/},
946 ],
4f3a742d 947
4f3a742d
DR
948 'MAP' => {
949 '' => 'cpan/podlators/',
4f3a742d 950 # this file lives outside the cpan/ directory
1efe9157 951 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 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' => {
060e131e 961 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.48.tar.gz',
869a9612 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' => {
a705fd33 977 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 978 'FILES' => q[cpan/Socket],
06a9195c
SH
979
980 # https://rt.cpan.org/Ticket/Display.html?id=106797
981 # https://rt.cpan.org/Ticket/Display.html?id=107058
98e2bb74 982 # https://rt.cpan.org/Ticket/Display.html?id=111707
06a9195c 983 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
984 },
985
986 'Storable' => {
5f4b5e0f 987 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 988 'FILES' => q[dist/Storable],
76250107
SH
989 'EXCLUDED' => [
990 qr{^t/compat/},
991 ],
4f3a742d
DR
992 },
993
4f3a742d 994 'Sys::Syslog' => {
9f0af693 995 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
4f3a742d
DR
996 'FILES' => q[cpan/Sys-Syslog],
997 'EXCLUDED' => [
998 qr{^eg/},
84c82da4
SH
999 qw( README.win32
1000 t/data-validation.t
4f3a742d
DR
1001 t/distchk.t
1002 t/pod.t
1003 t/podcover.t
1004 t/podspell.t
1005 t/portfs.t
1006 win32/PerlLog.RES
4f3a742d
DR
1007 ),
1008 ],
4f3a742d
DR
1009 },
1010
1011 'Term::ANSIColor' => {
93d7ac13 1012 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1013 'FILES' => q[cpan/Term-ANSIColor],
1014 'EXCLUDED' => [
93d7ac13 1015 qr{^docs/},
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' => {
23a75734 1025 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.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',
48458f69 1043 'FILES' => q[dist/Test],
4f3a742d
DR
1044 },
1045
1046 'Test::Harness' => {
273a0bac 1047 'DISTRIBUTION' => 'LEONT/Test-Harness-3.39.tar.gz',
4f3a742d
DR
1048 'FILES' => q[cpan/Test-Harness],
1049 'EXCLUDED' => [
1050 qr{^examples/},
4f3a742d
DR
1051 qr{^xt/},
1052 qw( Changes-2.64
8db65552 1053 MANIFEST.CUMMULATIVE
4f3a742d
DR
1054 HACKING.pod
1055 perlcriticrc
8db65552 1056 t/000-load.t
4f3a742d
DR
1057 t/lib/if.pm
1058 ),
1059 ],
4f3a742d
DR
1060 },
1061
1062 'Test::Simple' => {
a5ab2255 1063 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302073.tar.gz',
4f3a742d
DR
1064 'FILES' => q[cpan/Test-Simple],
1065 'EXCLUDED' => [
0b4ffce6
SH
1066 qr{^examples/},
1067 qr{^xt/},
022600ce
SH
1068 qw( appveyor.yml
1069 perltidyrc
80a7dd19 1070 t/00compile.t
c6a6e1c8
CG
1071 t/00-report.t
1072 t/zzz-check-breaks.t
4f3a742d
DR
1073 ),
1074 ],
4767d893
CB
1075 'CUSTOMIZED' => [
1076 #
1077 qw( t/Test2/modules/IPC/Driver/Files.t )
1078 ],
f266b743 1079 },
4f3a742d
DR
1080
1081 'Text::Abbrev' => {
5e96eee9 1082 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1083 'FILES' => q[dist/Text-Abbrev],
1084 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1085 },
1086
1087 'Text::Balanced' => {
03a97c81 1088 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1089 'FILES' => q[cpan/Text-Balanced],
1090 'EXCLUDED' => [
1091 qw( t/97_meta.t
1092 t/98_pod.t
1093 t/99_pmv.t
1094 ),
1095 ],
4f3a742d
DR
1096 },
1097
1098 'Text::ParseWords' => {
a790e348 1099 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1100 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1101 },
1102
4f3a742d 1103 'Text-Tabs+Wrap' => {
83aea42c 1104 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1105 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1106 'EXCLUDED' => [
1107 qr/^lib\.old/,
1108 't/dnsparks.t', # see af6492bf9e
4f3a742d 1109 ],
e7b92d54
SH
1110 'MAP' => {
1111 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1112 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1113 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1114 },
4f3a742d
DR
1115 },
1116
4e75700d
AC
1117 # Jerry Hedden does take patches that are applied to blead first, even
1118 # though that can be hard to discern from the Git history; so it's
1119 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1120 # to be under dist/ rather than cpan/
4f3a742d 1121 'Thread::Queue' => {
b4d001fd 1122 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.12.tar.gz',
4f3a742d
DR
1123 'FILES' => q[dist/Thread-Queue],
1124 'EXCLUDED' => [
1fd4700e
JH
1125 qr{^examples/},
1126 qw( t/00_load.t
4f3a742d
DR
1127 t/99_pod.t
1128 t/test.pl
1129 ),
1130 ],
4f3a742d
DR
1131 },
1132
1133 'Thread::Semaphore' => {
51068c14 1134 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1135 'FILES' => q[dist/Thread-Semaphore],
1136 'EXCLUDED' => [
1137 qw( examples/semaphore.pl
1138 t/00_load.t
1139 t/99_pod.t
1140 t/test.pl
1141 ),
1142 ],
4f3a742d
DR
1143 },
1144
1145 'threads' => {
99fcc835 1146 'DISTRIBUTION' => 'JDHEDDEN/threads-2.16.tar.gz',
4f3a742d
DR
1147 'FILES' => q[dist/threads],
1148 'EXCLUDED' => [
1149 qr{^examples/},
1150 qw( t/pod.t
1151 t/test.pl
1152 threads.h
1153 ),
1154 ],
4f3a742d
DR
1155 },
1156
1157 'threads::shared' => {
7ce27a6f 1158 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.57.tar.gz',
4f3a742d
DR
1159 'FILES' => q[dist/threads-shared],
1160 'EXCLUDED' => [
1161 qw( examples/class.pl
1162 shared.h
1163 t/pod.t
1164 t/test.pl
1165 ),
1166 ],
4f3a742d
DR
1167 },
1168
1169 'Tie::File' => {
4ac9c666 1170 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1171 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1172 },
1173
4f3a742d 1174 'Tie::RefHash' => {
4f3a742d
DR
1175 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1176 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1177 },
1178
1179 'Time::HiRes' => {
5cd155b0 1180 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9742.tar.gz',
91ba54d4 1181 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1182 },
1183
1184 'Time::Local' => {
dad75267 1185 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz',
4f3a742d
DR
1186 'FILES' => q[cpan/Time-Local],
1187 'EXCLUDED' => [
cc890588
SH
1188 qr{^xt/},
1189 qw( perlcriticrc
1190 perltidyrc
1191 tidyall.ini
1192 t/00-report-prereqs.t
1193 t/00-report-prereqs.dd
1194 ),
4f3a742d 1195 ],
4f3a742d
DR
1196 },
1197
1198 'Time::Piece' => {
23c687d9 1199 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3201.tar.gz',
4f3a742d 1200 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1201 },
1202
1203 'Unicode::Collate' => {
3f9b5325 1204 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.19.tar.gz',
4f3a742d
DR
1205 'FILES' => q[cpan/Unicode-Collate],
1206 'EXCLUDED' => [
1207 qr{N$},
1208 qr{^data/},
1209 qr{^gendata/},
1210 qw( disableXS
1211 enableXS
1212 mklocale
1213 ),
1214 ],
4f3a742d
DR
1215 },
1216
1217 'Unicode::Normalize' => {
1ef95abd 1218 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
3baae3fa 1219 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1220 'EXCLUDED' => [
1221 qw( MANIFEST.N
1222 Normalize.pmN
1223 disableXS
1224 enableXS
1225 ),
1226 ],
4f3a742d
DR
1227 },
1228
4f3a742d 1229 'version' => {
38660758 1230 'DISTRIBUTION' => 'JPEACOCK/version-0.9917.tar.gz',
4fa93b19 1231 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1232 'EXCLUDED' => [
df3ba8e7 1233 qr{^vutil/lib/},
c60b4fa6 1234 'vutil/Makefile.PL',
df3ba8e7
FC
1235 'vutil/ppport.h',
1236 'vutil/vxs.xs',
ce9582af 1237 't/00impl-pp.t',
4f3a742d 1238 't/survey_locales',
d1e81356 1239 'vperl/vpp.pm',
4f3a742d 1240 ],
f81a37f2 1241
c872d591
SH
1242 # When adding the CPAN-distributed files for version.pm, it is necessary
1243 # to delete an entire block out of lib/version.pm, since that code is
1244 # only necessary with the CPAN release.
f81a37f2
SH
1245 'CUSTOMIZED' => [
1246 qw( lib/version.pm
f81a37f2
SH
1247 ),
1248 ],
1249
df3ba8e7 1250 'MAP' => {
4fa93b19 1251 'vutil/' => '',
df3ba8e7
FC
1252 '' => 'cpan/version/',
1253 },
4f3a742d
DR
1254 },
1255
4f3a742d 1256 'warnings' => {
099bebb1 1257 'FILES' => q[
4f3a742d 1258 lib/warnings
099bebb1
SH
1259 lib/warnings.{pm,t}
1260 regen/warnings.pl
4f3a742d 1261 t/lib/warnings
099bebb1 1262 ],
4f3a742d
DR
1263 },
1264
4f3a742d 1265 'Win32' => {
083231ea 1266 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1267 'FILES' => q[cpan/Win32],
4f3a742d
DR
1268 },
1269
1270 'Win32API::File' => {
df61f5a9 1271 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1272 'FILES' => q[cpan/Win32API-File],
1273 'EXCLUDED' => [
1274 qr{^ex/},
4f3a742d 1275 ],
4f3a742d
DR
1276 },
1277
4f3a742d 1278 'XSLoader' => {
6f2c9cc3 1279 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1280 'FILES' => q[dist/XSLoader],
1281 'EXCLUDED' => [
1282 qr{^eg/},
57f9caa0
SH
1283 qw( t/00-load.t
1284 t/01-api.t
1285 t/distchk.t
1286 t/pod.t
4f3a742d
DR
1287 t/podcover.t
1288 t/portfs.t
1289 ),
1290 'XSLoader.pm', # we use XSLoader_pm.PL
1291 ],
4f3a742d
DR
1292 },
1293
462ea751
DM
1294 # this pseudo-module represents all the files under ext/ and lib/
1295 # that aren't otherwise claimed. This means that the following two
1296 # commands will check that every file under ext/ and lib/ is
1297 # accounted for, and that there are no duplicates:
1298 #
1299 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1300 # perl Porting/Maintainers --checkmani
462ea751 1301
4f3a742d 1302 '_PERLLIB' => {
2af3c4b9 1303 'FILES' => q[
79852350
AB
1304 ext/Amiga-ARexx/
1305 ext/Amiga-Exec/
09213599 1306 ext/B/
2af3c4b9
SH
1307 ext/Devel-Peek/
1308 ext/DynaLoader/
1309 ext/Errno/
7b4d95f7 1310 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1311 ext/Fcntl/
1312 ext/File-DosGlob/
1313 ext/File-Find/
1314 ext/File-Glob/
1315 ext/FileCache/
1316 ext/GDBM_File/
1317 ext/Hash-Util-FieldHash/
1318 ext/Hash-Util/
1319 ext/I18N-Langinfo/
1320 ext/IPC-Open3/
1321 ext/NDBM_File/
1322 ext/ODBM_File/
1323 ext/Opcode/
1324 ext/POSIX/
1325 ext/PerlIO-encoding/
1326 ext/PerlIO-mmap/
1327 ext/PerlIO-scalar/
1328 ext/PerlIO-via/
1329 ext/Pod-Functions/
1330 ext/Pod-Html/
1331 ext/SDBM_File/
1332 ext/Sys-Hostname/
1333 ext/Tie-Hash-NamedCapture/
1334 ext/Tie-Memoize/
b3dcf775 1335 ext/VMS-DCLsym/
2af3c4b9 1336 ext/VMS-Filespec/
b3dcf775
SH
1337 ext/VMS-Stdio/
1338 ext/Win32CORE/
4f3a742d 1339 ext/XS-APItest/
2af3c4b9
SH
1340 ext/XS-Typemap/
1341 ext/arybase/
1342 ext/attributes/
1343 ext/mro/
1344 ext/re/
1345 lib/AnyDBM_File.{pm,t}
1346 lib/Benchmark.{pm,t}
38eca645 1347 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1348 lib/B/Op_private.pm
4f3a742d 1349 lib/CORE.pod
2af3c4b9 1350 lib/Class/Struct.{pm,t}
4f3a742d
DR
1351 lib/Config.t
1352 lib/Config/Extensions.{pm,t}
1353 lib/DB.{pm,t}
2af3c4b9
SH
1354 lib/DBM_Filter.pm
1355 lib/DBM_Filter/
1356 lib/DirHandle.{pm,t}
1357 lib/English.{pm,t}
4f3a742d
DR
1358 lib/ExtUtils/Embed.pm
1359 lib/ExtUtils/XSSymSet.pm
1360 lib/ExtUtils/t/Embed.t
1361 lib/ExtUtils/typemap
2af3c4b9
SH
1362 lib/File/Basename.{pm,t}
1363 lib/File/Compare.{pm,t}
1364 lib/File/Copy.{pm,t}
1365 lib/File/stat{.pm,.t,-7896.t}
1366 lib/FileHandle.{pm,t}
1367 lib/FindBin.{pm,t}
1368 lib/Getopt/Std.{pm,t}
cb198164 1369 lib/Internals.pod
4f3a742d 1370 lib/Internals.t
4b6af431 1371 lib/meta_notation.{pm,t}
4f3a742d
DR
1372 lib/Net/hostent.{pm,t}
1373 lib/Net/netent.{pm,t}
1374 lib/Net/protoent.{pm,t}
1375 lib/Net/servent.{pm,t}
2af3c4b9 1376 lib/PerlIO.pm
4f3a742d
DR
1377 lib/Pod/t/InputObjects.t
1378 lib/Pod/t/Select.t
1379 lib/Pod/t/Usage.t
4f3a742d
DR
1380 lib/Pod/t/utils.t
1381 lib/SelectSaver.{pm,t}
1382 lib/Symbol.{pm,t}
1383 lib/Thread.{pm,t}
1384 lib/Tie/Array.pm
1385 lib/Tie/Array/
1386 lib/Tie/ExtraHash.t
1387 lib/Tie/Handle.pm
1388 lib/Tie/Handle/
2af3c4b9 1389 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1390 lib/Tie/Scalar.{pm,t}
1391 lib/Tie/StdHandle.pm
1392 lib/Tie/SubstrHash.{pm,t}
1393 lib/Time/gmtime.{pm,t}
1394 lib/Time/localtime.{pm,t}
1395 lib/Time/tm.pm
1396 lib/UNIVERSAL.pm
1397 lib/Unicode/README
2af3c4b9 1398 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1399 lib/User/grent.{pm,t}
1400 lib/User/pwent.{pm,t}
2af3c4b9 1401 lib/_charnames.pm
4f3a742d
DR
1402 lib/blib.{pm,t}
1403 lib/bytes.{pm,t}
1404 lib/bytes_heavy.pl
1405 lib/charnames.{pm,t}
1406 lib/dbm_filter_util.pl
1407 lib/deprecate.pm
2af3c4b9 1408 lib/diagnostics.{pm,t}
4f3a742d
DR
1409 lib/dumpvar.{pl,t}
1410 lib/feature.{pm,t}
1411 lib/feature/
1412 lib/filetest.{pm,t}
1413 lib/h2ph.t
1414 lib/h2xs.t
1415 lib/integer.{pm,t}
1416 lib/less.{pm,t}
1417 lib/locale.{pm,t}
706055ce 1418 lib/locale_threads.t
4f3a742d
DR
1419 lib/open.{pm,t}
1420 lib/overload/numbers.pm
1421 lib/overloading.{pm,t}
2af3c4b9 1422 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1423 lib/perl5db.{pl,t}
1424 lib/perl5db/
a3b4b767 1425 lib/perlbug.t
2af3c4b9 1426 lib/sigtrap.{pm,t}
4f3a742d
DR
1427 lib/sort.{pm,t}
1428 lib/strict.{pm,t}
1429 lib/subs.{pm,t}
1430 lib/unicore/
1431 lib/utf8.{pm,t}
1432 lib/utf8_heavy.pl
1433 lib/vars{.pm,.t,_carp.t}
1434 lib/vmsish.{pm,t}
1435 ],
4f3a742d 1436 },
462ea751 1437);
b128a327 1438
97556ec3 1439# legacy CPAN flag
4f3a742d 1440for ( values %Modules ) {
97556ec3
GA
1441 $_->{CPAN} = !!$_->{DISTRIBUTION};
1442}
1443
099bebb1
SH
1444# legacy UPSTREAM flag
1445for ( keys %Modules ) {
1446 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1447 next if exists $Modules{$_}{UPSTREAM};
1448
1449 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1450 $Modules{$_}{UPSTREAM} = 'blead';
1451 }
1452 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1453 $Modules{$_}{UPSTREAM} = 'cpan';
1454 }
1455 else {
1456 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1457 }
1458}
1459
d350de41 1460# legacy MAINTAINER field
099bebb1 1461for ( keys %Modules ) {
b3dcf775 1462 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1463 next if exists $Modules{$_}{MAINTAINER};
1464
1465 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1466 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1467 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1468 }
099bebb1
SH
1469 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1470 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1471 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1472 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1473 }
099bebb1
SH
1474 else {
1475 warn "No DISTRIBUTION for non-blead module $_";
1476 }
d350de41
SH
1477}
1478
b128a327 14791;