This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Math-BigRat to CPAN version 0.260805
[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
88# actually deprecated. Such modules should use deprecated.pm to
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' => {
83abb366 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.18.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
4f3a742d 175 'B::Debug' => {
372b8708 176 'DISTRIBUTION' => 'RURBAN/B-Debug-1.23.tar.gz',
4f3a742d
DR
177 'FILES' => q[cpan/B-Debug],
178 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
179 },
180
4f3a742d 181 'base' => {
4c13dc7e 182 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 183 'FILES' => q[dist/base],
9c575c5c
SH
184 'CUSTOMIZED' => [
185 # https://rt.perl.org/Ticket/Display.html?id=127834
186 qw( lib/base.pm )
187 ],
4f3a742d
DR
188 },
189
4f3a742d 190 'bignum' => {
fb7f2fa3 191 'DISTRIBUTION' => 'PJACKLAM/bignum-0.43.tar.gz',
c287fe32 192 'FILES' => q[cpan/bignum],
4f3a742d
DR
193 'EXCLUDED' => [
194 qr{^inc/Module/},
91f07087 195 qr{^t/author-},
c287fe32
SH
196 qw( t/00sig.t
197 t/01load.t
198 t/02pod.t
199 t/03podcov.t
4f3a742d
DR
200 ),
201 ],
8b56300e
TC
202 'CUSTOMIZED' => [
203 qw(
204 lib/Math/BigFloat/Trace.pm
205 lib/Math/BigInt/Trace.pm lib/bigint.pm
206 lib/bignum.pm lib/bigrat.pm
207 )
208 ],
4f3a742d
DR
209 },
210
211 'Carp' => {
ba705463 212 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
4f3a742d 213 'FILES' => q[dist/Carp],
4f3a742d
DR
214 },
215
4f3a742d 216 'Compress::Raw::Bzip2' => {
9e7c8eb7 217 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.069.tar.gz',
4f3a742d
DR
218 'FILES' => q[cpan/Compress-Raw-Bzip2],
219 'EXCLUDED' => [
220 qr{^t/Test/},
65b62fea 221 'bzip2-src/bzip2-const.patch',
4f3a742d 222 'bzip2-src/bzip2-cpp.patch',
65b62fea 223 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 224 ],
4f3a742d
DR
225 },
226
227 'Compress::Raw::Zlib' => {
2b91859c 228 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.069.tar.gz',
4f3a742d
DR
229
230 'FILES' => q[cpan/Compress-Raw-Zlib],
231 'EXCLUDED' => [
84c82da4 232 qr{^examples/},
4f3a742d
DR
233 qr{^t/Test/},
234 qw( t/000prereq.t
235 t/99pod.t
236 ),
237 ],
4f3a742d
DR
238 },
239
4b07058c 240 'Config::Perl::V' => {
834069b8 241 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.27.tgz',
4b07058c 242 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
243 'EXCLUDED' => [qw(
244 examples/show-v.pl
b4ade012 245 )],
4b07058c
RS
246 },
247
4f3a742d 248 'constant' => {
8b1ae794 249 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
250 'FILES' => q[dist/constant],
251 'EXCLUDED' => [
252 qw( t/00-load.t
253 t/more-tests.t
254 t/pod-coverage.t
255 t/pod.t
256 eg/synopsis.pl
257 ),
258 ],
4f3a742d
DR
259 },
260
261 'CPAN' => {
4af080e1 262 'DISTRIBUTION' => 'ANDK/CPAN-2.14.tar.gz',
4f3a742d
DR
263 'FILES' => q[cpan/CPAN],
264 'EXCLUDED' => [
265 qr{^distroprefs/},
266 qr{^inc/Test/},
45a13884
SH
267 qr{^t/CPAN/},
268 qr{^t/data/},
79116533 269 qr{^t/97-},
4f3a742d 270 qw( lib/CPAN/Admin.pm
6156383d 271 scripts/cpan-mirrors
bfae5bde 272 PAUSE2015.pub
4f3a742d
DR
273 SlayMakefile
274 t/00signature.t
275 t/04clean_load.t
276 t/12cpan.t
277 t/13tarzip.t
278 t/14forkbomb.t
279 t/30shell.coverage
280 t/30shell.t
281 t/31sessions.t
282 t/41distribution.t
283 t/42distroprefs.t
284 t/43distroprefspref.t
45a13884 285 t/44cpanmeta.t
4f3a742d
DR
286 t/50pod.t
287 t/51pod.t
288 t/52podcover.t
289 t/60credentials.t
290 t/70_critic.t
bfae5bde 291 t/71_minimumversion.t
4f3a742d
DR
292 t/local_utils.pm
293 t/perlcriticrc
294 t/yaml_code.yml
295 ),
296 ],
8b56300e
TC
297 'CUSTOMIZED' => [
298 # CVE-2016-1238
299 qw(
300 lib/App/Cpan.pm lib/CPAN.pm scripts/cpan
301 )
302 ],
4f3a742d
DR
303 },
304
278337cd
CBW
305 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
306 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 307 'CPAN::Meta' => {
f33f0562 308 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
4f3a742d
DR
309 'FILES' => q[cpan/CPAN-Meta],
310 'EXCLUDED' => [
f907dd3c
SH
311 qw[t/00-report-prereqs.t
312 t/00-report-prereqs.dd
f33f0562 313 ],
4f3a742d
DR
314 qr{^xt},
315 qr{^history},
316 ],
4f3a742d
DR
317 },
318
b6ae0ea7 319 'CPAN::Meta::Requirements' => {
054d0c99 320 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
321 'FILES' => q[cpan/CPAN-Meta-Requirements],
322 'EXCLUDED' => [
c4814040 323 qw(t/00-report-prereqs.t),
54b7cb30 324 qw(t/00-report-prereqs.dd),
608e531f 325 qw(t/version-cleanup.t),
b6ae0ea7 326 qr{^xt},
b6ae0ea7 327 ],
b6ae0ea7
CBW
328 },
329
4f3a742d 330 'CPAN::Meta::YAML' => {
0d99ea03 331 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
332 'FILES' => q[cpan/CPAN-Meta-YAML],
333 'EXCLUDED' => [
2954a1e9 334 't/00-report-prereqs.t',
e586de20 335 't/00-report-prereqs.dd',
4f3a742d
DR
336 qr{^xt},
337 ],
4f3a742d
DR
338 },
339
340 'Data::Dumper' => {
d8cc0e43 341 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.161.tar.gz',
4f3a742d 342 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
343 },
344
345 'DB_File' => {
c7cd1ed9 346 'DISTRIBUTION' => 'PMQS/DB_File-1.838.tar.gz',
4f3a742d
DR
347 'FILES' => q[cpan/DB_File],
348 'EXCLUDED' => [
349 qr{^patches/},
350 qw( t/pod.t
351 fallback.h
352 fallback.xs
353 ),
354 ],
4f3a742d
DR
355 },
356
4f3a742d 357 'Devel::PPPort' => {
4827ac7e 358 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.35.tar.gz',
099bebb1
SH
359 # RJBS has asked MHX to have UPSTREAM be 'blead'
360 # (i.e. move this from cpan/ to dist/)
4f3a742d 361 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
362 'EXCLUDED' => [
363 'PPPort.pm', # we use PPPort_pm.PL instead
84c82da4 364 ]
4f3a742d
DR
365 },
366
97b1d6e6 367 'Devel::SelfStubber' => {
97b1d6e6
SH
368 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
369 'FILES' => q[dist/Devel-SelfStubber],
370 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
371 },
372
4f3a742d 373 'Digest' => {
4f3a742d
DR
374 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
375 'FILES' => q[cpan/Digest],
376 'EXCLUDED' => ['digest-bench'],
8b56300e
TC
377 'CUSTOMIZED' => [
378 # CVE-2016-1238
379 qw( Digest.pm )
380 ],
4f3a742d
DR
381 },
382
383 'Digest::MD5' => {
05a6ec77 384 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
4f3a742d
DR
385 'FILES' => q[cpan/Digest-MD5],
386 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
387 },
388
389 'Digest::SHA' => {
e05a9d74 390 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.96.tar.gz',
4f3a742d
DR
391 'FILES' => q[cpan/Digest-SHA],
392 'EXCLUDED' => [
393 qw( t/pod.t
394 t/podcover.t
395 examples/dups
396 ),
397 ],
4f3a742d
DR
398 },
399
4f3a742d 400 'Dumpvalue' => {
f6e46c4d 401 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
402 'FILES' => q[dist/Dumpvalue],
403 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
404 },
405
4f3a742d 406 'Encode' => {
0f33e03c 407 'DISTRIBUTION' => 'DANKOGAI/Encode-2.86.tar.gz',
4f3a742d 408 'FILES' => q[cpan/Encode],
c8247c27 409 'CUSTOMIZED' => [ qw[ Encode.xs ] ],
4f3a742d
DR
410 },
411
412 'encoding::warnings' => {
4f3a742d 413 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 414 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
415 'EXCLUDED' => [
416 qr{^inc/Module/},
94c85d8e 417 qw(t/0-signature.t),
4f3a742d 418 ],
4f3a742d
DR
419 },
420
4f3a742d 421 'Env' => {
126fc07f 422 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
423 'FILES' => q[dist/Env],
424 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
425 },
426
de84ff2b 427 'experimental' => {
4fdcb09b 428 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
de84ff2b 429 'FILES' => q[cpan/experimental],
4fdcb09b 430 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
431 },
432
4f3a742d 433 'Exporter' => {
b4d1bf31 434 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
3110a055 435 'FILES' => q[dist/Exporter],
4f3a742d
DR
436 'EXCLUDED' => [
437 qw( t/pod.t
438 t/use.t
439 ),
440 ],
4f3a742d
DR
441 },
442
443 'ExtUtils::CBuilder' => {
83dcc064 444 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
4f3a742d 445 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
446 'EXCLUDED' => [
447 qw(README.mkdn),
448 qr{^xt},
449 ],
4f3a742d
DR
450 },
451
4f3a742d 452 'ExtUtils::Constant' => {
4f3a742d 453
c9849c52 454 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
4f3a742d
DR
455 'FILES' => q[cpan/ExtUtils-Constant],
456 'EXCLUDED' => [
457 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
458 examples/perl_keyword.pl
459 examples/perl_regcomp_posix_keyword.pl
460 ),
34c00cdf 461 ],
c9849c52
DM
462 # cc37ebcee3 to fix VMS failure
463 'CUSTOMIZED' => [ qw(t/Constant.t) ],
4f3a742d
DR
464 },
465
466 'ExtUtils::Install' => {
f1c22b9e 467 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 468 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
469 'EXCLUDED' => [
470 qw( t/lib/Test/Builder.pm
471 t/lib/Test/Builder/Module.pm
472 t/lib/Test/More.pm
473 t/lib/Test/Simple.pm
474 t/pod-coverage.t
475 t/pod.t
476 ),
477 ],
4f3a742d
DR
478 },
479
480 'ExtUtils::MakeMaker' => {
fcbb262b 481 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.24.tar.gz',
4f3a742d
DR
482 'FILES' => q[cpan/ExtUtils-MakeMaker],
483 'EXCLUDED' => [
484 qr{^t/lib/Test/},
485 qr{^(bundled|my)/},
486 qr{^t/Liblist_Kid.t},
487 qr{^t/liblist/},
78fd4358 488 qr{^\.perlcriticrc},
84c82da4
SH
489 'PATCHING',
490 'README.packaging',
ce9582af 491 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 492 ],
4f3a742d
DR
493 },
494
495 'ExtUtils::Manifest' => {
f660499c 496 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 497 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
498 'EXCLUDED' => [
499 qr(^t/00-report-prereqs),
500 qr(^xt/)
501 ],
4f3a742d
DR
502 },
503
504 'ExtUtils::ParseXS' => {
bdc4e4b2 505 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
4f3a742d 506 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
507 },
508
4f3a742d 509 'File::Fetch' => {
ac1690b9 510 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.52.tar.gz',
4f3a742d 511 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
512 },
513
4f3a742d 514 'File::Path' => {
bfcc9519 515 'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
4f3a742d
DR
516 'FILES' => q[cpan/File-Path],
517 'EXCLUDED' => [
bfcc9519
SH
518 qw(t/Path-Class.t),
519 qr{^xt/},
4f3a742d 520 ],
ef667930
TC
521 # https://github.com/rpcme/File-Path/pull/34
522 'CUSTOMIZED' => [ qw( lib/File/Path.pm t/Path_win32.t ) ],
4f3a742d
DR
523 },
524
4f3a742d 525 'File::Temp' => {
3d5f905f 526 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
527 'FILES' => q[cpan/File-Temp],
528 'EXCLUDED' => [
529 qw( misc/benchmark.pl
530 misc/results.txt
531 ),
814e893f
CBW
532 qw[t/00-report-prereqs.t],
533 qr{^xt},
4f3a742d 534 ],
4f3a742d
DR
535 },
536
4f3a742d 537 'Filter::Simple' => {
37ffe967 538 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
539 'FILES' => q[dist/Filter-Simple],
540 'EXCLUDED' => [
4f3a742d
DR
541 qr{^demo/}
542 ],
4f3a742d
DR
543 },
544
545 'Filter::Util::Call' => {
356231b0 546 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
4f3a742d
DR
547 'FILES' => q[cpan/Filter-Util-Call
548 pod/perlfilter.pod
549 ],
550 'EXCLUDED' => [
551 qr{^decrypt/},
552 qr{^examples/},
553 qr{^Exec/},
554 qr{^lib/Filter/},
555 qr{^tee/},
556 qw( Call/Makefile.PL
557 Call/ppport.h
558 Call/typemap
559 mytest
560 t/cpp.t
561 t/decrypt.t
562 t/exec.t
563 t/order.t
4f3a742d
DR
564 t/sh.t
565 t/tee.t
533d93cc
SH
566 t/z_kwalitee.t
567 t/z_meta.t
568 t/z_perl_minimum_version.t
569 t/z_pod-coverage.t
570 t/z_pod.t
4f3a742d
DR
571 ),
572 ],
573 'MAP' => {
574 'Call/' => 'cpan/Filter-Util-Call/',
575 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
576 'perlfilter.pod' => 'pod/perlfilter.pod',
577 '' => 'cpan/Filter-Util-Call/',
578 },
4f3a742d
DR
579 },
580
4f3a742d 581 'Getopt::Long' => {
3aa49e42 582 'DISTRIBUTION' => 'JV/Getopt-Long-2.49.1.tar.gz',
4f3a742d
DR
583 'FILES' => q[cpan/Getopt-Long],
584 'EXCLUDED' => [
585 qr{^examples/},
586 qw( perl-Getopt-Long.spec
587 lib/newgetopt.pl
974d5816 588 t/gol-compat.t
4f3a742d
DR
589 ),
590 ],
4f3a742d
DR
591 },
592
4f3a742d 593 'HTTP::Tiny' => {
d534cca5 594 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.070.tar.gz',
4f3a742d
DR
595 'FILES' => q[cpan/HTTP-Tiny],
596 'EXCLUDED' => [
fcfb9f49 597 't/00-report-prereqs.t',
57d69a40 598 't/00-report-prereqs.dd',
4f3a742d 599 't/200_live.t',
44347bc3 600 't/200_live_local_ip.t',
fcfb9f49 601 't/210_live_ssl.t',
4f3a742d
DR
602 qr/^eg/,
603 qr/^xt/
604 ],
4f3a742d
DR
605 },
606
607 'I18N::Collate' => {
4f3a742d
DR
608 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
609 'FILES' => q[dist/I18N-Collate],
610 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
611 },
612
4f3a742d 613 'I18N::LangTags' => {
4f3a742d 614 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
615 },
616
617 'if' => {
f7294c1d 618 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 619 'FILES' => q[dist/if],
4f3a742d
DR
620 },
621
622 'IO' => {
4f3a742d
DR
623 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
624 'FILES' => q[dist/IO/],
625 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
626 },
627
628 'IO-Compress' => {
7dcc7d3d 629 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
4f3a742d 630 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
631 'EXCLUDED' => [
632 qr{^examples/},
633 qr{^t/Test/},
634 't/010examples-bzip2.t',
635 't/010examples-zlib.t',
636 't/cz-05examples.t',
637 ],
8b56300e
TC
638 'CUSTOMIZED' => [
639 # CVE-2016-1238
640 qw(
641 bin/zipdetails lib/Compress/Zlib.pm
642 lib/IO/Compress/Adapter/Bzip2.pm
643 lib/IO/Compress/Adapter/Deflate.pm
644 lib/IO/Compress/Adapter/Identity.pm
645 lib/IO/Compress/Base.pm
646 lib/IO/Compress/Base/Common.pm
647 lib/IO/Compress/Bzip2.pm
648 lib/IO/Compress/Deflate.pm
649 lib/IO/Compress/Gzip.pm
650 lib/IO/Compress/Gzip/Constants.pm
651 lib/IO/Compress/RawDeflate.pm
652 lib/IO/Compress/Zip.pm
653 lib/IO/Compress/Zip/Constants.pm
654 lib/IO/Compress/Zlib/Constants.pm
655 lib/IO/Compress/Zlib/Extra.pm
656 lib/IO/Uncompress/Adapter/Bunzip2.pm
657 lib/IO/Uncompress/Adapter/Identity.pm
658 lib/IO/Uncompress/Adapter/Inflate.pm
659 lib/IO/Uncompress/AnyInflate.pm
660 lib/IO/Uncompress/AnyUncompress.pm
661 lib/IO/Uncompress/Base.pm
662 lib/IO/Uncompress/Bunzip2.pm
663 lib/IO/Uncompress/Gunzip.pm
664 lib/IO/Uncompress/Inflate.pm
665 lib/IO/Uncompress/RawInflate.pm
666 lib/IO/Uncompress/Unzip.pm
667 )
668 ],
4f3a742d
DR
669 },
670
74a30e96 671 'IO::Socket::IP' => {
89309dce 672 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.38.tar.gz',
74a30e96
CBW
673 'FILES' => q[cpan/IO-Socket-IP],
674 'EXCLUDED' => [
675 qr{^examples/},
676 ],
677 },
678
4f3a742d 679 'IO::Zlib' => {
4f3a742d
DR
680 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
681 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
682 },
683
684 'IPC::Cmd' => {
00d961ca 685 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.96.tar.gz',
4f3a742d 686 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
687 },
688
4f3a742d 689 'IPC::SysV' => {
f38527b2 690 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
691 'FILES' => q[cpan/IPC-SysV],
692 'EXCLUDED' => [
693 qw( const-c.inc
694 const-xs.inc
695 ),
696 ],
4f3a742d
DR
697 },
698
699 'JSON::PP' => {
a1e5c561 700 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27400.tar.gz',
4f3a742d 701 'FILES' => q[cpan/JSON-PP],
8b56300e 702 'CUSTOMIZED' => [
b1cd7fa0 703 'bin/json_pp', # CVE-2016-1238
9f6d2714
JH
704 'lib/JSON/PP.pm', # CVE-2016-1238, CPAN RT 118469
705 't/011_pc_expo.t', # CPAN RT 118469
706 't/018_json_checker.t', # CPAN RT 118469
8b56300e 707 ],
4f3a742d
DR
708 },
709
710 'lib' => {
4f3a742d
DR
711 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
712 'FILES' => q[dist/lib/],
713 'EXCLUDED' => [
714 qw( forPAUSE/lib.pm
715 t/00pod.t
716 ),
717 ],
4f3a742d
DR
718 },
719
720 'libnet' => {
a9282e3c 721 'DISTRIBUTION' => 'SHAY/libnet-3.10.tar.gz',
4f3a742d
DR
722 'FILES' => q[cpan/libnet],
723 'EXCLUDED' => [
724 qw( Configure
2901a52f 725 t/changes.t
59e3cdd4
SH
726 t/critic.t
727 t/pod.t
728 t/pod_coverage.t
4f3a742d 729 ),
84c82da4 730 qr(^demos/),
dadfa42f 731 qr(^t/external/),
4f3a742d 732 ],
4f3a742d
DR
733 },
734
735 'Locale-Codes' => {
6402f8b0 736 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.40.tar.gz',
4f3a742d
DR
737 'FILES' => q[cpan/Locale-Codes],
738 'EXCLUDED' => [
84c82da4 739 qw( README.first
8eadc45b 740 t/pod_coverage.ign
84c82da4 741 t/pod_coverage.t
4f3a742d
DR
742 t/pod.t),
743 qr{^t/runtests},
744 qr{^t/runtests\.bat},
745 qr{^internal/},
746 qr{^examples/},
747 ],
4f3a742d
DR
748 },
749
750 'Locale::Maketext' => {
822f029b 751 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.tar.gz',
4f3a742d
DR
752 'FILES' => q[dist/Locale-Maketext],
753 'EXCLUDED' => [
754 qw(
755 perlcriticrc
756 t/00_load.t
757 t/pod.t
758 ),
759 ],
4f3a742d
DR
760 },
761
762 'Locale::Maketext::Simple' => {
4f3a742d
DR
763 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
764 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
765 'CUSTOMIZED' => [
766 # CVE-2016-1238
767 qw( lib/Locale/Maketext/Simple.pm )
768 ],
4f3a742d
DR
769 },
770
4f3a742d 771 'Math::BigInt' => {
54b49d96 772 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999802.tar.gz',
6b0f9b46 773 'FILES' => q[cpan/Math-BigInt],
4f3a742d
DR
774 'EXCLUDED' => [
775 qr{^inc/},
776 qr{^examples/},
6b10d254 777 qr{^t/author-},
4f3a742d
DR
778 qw( t/00sig.t
779 t/01load.t
780 t/02pod.t
781 t/03podcov.t
782 ),
783 ],
4f3a742d
DR
784 },
785
786 'Math::BigInt::FastCalc' => {
d239a8c7 787 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5002.tar.gz',
6b0f9b46 788 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d
DR
789 'EXCLUDED' => [
790 qr{^inc/},
d239a8c7
CBW
791 qr{^t/author-},
792 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
793 qw( t/00sig.t
794 t/01load.t
795 t/02pod.t
796 t/03podcov.t
797 ),
798
799 # instead we use the versions of these test
800 # files that come with Math::BigInt:
801 qw( t/bigfltpm.inc
802 t/bigfltpm.t
803 t/bigintpm.inc
804 t/bigintpm.t
805 t/mbimbf.inc
806 t/mbimbf.t
807 ),
808 ],
4f3a742d
DR
809 },
810
811 'Math::BigRat' => {
0c2fbbe3 812 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260805.tar.gz',
6b0f9b46 813 'FILES' => q[cpan/Math-BigRat],
4f3a742d
DR
814 'EXCLUDED' => [
815 qr{^inc/},
6320cdc0 816 qr{^t/author-},
4f3a742d
DR
817 qw( t/00sig.t
818 t/01load.t
819 t/02pod.t
820 t/03podcov.t
9b331ac6
SH
821 ),
822 ],
4f3a742d
DR
823 },
824
825 'Math::Complex' => {
04ae1553 826 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 827 'FILES' => q[cpan/Math-Complex],
50e27233
JH
828 'CUSTOMIZED' => [
829 'lib/Math/Complex.pm', # CPAN RT 118467
830 't/Complex.t', # CPAN RT 118467
831 't/Trig.t', # CPAN RT 118467
832 ],
4f3a742d
DR
833 'EXCLUDED' => [
834 qw( t/pod.t
835 t/pod-coverage.t
836 ),
837 ],
4f3a742d
DR
838 },
839
840 'Memoize' => {
8114efa0 841 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
842 'FILES' => q[cpan/Memoize],
843 'EXCLUDED' => ['article.html'],
8b56300e
TC
844 'CUSTOMIZED' => [
845 # CVE-2016-1238
846 qw( Memoize.pm )
847 ],
4f3a742d
DR
848 },
849
850 'MIME::Base64' => {
6b10655d 851 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
852 'FILES' => q[cpan/MIME-Base64],
853 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
854 },
855
4f3a742d 856 'Module::CoreList' => {
fb882494 857 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20161120.tar.gz',
4f3a742d 858 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
859 },
860
861 'Module::Load' => {
58572ed8 862 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 863 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
864 },
865
866 'Module::Load::Conditional' => {
2c34ec1b 867 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz',
4f3a742d 868 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
869 },
870
871 'Module::Loaded' => {
4f3a742d
DR
872 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
873 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
874 },
875
876 'Module::Metadata' => {
d4fbd0ca 877 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000033.tar.gz',
4f3a742d
DR
878 'FILES' => q[cpan/Module-Metadata],
879 'EXCLUDED' => [
b9beed70 880 qw(t/00-report-prereqs.t),
adc2cdfb 881 qw(t/00-report-prereqs.dd),
e6d414a9 882 qr{weaver.ini},
4f3a742d
DR
883 qr{^xt},
884 ],
4f3a742d
DR
885 },
886
4f3a742d 887 'Net::Ping' => {
26e9d721 888 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.55.tar.gz',
4f3a742d 889 'FILES' => q[dist/Net-Ping],
773d126d 890 'EXCLUDED' => [
26e9d721 891 qw(README.md.PL),
773d126d
CBW
892 qw(t/020_external.t),
893 qw(t/600_pod.t),
894 qw(t/601_pod-coverage.t),
895 ],
01b515d1 896 'CUSTOMIZED' => [
7bfdd826 897 qw( t/000_load.t t/001_new.t t/010_pingecho.t t/500_ping_icmp.t),
01b515d1 898 ],
773d126d 899
4f3a742d
DR
900 },
901
902 'NEXT' => {
c8321e06 903 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
4f3a742d
DR
904 'FILES' => q[cpan/NEXT],
905 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
906 },
907
4f3a742d 908 'Params::Check' => {
8b21fa03 909 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 910 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
911 },
912
913 'parent' => {
39250dd4 914 'DISTRIBUTION' => 'CORION/parent-0.236.tar.gz',
4f3a742d 915 'FILES' => q[cpan/parent],
39250dd4
SH
916 'EXCLUDED' => [
917 qr{^xt}
918 ],
4f3a742d
DR
919 },
920
4f3a742d 921 'PathTools' => {
0224bf41 922 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
cb8c8458 923 'FILES' => q[dist/PathTools],
76250107
SH
924 'EXCLUDED' => [
925 qr{^t/lib/Test/},
926 qw( t/rel2abs_vs_symlink.t),
927 ],
4f3a742d
DR
928 },
929
97b1d6e6 930 'Perl::OSType' => {
ea8e5adc 931 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 932 'FILES' => q[cpan/Perl-OSType],
765955c0 933 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
934 },
935
97b1d6e6 936 'perlfaq' => {
a2c3b2fe 937 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
97b1d6e6
SH
938 'FILES' => q[cpan/perlfaq],
939 'EXCLUDED' => [
4d25f022 940 qw( inc/CreateQuestionList.pm
e3ef4406 941 inc/perlfaq.tt
4d25f022
SH
942 t/00-compile.t),
943 qr{^xt/},
97b1d6e6 944 ],
97b1d6e6
SH
945 },
946
4f3a742d 947 'PerlIO::via::QuotedPrint' => {
96623e31 948 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 949 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
950 },
951
0c501878 952 'Pod::Checker' => {
0de6c762 953 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
0c501878 954 'FILES' => q[cpan/Pod-Checker],
2beba2a9
SH
955 'CUSTOMIZED' => [ qw[
956 t/pod/contains_bad_pod.xr
957 t/pod/selfcheck.t
958 t/pod/testcmp.pl
959 t/pod/testpchk.pl
960 ] ],
0c501878
CBW
961 },
962
4f3a742d 963 'Pod::Escapes' => {
f347d3e3 964 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 965 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
966 },
967
4f3a742d 968 'Pod::Parser' => {
534577b2 969 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 970 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
971 },
972
973 'Pod::Perldoc' => {
42b862f5 974 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.27.tar.gz',
00e518b3 975 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 976
fa884b76
DM
977 # Note that we use the CPAN-provided Makefile.PL, since it
978 # contains special handling of the installation of perldoc.pod
979
5fddd31d
SH
980 'EXCLUDED' => [
981 # In blead, the perldoc executable is generated by perldoc.PL
982 # instead
983 # XXX We can and should fix this, but clean up the DRY-failure in
984 # utils first
985 'perldoc',
986
987 # https://rt.cpan.org/Ticket/Display.html?id=116827
988 't/02_module_pod_output.t'
989 ],
4f3a742d
DR
990 },
991
992 'Pod::Simple' => {
a4a12576 993 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
4f3a742d 994 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
995 },
996
0c501878 997 'Pod::Usage' => {
3735683b 998 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
0c501878 999 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
1000 },
1001
4f3a742d 1002 'podlators' => {
a7ea90b1 1003 'DISTRIBUTION' => 'RRA/podlators-4.09.tar.gz',
4f3a742d 1004 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
1005 'EXCLUDED' => [
1006 qr{^docs/metadata/},
1007 ],
4f3a742d 1008
4f3a742d
DR
1009 'MAP' => {
1010 '' => 'cpan/podlators/',
4f3a742d 1011 # this file lives outside the cpan/ directory
1efe9157 1012 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 1013 },
4f3a742d
DR
1014 },
1015
4f3a742d 1016 'Safe' => {
e739c653 1017 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 1018 'FILES' => q[dist/Safe],
4f3a742d
DR
1019 },
1020
1021 'Scalar-List-Utils' => {
a0b61ef9 1022 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.46.tar.gz',
869a9612 1023 'FILES' => q[cpan/Scalar-List-Utils],
1476bbfa
JH
1024 'CUSTOMIZED' => [
1025 'lib/List/Util.pm', # CPAN RT 118470
1026 'lib/List/Util/XS.pm', # CPAN RT 118470
1027 'lib/Scalar/Util.pm', # CPAN RT 118470
1028 'lib/Sub/Util.pm', # CPAN RT 118470
1029 't/lln.t', # CPAN RT 118470
1030 't/uniq.t', # CPAN RT 118470
1031 ],
4f3a742d
DR
1032 },
1033
4f3a742d 1034 'Search::Dict' => {
0b0a7092 1035 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 1036 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
1037 },
1038
1039 'SelfLoader' => {
c3958279 1040 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
1041 'FILES' => q[dist/SelfLoader],
1042 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1043 },
1044
4f3a742d 1045 'Socket' => {
06a9195c 1046 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 1047 'FILES' => q[cpan/Socket],
06a9195c
SH
1048
1049 # https://rt.cpan.org/Ticket/Display.html?id=106797
1050 # https://rt.cpan.org/Ticket/Display.html?id=107058
98e2bb74 1051 # https://rt.cpan.org/Ticket/Display.html?id=111707
06a9195c 1052 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
1053 },
1054
1055 'Storable' => {
5f4b5e0f 1056 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 1057 'FILES' => q[dist/Storable],
76250107
SH
1058 'EXCLUDED' => [
1059 qr{^t/compat/},
1060 ],
4f3a742d
DR
1061 },
1062
4f3a742d 1063 'Sys::Syslog' => {
9f0af693 1064 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
4f3a742d
DR
1065 'FILES' => q[cpan/Sys-Syslog],
1066 'EXCLUDED' => [
1067 qr{^eg/},
84c82da4
SH
1068 qw( README.win32
1069 t/data-validation.t
4f3a742d
DR
1070 t/distchk.t
1071 t/pod.t
1072 t/podcover.t
1073 t/podspell.t
1074 t/portfs.t
1075 win32/PerlLog.RES
4f3a742d
DR
1076 ),
1077 ],
4f3a742d
DR
1078 },
1079
1080 'Term::ANSIColor' => {
93d7ac13 1081 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
4f3a742d
DR
1082 'FILES' => q[cpan/Term-ANSIColor],
1083 'EXCLUDED' => [
93d7ac13 1084 qr{^docs/},
92f80b37
CBW
1085 qr{^examples/},
1086 qr{^t/data/},
5e64492f
CBW
1087 qr{^t/docs/},
1088 qr{^t/style/},
1089 qw( t/module/aliases-env.t ),
4f3a742d 1090 ],
4f3a742d
DR
1091 },
1092
1093 'Term::Cap' => {
23a75734 1094 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1095 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1096 },
1097
1098 'Term::Complete' => {
4f3a742d
DR
1099 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1100 'FILES' => q[dist/Term-Complete],
1101 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1102 },
1103
1104 'Term::ReadLine' => {
75ad3638 1105 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1106 'FILES' => q[dist/Term-ReadLine],
1107 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1108 },
1109
4f3a742d 1110 'Test' => {
1c22e001 1111 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1112 'FILES' => q[dist/Test],
4f3a742d
DR
1113 },
1114
1115 'Test::Harness' => {
3eb3ec0b 1116 'DISTRIBUTION' => 'LEONT/Test-Harness-3.36.tar.gz',
4f3a742d
DR
1117 'FILES' => q[cpan/Test-Harness],
1118 'EXCLUDED' => [
1119 qr{^examples/},
4f3a742d
DR
1120 qr{^xt/},
1121 qw( Changes-2.64
8db65552 1122 MANIFEST.CUMMULATIVE
4f3a742d
DR
1123 HACKING.pod
1124 perlcriticrc
8db65552 1125 t/000-load.t
4f3a742d
DR
1126 t/lib/if.pm
1127 ),
1128 ],
8b56300e
TC
1129 'CUSTOMIZED' => [
1130 # CVE-2016-1238
1131 qw(
1132 bin/prove lib/App/Prove.pm lib/App/Prove/State.pm
1133 lib/App/Prove/State/Result.pm
1134 lib/App/Prove/State/Result/Test.pm
1135 lib/TAP/Base.pm lib/TAP/Formatter/Base.pm
1136 lib/TAP/Formatter/Color.pm
1137 lib/TAP/Formatter/Console.pm
1138 lib/TAP/Formatter/Console/ParallelSession.pm
1139 lib/TAP/Formatter/Console/Session.pm
1140 lib/TAP/Formatter/File.pm
1141 lib/TAP/Formatter/File/Session.pm
1142 lib/TAP/Formatter/Session.pm lib/TAP/Harness.pm
1143 lib/TAP/Harness/Env.pm lib/TAP/Object.pm
1144 lib/TAP/Parser.pm lib/TAP/Parser/Aggregator.pm
1145 lib/TAP/Parser/Grammar.pm
1146 lib/TAP/Parser/Iterator.pm
1147 lib/TAP/Parser/Iterator/Array.pm
1148 lib/TAP/Parser/Iterator/Process.pm
1149 lib/TAP/Parser/Iterator/Stream.pm
1150 lib/TAP/Parser/IteratorFactory.pm
1151 lib/TAP/Parser/Multiplexer.pm
1152 lib/TAP/Parser/Result.pm
1153 lib/TAP/Parser/Result/Bailout.pm
1154 lib/TAP/Parser/Result/Comment.pm
1155 lib/TAP/Parser/Result/Plan.pm
1156 lib/TAP/Parser/Result/Pragma.pm
1157 lib/TAP/Parser/Result/Test.pm
1158 lib/TAP/Parser/Result/Unknown.pm
1159 lib/TAP/Parser/Result/Version.pm
1160 lib/TAP/Parser/Result/YAML.pm
1161 lib/TAP/Parser/ResultFactory.pm
1162 lib/TAP/Parser/Scheduler.pm
1163 lib/TAP/Parser/Scheduler/Job.pm
1164 lib/TAP/Parser/Scheduler/Spinner.pm
1165 lib/TAP/Parser/Source.pm
1166 lib/TAP/Parser/SourceHandler.pm
1167 lib/TAP/Parser/SourceHandler/Executable.pm
1168 lib/TAP/Parser/SourceHandler/File.pm
1169 lib/TAP/Parser/SourceHandler/Handle.pm
1170 lib/TAP/Parser/SourceHandler/Perl.pm
1171 lib/TAP/Parser/SourceHandler/RawTAP.pm
1172 lib/TAP/Parser/YAMLish/Reader.pm
1173 lib/TAP/Parser/YAMLish/Writer.pm
1174 lib/Test/Harness.pm
1175 )
1176 ],
4f3a742d
DR
1177 },
1178
1179 'Test::Simple' => {
fa951d2c 1180 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302067.tar.gz',
4f3a742d
DR
1181 'FILES' => q[cpan/Test-Simple],
1182 'EXCLUDED' => [
0b4ffce6
SH
1183 qr{^examples/},
1184 qr{^xt/},
022600ce
SH
1185 qw( appveyor.yml
1186 perltidyrc
80a7dd19 1187 t/00compile.t
c6a6e1c8
CG
1188 t/00-report.t
1189 t/zzz-check-breaks.t
4f3a742d
DR
1190 ),
1191 ],
f266b743 1192 },
4f3a742d
DR
1193
1194 'Text::Abbrev' => {
5e96eee9 1195 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1196 'FILES' => q[dist/Text-Abbrev],
1197 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1198 },
1199
1200 'Text::Balanced' => {
03a97c81 1201 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1202 'FILES' => q[cpan/Text-Balanced],
1203 'EXCLUDED' => [
1204 qw( t/97_meta.t
1205 t/98_pod.t
1206 t/99_pmv.t
1207 ),
1208 ],
4f3a742d
DR
1209 },
1210
1211 'Text::ParseWords' => {
a790e348 1212 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1213 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1214 },
1215
4f3a742d 1216 'Text-Tabs+Wrap' => {
83aea42c 1217 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1218 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1219 'EXCLUDED' => [
1220 qr/^lib\.old/,
1221 't/dnsparks.t', # see af6492bf9e
4f3a742d 1222 ],
e7b92d54
SH
1223 'MAP' => {
1224 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1225 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1226 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1227 },
4f3a742d
DR
1228 },
1229
4e75700d
AC
1230 # Jerry Hedden does take patches that are applied to blead first, even
1231 # though that can be hard to discern from the Git history; so it's
1232 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1233 # to be under dist/ rather than cpan/
4f3a742d 1234 'Thread::Queue' => {
89e2fe52 1235 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.11.tar.gz',
4f3a742d
DR
1236 'FILES' => q[dist/Thread-Queue],
1237 'EXCLUDED' => [
1fd4700e
JH
1238 qr{^examples/},
1239 qw( t/00_load.t
4f3a742d
DR
1240 t/99_pod.t
1241 t/test.pl
1242 ),
1243 ],
4f3a742d
DR
1244 },
1245
1246 'Thread::Semaphore' => {
51068c14 1247 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1248 'FILES' => q[dist/Thread-Semaphore],
1249 'EXCLUDED' => [
1250 qw( examples/semaphore.pl
1251 t/00_load.t
1252 t/99_pod.t
1253 t/test.pl
1254 ),
1255 ],
4f3a742d
DR
1256 },
1257
1258 'threads' => {
5ea3460b 1259 'DISTRIBUTION' => 'JDHEDDEN/threads-2.09.tar.gz',
4f3a742d
DR
1260 'FILES' => q[dist/threads],
1261 'EXCLUDED' => [
1262 qr{^examples/},
1263 qw( t/pod.t
1264 t/test.pl
1265 threads.h
1266 ),
1267 ],
4f3a742d
DR
1268 },
1269
1270 'threads::shared' => {
83c15bcd 1271 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.52.tar.gz',
4f3a742d
DR
1272 'FILES' => q[dist/threads-shared],
1273 'EXCLUDED' => [
1274 qw( examples/class.pl
1275 shared.h
1276 t/pod.t
1277 t/test.pl
1278 ),
1279 ],
4f3a742d
DR
1280 },
1281
1282 'Tie::File' => {
4ac9c666 1283 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1284 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1285 },
1286
4f3a742d 1287 'Tie::RefHash' => {
4f3a742d
DR
1288 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1289 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1290 },
1291
1292 'Time::HiRes' => {
12389a22 1293 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9741.tar.gz',
91ba54d4 1294 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1295 },
1296
1297 'Time::Local' => {
dad75267 1298 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz',
4f3a742d
DR
1299 'FILES' => q[cpan/Time-Local],
1300 'EXCLUDED' => [
cc890588
SH
1301 qr{^xt/},
1302 qw( perlcriticrc
1303 perltidyrc
1304 tidyall.ini
1305 t/00-report-prereqs.t
1306 t/00-report-prereqs.dd
1307 ),
4f3a742d 1308 ],
4f3a742d
DR
1309 },
1310
1311 'Time::Piece' => {
5563b392 1312 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
4f3a742d 1313 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1314 },
1315
1316 'Unicode::Collate' => {
3f9b5325 1317 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.19.tar.gz',
4f3a742d
DR
1318 'FILES' => q[cpan/Unicode-Collate],
1319 'EXCLUDED' => [
1320 qr{N$},
1321 qr{^data/},
1322 qr{^gendata/},
1323 qw( disableXS
1324 enableXS
1325 mklocale
1326 ),
1327 ],
4f3a742d
DR
1328 },
1329
1330 'Unicode::Normalize' => {
1ef95abd 1331 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
3baae3fa 1332 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1333 'EXCLUDED' => [
1334 qw( MANIFEST.N
1335 Normalize.pmN
1336 disableXS
1337 enableXS
1338 ),
1339 ],
4f3a742d
DR
1340 },
1341
4f3a742d 1342 'version' => {
38660758 1343 'DISTRIBUTION' => 'JPEACOCK/version-0.9917.tar.gz',
4fa93b19 1344 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1345 'EXCLUDED' => [
df3ba8e7 1346 qr{^vutil/lib/},
c60b4fa6 1347 'vutil/Makefile.PL',
df3ba8e7
FC
1348 'vutil/ppport.h',
1349 'vutil/vxs.xs',
ce9582af 1350 't/00impl-pp.t',
4f3a742d 1351 't/survey_locales',
d1e81356 1352 'vperl/vpp.pm',
4f3a742d 1353 ],
f81a37f2 1354
c872d591
SH
1355 # When adding the CPAN-distributed files for version.pm, it is necessary
1356 # to delete an entire block out of lib/version.pm, since that code is
1357 # only necessary with the CPAN release.
f81a37f2
SH
1358 'CUSTOMIZED' => [
1359 qw( lib/version.pm
f81a37f2
SH
1360 ),
1361 ],
1362
df3ba8e7 1363 'MAP' => {
4fa93b19 1364 'vutil/' => '',
df3ba8e7
FC
1365 '' => 'cpan/version/',
1366 },
4f3a742d
DR
1367 },
1368
4f3a742d 1369 'warnings' => {
099bebb1 1370 'FILES' => q[
4f3a742d 1371 lib/warnings
099bebb1
SH
1372 lib/warnings.{pm,t}
1373 regen/warnings.pl
4f3a742d 1374 t/lib/warnings
099bebb1 1375 ],
4f3a742d
DR
1376 },
1377
4f3a742d 1378 'Win32' => {
083231ea 1379 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1380 'FILES' => q[cpan/Win32],
4f3a742d
DR
1381 },
1382
1383 'Win32API::File' => {
df61f5a9 1384 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1385 'FILES' => q[cpan/Win32API-File],
1386 'EXCLUDED' => [
1387 qr{^ex/},
4f3a742d 1388 ],
4f3a742d
DR
1389 },
1390
4f3a742d 1391 'XSLoader' => {
6f2c9cc3 1392 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1393 'FILES' => q[dist/XSLoader],
1394 'EXCLUDED' => [
1395 qr{^eg/},
57f9caa0
SH
1396 qw( t/00-load.t
1397 t/01-api.t
1398 t/distchk.t
1399 t/pod.t
4f3a742d
DR
1400 t/podcover.t
1401 t/portfs.t
1402 ),
1403 'XSLoader.pm', # we use XSLoader_pm.PL
1404 ],
4f3a742d
DR
1405 },
1406
462ea751
DM
1407 # this pseudo-module represents all the files under ext/ and lib/
1408 # that aren't otherwise claimed. This means that the following two
1409 # commands will check that every file under ext/ and lib/ is
1410 # accounted for, and that there are no duplicates:
1411 #
1412 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1413 # perl Porting/Maintainers --checkmani
462ea751 1414
4f3a742d 1415 '_PERLLIB' => {
2af3c4b9 1416 'FILES' => q[
79852350
AB
1417 ext/Amiga-ARexx/
1418 ext/Amiga-Exec/
09213599 1419 ext/B/
2af3c4b9
SH
1420 ext/Devel-Peek/
1421 ext/DynaLoader/
1422 ext/Errno/
7b4d95f7 1423 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1424 ext/Fcntl/
1425 ext/File-DosGlob/
1426 ext/File-Find/
1427 ext/File-Glob/
1428 ext/FileCache/
1429 ext/GDBM_File/
1430 ext/Hash-Util-FieldHash/
1431 ext/Hash-Util/
1432 ext/I18N-Langinfo/
1433 ext/IPC-Open3/
1434 ext/NDBM_File/
1435 ext/ODBM_File/
1436 ext/Opcode/
1437 ext/POSIX/
1438 ext/PerlIO-encoding/
1439 ext/PerlIO-mmap/
1440 ext/PerlIO-scalar/
1441 ext/PerlIO-via/
1442 ext/Pod-Functions/
1443 ext/Pod-Html/
1444 ext/SDBM_File/
1445 ext/Sys-Hostname/
1446 ext/Tie-Hash-NamedCapture/
1447 ext/Tie-Memoize/
b3dcf775 1448 ext/VMS-DCLsym/
2af3c4b9 1449 ext/VMS-Filespec/
b3dcf775
SH
1450 ext/VMS-Stdio/
1451 ext/Win32CORE/
4f3a742d 1452 ext/XS-APItest/
2af3c4b9
SH
1453 ext/XS-Typemap/
1454 ext/arybase/
1455 ext/attributes/
1456 ext/mro/
1457 ext/re/
1458 lib/AnyDBM_File.{pm,t}
1459 lib/Benchmark.{pm,t}
38eca645 1460 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1461 lib/B/Op_private.pm
4f3a742d 1462 lib/CORE.pod
2af3c4b9 1463 lib/Class/Struct.{pm,t}
4f3a742d
DR
1464 lib/Config.t
1465 lib/Config/Extensions.{pm,t}
1466 lib/DB.{pm,t}
2af3c4b9
SH
1467 lib/DBM_Filter.pm
1468 lib/DBM_Filter/
1469 lib/DirHandle.{pm,t}
1470 lib/English.{pm,t}
4f3a742d
DR
1471 lib/ExtUtils/Embed.pm
1472 lib/ExtUtils/XSSymSet.pm
1473 lib/ExtUtils/t/Embed.t
1474 lib/ExtUtils/typemap
2af3c4b9
SH
1475 lib/File/Basename.{pm,t}
1476 lib/File/Compare.{pm,t}
1477 lib/File/Copy.{pm,t}
1478 lib/File/stat{.pm,.t,-7896.t}
1479 lib/FileHandle.{pm,t}
1480 lib/FindBin.{pm,t}
1481 lib/Getopt/Std.{pm,t}
cb198164 1482 lib/Internals.pod
4f3a742d 1483 lib/Internals.t
4b6af431 1484 lib/meta_notation.{pm,t}
4f3a742d
DR
1485 lib/Net/hostent.{pm,t}
1486 lib/Net/netent.{pm,t}
1487 lib/Net/protoent.{pm,t}
1488 lib/Net/servent.{pm,t}
2af3c4b9 1489 lib/PerlIO.pm
4f3a742d
DR
1490 lib/Pod/t/InputObjects.t
1491 lib/Pod/t/Select.t
1492 lib/Pod/t/Usage.t
4f3a742d
DR
1493 lib/Pod/t/utils.t
1494 lib/SelectSaver.{pm,t}
1495 lib/Symbol.{pm,t}
1496 lib/Thread.{pm,t}
1497 lib/Tie/Array.pm
1498 lib/Tie/Array/
1499 lib/Tie/ExtraHash.t
1500 lib/Tie/Handle.pm
1501 lib/Tie/Handle/
2af3c4b9 1502 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1503 lib/Tie/Scalar.{pm,t}
1504 lib/Tie/StdHandle.pm
1505 lib/Tie/SubstrHash.{pm,t}
1506 lib/Time/gmtime.{pm,t}
1507 lib/Time/localtime.{pm,t}
1508 lib/Time/tm.pm
1509 lib/UNIVERSAL.pm
1510 lib/Unicode/README
2af3c4b9 1511 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1512 lib/User/grent.{pm,t}
1513 lib/User/pwent.{pm,t}
2af3c4b9 1514 lib/_charnames.pm
4f3a742d
DR
1515 lib/blib.{pm,t}
1516 lib/bytes.{pm,t}
1517 lib/bytes_heavy.pl
1518 lib/charnames.{pm,t}
1519 lib/dbm_filter_util.pl
1520 lib/deprecate.pm
2af3c4b9 1521 lib/diagnostics.{pm,t}
4f3a742d
DR
1522 lib/dumpvar.{pl,t}
1523 lib/feature.{pm,t}
1524 lib/feature/
1525 lib/filetest.{pm,t}
1526 lib/h2ph.t
1527 lib/h2xs.t
1528 lib/integer.{pm,t}
1529 lib/less.{pm,t}
1530 lib/locale.{pm,t}
706055ce 1531 lib/locale_threads.t
4f3a742d
DR
1532 lib/open.{pm,t}
1533 lib/overload/numbers.pm
1534 lib/overloading.{pm,t}
2af3c4b9 1535 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1536 lib/perl5db.{pl,t}
1537 lib/perl5db/
a3b4b767 1538 lib/perlbug.t
2af3c4b9 1539 lib/sigtrap.{pm,t}
4f3a742d
DR
1540 lib/sort.{pm,t}
1541 lib/strict.{pm,t}
1542 lib/subs.{pm,t}
1543 lib/unicore/
1544 lib/utf8.{pm,t}
1545 lib/utf8_heavy.pl
1546 lib/vars{.pm,.t,_carp.t}
1547 lib/vmsish.{pm,t}
1548 ],
4f3a742d 1549 },
462ea751 1550);
b128a327 1551
97556ec3 1552# legacy CPAN flag
4f3a742d 1553for ( values %Modules ) {
97556ec3
GA
1554 $_->{CPAN} = !!$_->{DISTRIBUTION};
1555}
1556
099bebb1
SH
1557# legacy UPSTREAM flag
1558for ( keys %Modules ) {
1559 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1560 next if exists $Modules{$_}{UPSTREAM};
1561
1562 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1563 $Modules{$_}{UPSTREAM} = 'blead';
1564 }
1565 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1566 $Modules{$_}{UPSTREAM} = 'cpan';
1567 }
1568 else {
1569 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1570 }
1571}
1572
d350de41 1573# legacy MAINTAINER field
099bebb1 1574for ( keys %Modules ) {
b3dcf775 1575 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1576 next if exists $Modules{$_}{MAINTAINER};
1577
1578 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1579 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1580 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1581 }
099bebb1
SH
1582 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1583 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1584 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1585 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1586 }
099bebb1
SH
1587 else {
1588 warn "No DISTRIBUTION for non-blead module $_";
1589 }
d350de41
SH
1590}
1591
b128a327 15921;