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