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