This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Regex sets are no longer experimental
[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(
79ff1055 19 .cvsignore .dualLivedDiffConfig .gitignore .github .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
20d6f799
KE
68# necessarily match the newest version on CPAN. (For dist/ distributions,
69# which are blead-first, a request should be placed with the releaser(s) to
70# upload the corresponding cpan release, and the entry in this file should
71# only be updated when that release has been done.)
a55d270d 72
382558a5
AP
73# MAIN_MODULE names the top-level module by which the tarball is indexed on
74# CPAN in cases where this differs from the distribution's key in %Modules.
75# (If it is equal then MAIN_MODULE is optional and should be omitted.)
76
2c95b6e4
DM
77# EXCLUDED is a list of files to be excluded from a CPAN tarball before
78# comparing the remaining contents with core. Each item can either be a
79# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
80# It defaults to the empty list.
81
d43babf1 82# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
83# Perl core. Use this whenever patching a cpan upstream distribution
84# or whenever we expect to have a file that differs from the tarball.
85# If the file in blead matches the file in the tarball from CPAN,
86# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 87# customization might have been lost when updating from upstream. The
f81a37f2
SH
88# path should be relative to the distribution directory. If the upstream
89# distribution should be modified to incorporate the change then be sure
90# to raise a ticket for it on rt.cpan.org and add a comment alongside the
91# list of CUSTOMIZED files noting the ticket number.
d43babf1 92
ab87ca4d
DG
93# DEPRECATED contains the *first* version of Perl in which the module
94# was considered deprecated. It should only be present if the module is
8dad89f0 95# actually deprecated. Such modules should use deprecate.pm to
ab87ca4d
DG
96# issue a warning if used. E.g.:
97#
98# use if $] >= 5.011, 'deprecate';
99#
100
2c95b6e4 101# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 102# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
103# first. The first match causes that prefix to be replaced with the
104# corresponding key. For example, with the following MAP:
613f422f 105# {
4f3a742d
DR
106# 'lib/' => 'lib/',
107# '' => 'lib/Foo/',
2c95b6e4
DM
108# },
109#
110# these files are mapped as shown:
111#
112# README becomes lib/Foo/README
613f422f 113# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
114#
115# The default is dependent on the type of module.
116# For distributions which appear to be stored under ext/, it defaults to:
117#
118# { '' => 'ext/Foo-Bar/' }
119#
120# otherwise, it's
121#
613f422f 122# {
4f3a742d
DR
123# 'lib/' => 'lib/',
124# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
125# }
126
b128a327
JH
127%Modules = (
128
4f3a742d 129 'Archive::Tar' => {
fbc41327 130 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.40.tar.gz',
4f3a742d 131 'FILES' => q[cpan/Archive-Tar],
4f3a742d 132 'BUGS' => 'bug-archive-tar@rt.cpan.org',
c465fd2f
CBW
133 'EXCLUDED' => [
134 qw(t/07_ptardiff.t),
2db5b8da 135 qr{t/src/(long|short)/foo.txz},
c465fd2f 136 ],
4f3a742d
DR
137 },
138
139 'Attribute::Handlers' => {
e8b9cef0 140 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
4f3a742d 141 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
142 },
143
4f3a742d 144 'autodie' => {
ea6c7d00 145 'DISTRIBUTION' => 'TODDR/autodie-2.34.tar.gz',
4f3a742d
DR
146 'FILES' => q[cpan/autodie],
147 'EXCLUDED' => [
273225d4 148 qr{benchmarks},
f91d7e0d 149 qr{README\.md},
e4cce63d 150 qr{^xt/},
4f3a742d
DR
151 # All these tests depend upon external
152 # modules that don't exist when we're
153 # building the core. Hence, they can
154 # never run, and should not be merged.
ff4ad1c0 155 qw( t/author-critic.t
4f3a742d
DR
156 t/critic.t
157 t/fork.t
158 t/kwalitee.t
159 t/lex58.t
160 t/pod-coverage.t
161 t/pod.t
273225d4
CBW
162 t/release-pod-coverage.t
163 t/release-pod-syntax.t
4f3a742d
DR
164 t/socket.t
165 t/system.t
1b173b1f 166 t/no-all.t
4f3a742d
DR
167 )
168 ],
4f3a742d
DR
169 },
170
171 'AutoLoader' => {
dff36865 172 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
173 'FILES' => q[cpan/AutoLoader],
174 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
175 },
176
177 'autouse' => {
965f9517 178 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
4f3a742d
DR
179 'FILES' => q[dist/autouse],
180 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
181 },
182
4f3a742d 183 'base' => {
4c13dc7e 184 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
4f3a742d 185 'FILES' => q[dist/base],
4f3a742d
DR
186 },
187
4f3a742d 188 'bignum' => {
ca3af6c0 189 'DISTRIBUTION' => 'PJACKLAM/bignum-0.65.tar.gz',
c287fe32 190 'FILES' => q[cpan/bignum],
4f3a742d 191 'EXCLUDED' => [
7deec013 192 qr{^xt/},
91f07087 193 qr{^t/author-},
d5c196da 194 qr{^t/release-},
c287fe32
SH
195 qw( t/00sig.t
196 t/01load.t
4f3a742d
DR
197 ),
198 ],
4f3a742d
DR
199 },
200
201 'Carp' => {
9e3f69e1 202 'DISTRIBUTION' => 'XSAWYERX/Carp-1.50.tar.gz',
4f3a742d 203 'FILES' => q[dist/Carp],
4f3a742d
DR
204 },
205
4f3a742d 206 'Compress::Raw::Bzip2' => {
b864a746 207 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.103.tar.gz',
4f3a742d
DR
208 'FILES' => q[cpan/Compress-Raw-Bzip2],
209 'EXCLUDED' => [
210 qr{^t/Test/},
8284a71c 211 qr{^t/meta},
65b62fea 212 'bzip2-src/bzip2-const.patch',
4f3a742d 213 'bzip2-src/bzip2-cpp.patch',
65b62fea 214 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 215 ],
4f3a742d
DR
216 },
217
218 'Compress::Raw::Zlib' => {
37010f29 219 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.105.tar.gz',
4f3a742d
DR
220 'FILES' => q[cpan/Compress-Raw-Zlib],
221 'EXCLUDED' => [
84c82da4 222 qr{^examples/},
4f3a742d 223 qr{^t/Test/},
8284a71c 224 qr{^t/meta},
4f3a742d
DR
225 qw( t/000prereq.t
226 t/99pod.t
227 ),
228 ],
4f3a742d
DR
229 },
230
4b07058c 231 'Config::Perl::V' => {
edd16cfc 232 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.33.tgz',
4b07058c 233 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
234 'EXCLUDED' => [qw(
235 examples/show-v.pl
b4ade012 236 )],
4b07058c
RS
237 },
238
4f3a742d 239 'constant' => {
8b1ae794 240 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
241 'FILES' => q[dist/constant],
242 'EXCLUDED' => [
243 qw( t/00-load.t
244 t/more-tests.t
245 t/pod-coverage.t
246 t/pod.t
247 eg/synopsis.pl
248 ),
249 ],
4f3a742d
DR
250 },
251
252 'CPAN' => {
4ccd1515 253 'DISTRIBUTION' => 'ANDK/CPAN-2.33-TRIAL.tar.gz',
4f3a742d
DR
254 'FILES' => q[cpan/CPAN],
255 'EXCLUDED' => [
256 qr{^distroprefs/},
257 qr{^inc/Test/},
45a13884
SH
258 qr{^t/CPAN/},
259 qr{^t/data/},
79116533 260 qr{^t/97-},
4f3a742d 261 qw( lib/CPAN/Admin.pm
6156383d 262 scripts/cpan-mirrors
bfae5bde 263 PAUSE2015.pub
6cc23b5a 264 PAUSE2019.pub
ef977e20 265 PAUSE2021.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 ],
4f3a742d
DR
290 },
291
278337cd
CBW
292 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
293 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 294 'CPAN::Meta' => {
f33f0562 295 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
4f3a742d
DR
296 'FILES' => q[cpan/CPAN-Meta],
297 'EXCLUDED' => [
f907dd3c
SH
298 qw[t/00-report-prereqs.t
299 t/00-report-prereqs.dd
f33f0562 300 ],
4f3a742d
DR
301 qr{^xt},
302 qr{^history},
303 ],
4f3a742d
DR
304 },
305
b6ae0ea7 306 'CPAN::Meta::Requirements' => {
054d0c99 307 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
b6ae0ea7
CBW
308 'FILES' => q[cpan/CPAN-Meta-Requirements],
309 'EXCLUDED' => [
c4814040 310 qw(t/00-report-prereqs.t),
54b7cb30 311 qw(t/00-report-prereqs.dd),
608e531f 312 qw(t/version-cleanup.t),
b6ae0ea7 313 qr{^xt},
b6ae0ea7 314 ],
b6ae0ea7
CBW
315 },
316
4f3a742d 317 'CPAN::Meta::YAML' => {
0d99ea03 318 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
4f3a742d
DR
319 'FILES' => q[cpan/CPAN-Meta-YAML],
320 'EXCLUDED' => [
2954a1e9 321 't/00-report-prereqs.t',
e586de20 322 't/00-report-prereqs.dd',
4f3a742d
DR
323 qr{^xt},
324 ],
4f3a742d
DR
325 },
326
327 'Data::Dumper' => {
97a2707c 328 'DISTRIBUTION' => 'NWCLARK/Data-Dumper-2.183.tar.gz',
4f3a742d 329 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
330 },
331
332 'DB_File' => {
71987115 333 'DISTRIBUTION' => 'PMQS/DB_File-1.857.tar.gz',
4f3a742d
DR
334 'FILES' => q[cpan/DB_File],
335 'EXCLUDED' => [
336 qr{^patches/},
1e3f5c47 337 qr{^t/meta},
4f3a742d 338 qw( t/pod.t
22ce58f7 339 t/000prereq.t
4f3a742d
DR
340 fallback.h
341 fallback.xs
342 ),
343 ],
4f3a742d
DR
344 },
345
4f3a742d 346 'Devel::PPPort' => {
09b064e1 347 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.68.tar.gz',
7baf245a 348 'FILES' => q[dist/Devel-PPPort],
84c82da4
SH
349 'EXCLUDED' => [
350 'PPPort.pm', # we use PPPort_pm.PL instead
bb20cabd 351 ],
4f3a742d
DR
352 },
353
97b1d6e6 354 'Devel::SelfStubber' => {
97b1d6e6
SH
355 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
356 'FILES' => q[dist/Devel-SelfStubber],
357 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
358 },
359
4f3a742d 360 'Digest' => {
14956bc7 361 'DISTRIBUTION' => 'TODDR/Digest-1.20.tar.gz',
4f3a742d
DR
362 'FILES' => q[cpan/Digest],
363 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
364 },
365
366 'Digest::MD5' => {
897b79c3 367 'DISTRIBUTION' => 'TODDR/Digest-MD5-2.58.tar.gz',
4f3a742d 368 'FILES' => q[cpan/Digest-MD5],
897b79c3 369 'EXCLUDED' => [ 'rfc1321.txt', 'bin/md5sum.pl' ],
4f3a742d
DR
370 },
371
372 'Digest::SHA' => {
78ce14b4 373 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz',
4f3a742d
DR
374 'FILES' => q[cpan/Digest-SHA],
375 'EXCLUDED' => [
376 qw( t/pod.t
377 t/podcover.t
378 examples/dups
379 ),
380 ],
4f3a742d
DR
381 },
382
4f3a742d 383 'Dumpvalue' => {
f6e46c4d 384 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
385 'FILES' => q[dist/Dumpvalue],
386 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
387 },
388
4f3a742d 389 'Encode' => {
ab5cf2ea 390 'DISTRIBUTION' => 'DANKOGAI/Encode-3.17.tar.gz',
4f3a742d 391 'FILES' => q[cpan/Encode],
4eeaed37
N
392 'EXCLUDED' => [
393 qw( t/whatwg-aliases.json
394 t/whatwg-aliases.t
395 ),
396 ],
4f3a742d
DR
397 },
398
399 'encoding::warnings' => {
4f3a742d 400 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 401 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
402 'EXCLUDED' => [
403 qr{^inc/Module/},
94c85d8e 404 qw(t/0-signature.t),
4f3a742d 405 ],
4f3a742d
DR
406 },
407
4f3a742d 408 'Env' => {
126fc07f 409 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
410 'FILES' => q[dist/Env],
411 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
412 },
413
de84ff2b 414 'experimental' => {
f7a09054 415 'DISTRIBUTION' => 'LEONT/experimental-0.027.tar.gz',
de84ff2b 416 'FILES' => q[cpan/experimental],
4fdcb09b 417 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
418 },
419
4f3a742d 420 'Exporter' => {
933f64ca 421 'DISTRIBUTION' => 'TODDR/Exporter-5.74.tar.gz',
3110a055 422 'FILES' => q[dist/Exporter],
4f3a742d
DR
423 'EXCLUDED' => [
424 qw( t/pod.t
425 t/use.t
426 ),
427 ],
4f3a742d
DR
428 },
429
430 'ExtUtils::CBuilder' => {
0a27ddc7 431 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280236.tar.gz',
4f3a742d 432 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
433 'EXCLUDED' => [
434 qw(README.mkdn),
435 qr{^xt},
436 ],
4f3a742d
DR
437 },
438
4f3a742d 439 'ExtUtils::Constant' => {
4f3a742d 440
4097fff1 441 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz',
4f3a742d 442 'FILES' => q[cpan/ExtUtils-Constant],
9a94bc6f 443 'CUSTOMIZED' => [
a5f79404 444 # https://rt.cpan.org/Ticket/Display.html?id=142181
7d722840 445 'lib/ExtUtils/Constant/Base.pm',
a5f79404 446
9a94bc6f 447 # https://rt.cpan.org/Public/Bug/Display.html?id=132995
a5f79404 448 # https://rt.cpan.org/Ticket/Display.html?id=142183
9a94bc6f
DIM
449 't/Constant.t',
450 ],
4f3a742d
DR
451 'EXCLUDED' => [
452 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
453 examples/perl_keyword.pl
454 examples/perl_regcomp_posix_keyword.pl
455 ),
34c00cdf 456 ],
4f3a742d
DR
457 },
458
459 'ExtUtils::Install' => {
5c46354e 460 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.20.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' => {
d58d6b4b 474 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.64.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
273021bd 488 'ExtUtils::PL2Bat' => {
e7479054 489 'DISTRIBUTION' => 'LEONT/ExtUtils-PL2Bat-0.004.tar.gz',
273021bd
SH
490 'FILES' => q[cpan/ExtUtils-PL2Bat],
491 'EXCLUDED' => [
492 't/00-compile.t',
493 'script/pl2bat.pl'
494 ],
273021bd 495 },
d972df9b 496
4f3a742d 497 'ExtUtils::Manifest' => {
8d01fcd8 498 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.73.tar.gz',
854a00d8 499 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
500 'EXCLUDED' => [
501 qr(^t/00-report-prereqs),
502 qr(^xt/)
503 ],
4f3a742d
DR
504 },
505
506 'ExtUtils::ParseXS' => {
b52ea70f 507 'DISTRIBUTION' => 'XSAWYERX/ExtUtils-ParseXS-3.44.tar.gz',
4f3a742d 508 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
509 },
510
4f3a742d 511 'File::Fetch' => {
4f96d02c 512 'DISTRIBUTION' => 'BINGOS/File-Fetch-1.04.tar.gz',
4f3a742d 513 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
514 },
515
4f3a742d 516 'File::Path' => {
92acf880 517 'DISTRIBUTION' => 'JKEENAN/File-Path-2.18.tar.gz',
4f3a742d
DR
518 'FILES' => q[cpan/File-Path],
519 'EXCLUDED' => [
bfcc9519
SH
520 qw(t/Path-Class.t),
521 qr{^xt/},
4f3a742d 522 ],
4f3a742d
DR
523 },
524
4f3a742d 525 'File::Temp' => {
0df722d6 526 'DISTRIBUTION' => 'ETHER/File-Temp-0.2311.tar.gz',
4f3a742d
DR
527 'FILES' => q[cpan/File-Temp],
528 'EXCLUDED' => [
6bc10107
SH
529 qw( README.mkdn
530 misc/benchmark.pl
4f3a742d
DR
531 misc/results.txt
532 ),
6bc10107 533 qr[^t/00-report-prereqs],
814e893f 534 qr{^xt},
4f3a742d 535 ],
4f3a742d
DR
536 },
537
4f3a742d 538 'Filter::Simple' => {
e9214465 539 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
4f3a742d
DR
540 'FILES' => q[dist/Filter-Simple],
541 'EXCLUDED' => [
4f3a742d
DR
542 qr{^demo/}
543 ],
4f3a742d
DR
544 },
545
546 'Filter::Util::Call' => {
0b7fa637 547 'DISTRIBUTION' => 'RURBAN/Filter-1.60.tar.gz',
4f3a742d
DR
548 'FILES' => q[cpan/Filter-Util-Call
549 pod/perlfilter.pod
550 ],
551 'EXCLUDED' => [
552 qr{^decrypt/},
553 qr{^examples/},
554 qr{^Exec/},
555 qr{^lib/Filter/},
556 qr{^tee/},
ca215658 557 qw( .appveyor.yml
0b7fa637 558 .whitesource
ca215658 559 Call/Makefile.PL
4f3a742d
DR
560 Call/ppport.h
561 Call/typemap
562 mytest
563 t/cpp.t
564 t/decrypt.t
565 t/exec.t
cfaad56a 566 t/m4.t
4f3a742d 567 t/order.t
4f3a742d
DR
568 t/sh.t
569 t/tee.t
533d93cc 570 t/z_kwalitee.t
e765fd18 571 t/z_manifest.t
533d93cc
SH
572 t/z_meta.t
573 t/z_perl_minimum_version.t
574 t/z_pod-coverage.t
575 t/z_pod.t
4f3a742d
DR
576 ),
577 ],
578 'MAP' => {
e765fd18
SH
579 'Call/' => 'cpan/Filter-Util-Call/',
580 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
581 'perlfilter.pod' => 'pod/perlfilter.pod',
582 '' => 'cpan/Filter-Util-Call/',
4f3a742d 583 },
dd469d97
SH
584 'CUSTOMIZED' => [
585 qw(pod/perlfilter.pod)
586 ],
4f3a742d
DR
587 },
588
3e191967 589 'FindBin' => {
0a27ddc7 590 'DISTRIBUTION' => 'TODDR/FindBin-1.52.tar.gz',
3e191967
S
591 'FILES' => q[dist/FindBin],
592 },
593
4f3a742d 594 'Getopt::Long' => {
048ed1a1 595 'DISTRIBUTION' => 'JV/Getopt-Long-2.52.tar.gz',
4f3a742d
DR
596 'FILES' => q[cpan/Getopt-Long],
597 'EXCLUDED' => [
598 qr{^examples/},
048ed1a1 599 qw( lib/newgetopt.pl
974d5816 600 t/gol-compat.t
4f3a742d
DR
601 ),
602 ],
4f3a742d
DR
603 },
604
4f3a742d 605 'HTTP::Tiny' => {
b80b9f7f 606 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.080.tar.gz',
4f3a742d
DR
607 'FILES' => q[cpan/HTTP-Tiny],
608 'EXCLUDED' => [
fcfb9f49 609 't/00-report-prereqs.t',
57d69a40 610 't/00-report-prereqs.dd',
4f3a742d 611 't/200_live.t',
44347bc3 612 't/200_live_local_ip.t',
fcfb9f49 613 't/210_live_ssl.t',
4f3a742d
DR
614 qr/^eg/,
615 qr/^xt/
616 ],
4f3a742d
DR
617 },
618
619 'I18N::Collate' => {
4f3a742d
DR
620 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
621 'FILES' => q[dist/I18N-Collate],
622 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
623 },
624
4f3a742d 625 'I18N::LangTags' => {
4f3a742d 626 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
627 },
628
629 'if' => {
85cede38 630 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
4f3a742d 631 'FILES' => q[dist/if],
4f3a742d
DR
632 },
633
634 'IO' => {
be4dc14b 635 'DISTRIBUTION' => 'TODDR/IO-1.50.tar.gz',
9da7aa9d 636 'FILES' => q[dist/IO],
4f3a742d 637 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
638 },
639
640 'IO-Compress' => {
642fa09b 641 'DISTRIBUTION' => 'PMQS/IO-Compress-2.106.tar.gz',
382558a5 642 'MAIN_MODULE' => 'IO::Compress::Base',
4f3a742d 643 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
644 'EXCLUDED' => [
645 qr{^examples/},
646 qr{^t/Test/},
9f58603c 647 qr{^t/999meta-},
84c82da4
SH
648 't/010examples-bzip2.t',
649 't/010examples-zlib.t',
650 't/cz-05examples.t',
651 ],
4f3a742d
DR
652 },
653
74a30e96 654 'IO::Socket::IP' => {
8fa9c8df 655 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.41.tar.gz',
74a30e96
CBW
656 'FILES' => q[cpan/IO-Socket-IP],
657 'EXCLUDED' => [
658 qr{^examples/},
659 ],
660 },
661
4f3a742d 662 'IO::Zlib' => {
3447587c 663 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.11.tar.gz',
4f3a742d 664 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
665 },
666
667 'IPC::Cmd' => {
dc9ac3ee 668 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz',
4f3a742d 669 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
670 },
671
4f3a742d 672 'IPC::SysV' => {
2ce8ebb9 673 'DISTRIBUTION' => 'MHX/IPC-SysV-2.09.tar.gz',
4f3a742d
DR
674 'FILES' => q[cpan/IPC-SysV],
675 'EXCLUDED' => [
676 qw( const-c.inc
677 const-xs.inc
678 ),
679 ],
4f3a742d
DR
680 },
681
682 'JSON::PP' => {
02895be6 683 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.07.tar.gz',
4f3a742d 684 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
685 },
686
687 'lib' => {
4f3a742d 688 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
9da7aa9d 689 'FILES' => q[dist/lib],
4f3a742d
DR
690 'EXCLUDED' => [
691 qw( forPAUSE/lib.pm
692 t/00pod.t
693 ),
694 ],
4f3a742d
DR
695 },
696
697 'libnet' => {
6258b1f3 698 'DISTRIBUTION' => 'SHAY/libnet-3.13.tar.gz',
382558a5 699 'MAIN_MODULE' => 'Net::Cmd',
4f3a742d
DR
700 'FILES' => q[cpan/libnet],
701 'EXCLUDED' => [
702 qw( Configure
2901a52f 703 t/changes.t
59e3cdd4
SH
704 t/critic.t
705 t/pod.t
706 t/pod_coverage.t
4f3a742d 707 ),
84c82da4 708 qr(^demos/),
dadfa42f 709 qr(^t/external/),
4f3a742d 710 ],
55ed9091 711 # https://github.com/steve-m-hay/perl-libnet/pull/45
7d722840
SH
712 'CUSTOMIZED' => [
713 'lib/Net/Cmd.pm',
714 'lib/Net/Config.pm',
715 'lib/Net/Domain.pm',
716 'lib/Net/FTP.pm',
717 'lib/Net/FTP/A.pm',
718 'lib/Net/FTP/E.pm',
719 'lib/Net/FTP/I.pm',
720 'lib/Net/FTP/L.pm',
721 'lib/Net/FTP/dataconn.pm',
722 'lib/Net/NNTP.pm',
723 'lib/Net/Netrc.pm',
724 'lib/Net/POP3.pm',
725 'lib/Net/SMTP.pm',
726 'lib/Net/Time.pm',
727 ],
4f3a742d
DR
728 },
729
4f3a742d 730 'Locale::Maketext' => {
933f64ca 731 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.29.tar.gz',
4f3a742d
DR
732 'FILES' => q[dist/Locale-Maketext],
733 'EXCLUDED' => [
734 qw(
735 perlcriticrc
736 t/00_load.t
737 t/pod.t
738 ),
739 ],
4f3a742d
DR
740 },
741
742 'Locale::Maketext::Simple' => {
4f3a742d
DR
743 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
744 'FILES' => q[cpan/Locale-Maketext-Simple],
8b56300e
TC
745 'CUSTOMIZED' => [
746 # CVE-2016-1238
747 qw( lib/Locale/Maketext/Simple.pm )
748 ],
4f3a742d
DR
749 },
750
4f3a742d 751 'Math::BigInt' => {
8dec6469 752 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999830.tar.gz',
6b0f9b46 753 'FILES' => q[cpan/Math-BigInt],
4f3a742d 754 'EXCLUDED' => [
7deec013 755 qr{^xt/},
4f3a742d 756 qr{^examples/},
6b10d254 757 qr{^t/author-},
8729b735 758 qr{^t/release-},
4f3a742d
DR
759 qw( t/00sig.t
760 t/01load.t
4f3a742d
DR
761 ),
762 ],
4f3a742d
DR
763 },
764
765 'Math::BigInt::FastCalc' => {
6853e8af 766 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5012.tar.gz',
6b0f9b46 767 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d 768 'EXCLUDED' => [
d44f69e7 769 qr{^inc/},
7deec013 770 qr{^xt/},
d239a8c7 771 qr{^t/author-},
8c2a9132 772 qr{^t/release-},
d239a8c7 773 qr{^t/Math/BigInt/Lib/TestUtil.pm},
4f3a742d
DR
774 qw( t/00sig.t
775 t/01load.t
4f3a742d
DR
776 ),
777
778 # instead we use the versions of these test
779 # files that come with Math::BigInt:
780 qw( t/bigfltpm.inc
781 t/bigfltpm.t
782 t/bigintpm.inc
783 t/bigintpm.t
784 t/mbimbf.inc
785 t/mbimbf.t
786 ),
787 ],
4f3a742d
DR
788 },
789
790 'Math::BigRat' => {
e59cb199 791 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2621.tar.gz',
6b0f9b46 792 'FILES' => q[cpan/Math-BigRat],
4f3a742d 793 'EXCLUDED' => [
7deec013
NB
794 qr{^xt/},
795 qr{^math-bigrat-pod.diff},
6320cdc0 796 qr{^t/author-},
3cc1ad36 797 qr{^t/release-},
4f3a742d
DR
798 qw( t/00sig.t
799 t/01load.t
9b331ac6
SH
800 ),
801 ],
4f3a742d
DR
802 },
803
804 'Math::Complex' => {
04ae1553 805 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d 806 'FILES' => q[cpan/Math-Complex],
50e27233
JH
807 'CUSTOMIZED' => [
808 'lib/Math/Complex.pm', # CPAN RT 118467
809 't/Complex.t', # CPAN RT 118467
810 't/Trig.t', # CPAN RT 118467
70af4d1d 811 't/underbar.t',
50e27233 812 ],
4f3a742d
DR
813 'EXCLUDED' => [
814 qw( t/pod.t
815 t/pod-coverage.t
816 ),
817 ],
4f3a742d
DR
818 },
819
820 'Memoize' => {
8114efa0 821 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
822 'FILES' => q[cpan/Memoize],
823 'EXCLUDED' => ['article.html'],
8b56300e
TC
824 'CUSTOMIZED' => [
825 # CVE-2016-1238
c3a45d38
SH
826 qw( Memoize.pm ),
827
828 # CPAN RT 108382
829 qw( t/expmod_t.t t/speed.t ),
7b1885ae
TC
830
831 # CPAN RT 139736
832 qw( t/errors.t t/tie_gdbm.t ),
8b56300e 833 ],
4f3a742d
DR
834 },
835
836 'MIME::Base64' => {
90f582c2 837 'DISTRIBUTION' => 'CAPOEIRAB/MIME-Base64-3.16.tar.gz',
4f3a742d 838 'FILES' => q[cpan/MIME-Base64],
90f582c2 839 'EXCLUDED' => [ qr{^xt/}, 'benchmark', 'benchmark-qp', qr{^t/00-report-prereqs} ],
4f3a742d
DR
840 },
841
4f3a742d 842 'Module::CoreList' => {
c29bb1cb 843 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20220320.tar.gz',
4f3a742d 844 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
845 },
846
847 'Module::Load' => {
ffdf828c 848 'DISTRIBUTION' => 'BINGOS/Module-Load-0.36.tar.gz',
4f3a742d 849 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
850 },
851
852 'Module::Load::Conditional' => {
d813268c 853 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.74.tar.gz',
4f3a742d 854 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
855 },
856
857 'Module::Loaded' => {
4f3a742d
DR
858 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
859 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
860 },
861
862 'Module::Metadata' => {
c7fb6257 863 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz',
4f3a742d
DR
864 'FILES' => q[cpan/Module-Metadata],
865 'EXCLUDED' => [
b9beed70 866 qw(t/00-report-prereqs.t),
adc2cdfb 867 qw(t/00-report-prereqs.dd),
e6d414a9 868 qr{weaver.ini},
4f3a742d
DR
869 qr{^xt},
870 ],
4f3a742d
DR
871 },
872
4f3a742d 873 'Net::Ping' => {
185eb2d3 874 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.74.tar.gz',
4f3a742d 875 'FILES' => q[dist/Net-Ping],
773d126d 876 'EXCLUDED' => [
185eb2d3 877 qr{^\.[awc]},
26e9d721 878 qw(README.md.PL),
773d126d
CBW
879 qw(t/020_external.t),
880 qw(t/600_pod.t),
881 qw(t/601_pod-coverage.t),
185eb2d3
CBW
882 qw(t/602_kwalitee.t),
883 qw(t/603_meta.t),
884 qw(t/604_manifest.t),
885 qw(t/appveyor-test.bat),
886
773d126d 887 ],
a02b1ce4
N
888 'CUSTOMIZED' => [
889 qw{
890 t/000_load.t
891 t/001_new.t
892 t/010_pingecho.t
1243fa19 893 t/450_service.t
a02b1ce4
N
894 t/500_ping_icmp.t
895 t/501_ping_icmpv6.t
896 }
897 ],
4f3a742d
DR
898 },
899
900 'NEXT' => {
8b9e957f 901 'DISTRIBUTION' => 'NEILB/NEXT-0.69.tar.gz',
4f3a742d
DR
902 'FILES' => q[cpan/NEXT],
903 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
904 },
905
4f3a742d 906 'Params::Check' => {
8b21fa03 907 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 908 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
909 },
910
911 'parent' => {
56572701 912 'DISTRIBUTION' => 'CORION/parent-0.238.tar.gz',
4f3a742d 913 'FILES' => q[cpan/parent],
39250dd4
SH
914 'EXCLUDED' => [
915 qr{^xt}
916 ],
4f3a742d
DR
917 },
918
4f3a742d 919 'PathTools' => {
9e3f69e1 920 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.tar.gz',
382558a5 921 'MAIN_MODULE' => 'File::Spec',
cb8c8458 922 'FILES' => q[dist/PathTools],
76250107
SH
923 'EXCLUDED' => [
924 qr{^t/lib/Test/},
925 qw( t/rel2abs_vs_symlink.t),
926 ],
4f3a742d
DR
927 },
928
97b1d6e6 929 'Perl::OSType' => {
ea8e5adc 930 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
97b1d6e6 931 'FILES' => q[cpan/Perl-OSType],
765955c0 932 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
933 },
934
97b1d6e6 935 'perlfaq' => {
7a91ac26 936 'DISTRIBUTION' => 'ETHER/perlfaq-5.20210520.tar.gz',
97b1d6e6 937 'FILES' => q[cpan/perlfaq],
928a385c 938 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ],
97b1d6e6
SH
939 },
940
4f3a742d 941 'PerlIO::via::QuotedPrint' => {
62a91342 942 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.09.tar.gz',
4f3a742d 943 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
944 },
945
0c501878 946 'Pod::Checker' => {
165e1791 947 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.74.tar.gz',
0c501878 948 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
949 },
950
4f3a742d 951 'Pod::Escapes' => {
f347d3e3 952 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 953 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
954 },
955
4f3a742d 956 'Pod::Perldoc' => {
6aff4bf3 957 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.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 ],
f2ee4cb8
Z
973
974 'CUSTOMIZED' => [
975 # [rt.cpan.org #88204], [rt.cpan.org #120229]
976 'lib/Pod/Perldoc.pm',
977 ],
4f3a742d
DR
978 },
979
980 'Pod::Simple' => {
5ca44b31 981 'DISTRIBUTION' => 'KHW/Pod-Simple-3.43.tar.gz',
4f3a742d 982 'FILES' => q[cpan/Pod-Simple],
1ccbfc07
SH
983 'EXCLUDED' => [
984 qw{.ChangeLog.swp},
985 qr{^\.github/}
986 ],
4f3a742d
DR
987 },
988
0c501878 989 'Pod::Usage' => {
131281c7 990 'DISTRIBUTION' => 'ATOOMIC/Pod-Usage-2.01.tar.gz',
0c501878 991 'FILES' => q[cpan/Pod-Usage],
131281c7
SH
992 'EXCLUDED' => [
993 qr{^t/00-},
994 qr{^xt/}
995 ],
0c501878
CBW
996 },
997
4f3a742d 998 'podlators' => {
28997a26 999 'DISTRIBUTION' => 'RRA/podlators-4.14.tar.gz',
382558a5 1000 'MAIN_MODULE' => 'Pod::Man',
4f3a742d 1001 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
a7ea90b1
SH
1002 'EXCLUDED' => [
1003 qr{^docs/metadata/},
1004 ],
55ed9091
KW
1005
1006 # https://github.com/rra/podlators/pull/15
7d722840
SH
1007 'CUSTOMIZED' => [
1008 't/general/basic.t',
1009 't/man/empty.t',
1010 't/man/no-encode.t',
1011 't/text/invalid.t',
1012 ],
4f3a742d 1013
4f3a742d
DR
1014 'MAP' => {
1015 '' => 'cpan/podlators/',
4f3a742d 1016 # this file lives outside the cpan/ directory
1efe9157 1017 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
4f3a742d 1018 },
4f3a742d
DR
1019 },
1020
4f3a742d 1021 'Safe' => {
e739c653 1022 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 1023 'FILES' => q[dist/Safe],
4f3a742d
DR
1024 },
1025
13bb7c4d 1026 'Scalar::Util' => {
de41b4bc 1027 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.62.tar.gz',
869a9612 1028 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
1029 },
1030
4f3a742d 1031 'Search::Dict' => {
0b0a7092 1032 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 1033 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
1034 },
1035
1036 'SelfLoader' => {
879d999b 1037 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
4f3a742d
DR
1038 'FILES' => q[dist/SelfLoader],
1039 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
1040 },
1041
4f3a742d 1042 'Socket' => {
d94230fb 1043 'DISTRIBUTION' => 'PEVANS/Socket-2.032.tar.gz',
4f3a742d 1044 'FILES' => q[cpan/Socket],
55ed9091
KW
1045 # https://rt.cpan.org/Ticket/Display.html?id=142470&results=b81893fab36c7e48a07b4b763c03731a
1046 # maybe others
7d722840
SH
1047 'CUSTOMIZED' => [
1048 'Socket.pm',
1049 'Socket.xs',
1050 ],
4f3a742d
DR
1051 },
1052
1053 'Storable' => {
067ce626 1054 'DISTRIBUTION' => 'NWCLARK/Storable-3.25.tar.gz',
4f3a742d 1055 'FILES' => q[dist/Storable],
76250107
SH
1056 'EXCLUDED' => [
1057 qr{^t/compat/},
1058 ],
4f3a742d
DR
1059 },
1060
4f3a742d 1061 'Sys::Syslog' => {
10934390 1062 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.36.tar.gz',
4f3a742d
DR
1063 'FILES' => q[cpan/Sys-Syslog],
1064 'EXCLUDED' => [
1065 qr{^eg/},
84c82da4
SH
1066 qw( README.win32
1067 t/data-validation.t
4f3a742d
DR
1068 t/distchk.t
1069 t/pod.t
1070 t/podcover.t
1071 t/podspell.t
1072 t/portfs.t
1073 win32/PerlLog.RES
4f3a742d
DR
1074 ),
1075 ],
4f3a742d
DR
1076 },
1077
1078 'Term::ANSIColor' => {
9c952fa3 1079 'DISTRIBUTION' => 'RRA/Term-ANSIColor-5.01.tar.gz',
4f3a742d
DR
1080 'FILES' => q[cpan/Term-ANSIColor],
1081 'EXCLUDED' => [
93d7ac13 1082 qr{^docs/},
92f80b37
CBW
1083 qr{^examples/},
1084 qr{^t/data/},
5e64492f
CBW
1085 qr{^t/docs/},
1086 qr{^t/style/},
1087 qw( t/module/aliases-env.t ),
4f3a742d 1088 ],
4f3a742d
DR
1089 },
1090
1091 'Term::Cap' => {
23a75734 1092 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1093 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1094 },
1095
1096 'Term::Complete' => {
4f3a742d
DR
1097 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1098 'FILES' => q[dist/Term-Complete],
1099 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1100 },
1101
1102 'Term::ReadLine' => {
75ad3638 1103 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1104 'FILES' => q[dist/Term-ReadLine],
1105 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1106 },
1107
4f3a742d 1108 'Test' => {
1c22e001 1109 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1110 'FILES' => q[dist/Test],
4f3a742d
DR
1111 },
1112
1113 'Test::Harness' => {
34b62aa6 1114 'DISTRIBUTION' => 'LEONT/Test-Harness-3.44.tar.gz',
4f3a742d
DR
1115 'FILES' => q[cpan/Test-Harness],
1116 'EXCLUDED' => [
1117 qr{^examples/},
4f3a742d
DR
1118 qr{^xt/},
1119 qw( Changes-2.64
8db65552 1120 MANIFEST.CUMMULATIVE
4f3a742d
DR
1121 HACKING.pod
1122 perlcriticrc
8db65552 1123 t/000-load.t
4f3a742d
DR
1124 t/lib/if.pm
1125 ),
1126 ],
dafafd88
LT
1127 'CUSTOMIZED' => [
1128 't/harness.t'
1129 ]
4f3a742d
DR
1130 },
1131
1132 'Test::Simple' => {
f70b3f77 1133 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302190.tar.gz',
4f3a742d
DR
1134 'FILES' => q[cpan/Test-Simple],
1135 'EXCLUDED' => [
0b4ffce6
SH
1136 qr{^examples/},
1137 qr{^xt/},
022600ce 1138 qw( appveyor.yml
80a7dd19 1139 t/00compile.t
c6a6e1c8
CG
1140 t/00-report.t
1141 t/zzz-check-breaks.t
4f3a742d
DR
1142 ),
1143 ],
f266b743 1144 },
4f3a742d
DR
1145
1146 'Text::Abbrev' => {
5e96eee9 1147 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1148 'FILES' => q[dist/Text-Abbrev],
1149 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1150 },
1151
1152 'Text::Balanced' => {
50c2de5a 1153 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.04.tar.gz',
4f3a742d
DR
1154 'FILES' => q[cpan/Text-Balanced],
1155 'EXCLUDED' => [
1156 qw( t/97_meta.t
1157 t/98_pod.t
1158 t/99_pmv.t
1159 ),
1160 ],
4f3a742d
DR
1161 },
1162
1163 'Text::ParseWords' => {
7d722840 1164 'DISTRIBUTION' => 'NEILB/Text-ParseWords-3.31.tar.gz',
4f3a742d 1165 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1166 },
1167
4f3a742d 1168 'Text-Tabs+Wrap' => {
3c5ad6a8 1169 'DISTRIBUTION' => 'ARISTOTLE/Text-Tabs+Wrap-2021.0814.tar.gz',
382558a5 1170 'MAIN_MODULE' => 'Text::Tabs',
4f3a742d 1171 'FILES' => q[cpan/Text-Tabs],
e7b92d54 1172 'EXCLUDED' => [
89dbbd9d
JK
1173 qr{^xt},
1174
4f3a742d 1175 ],
e7b92d54
SH
1176 'MAP' => {
1177 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1178 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1179 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1180 },
4f3a742d
DR
1181 },
1182
4e75700d
AC
1183 # Jerry Hedden does take patches that are applied to blead first, even
1184 # though that can be hard to discern from the Git history; so it's
1185 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1186 # to be under dist/ rather than cpan/
4f3a742d 1187 'Thread::Queue' => {
e1578db3 1188 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz',
4f3a742d
DR
1189 'FILES' => q[dist/Thread-Queue],
1190 'EXCLUDED' => [
1fd4700e
JH
1191 qr{^examples/},
1192 qw( t/00_load.t
4f3a742d
DR
1193 t/99_pod.t
1194 t/test.pl
1195 ),
1196 ],
4f3a742d
DR
1197 },
1198
1199 'Thread::Semaphore' => {
51068c14 1200 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
4f3a742d
DR
1201 'FILES' => q[dist/Thread-Semaphore],
1202 'EXCLUDED' => [
1203 qw( examples/semaphore.pl
1204 t/00_load.t
1205 t/99_pod.t
1206 t/test.pl
1207 ),
1208 ],
4f3a742d
DR
1209 },
1210
1211 'threads' => {
40e3ceea 1212 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
4f3a742d
DR
1213 'FILES' => q[dist/threads],
1214 'EXCLUDED' => [
1215 qr{^examples/},
1216 qw( t/pod.t
1217 t/test.pl
1218 threads.h
1219 ),
1220 ],
4f3a742d
DR
1221 },
1222
1223 'threads::shared' => {
fdfb42a0 1224 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz',
4f3a742d
DR
1225 'FILES' => q[dist/threads-shared],
1226 'EXCLUDED' => [
1227 qw( examples/class.pl
1228 shared.h
1229 t/pod.t
1230 t/test.pl
1231 ),
1232 ],
4f3a742d
DR
1233 },
1234
1235 'Tie::File' => {
678b7202 1236 'DISTRIBUTION' => 'TODDR/Tie-File-1.05.tar.gz',
c0504019 1237 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1238 },
1239
4f3a742d 1240 'Tie::RefHash' => {
6fcc9782 1241 'DISTRIBUTION' => 'ETHER/Tie-RefHash-1.40.tar.gz',
4f3a742d 1242 'FILES' => q[cpan/Tie-RefHash],
e1b30ab2
SH
1243 'EXCLUDED' => [
1244 qr{^t/00-},
1245 qr{^xt/},
1246 ],
4f3a742d
DR
1247 },
1248
1249 'Time::HiRes' => {
371b09ed 1250 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9764.tar.gz',
91ba54d4 1251 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1252 },
1253
1254 'Time::Local' => {
34857856 1255 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.30.tar.gz',
4f3a742d
DR
1256 'FILES' => q[cpan/Time-Local],
1257 'EXCLUDED' => [
cc890588 1258 qr{^xt/},
34857856
SH
1259 qw( CODE_OF_CONDUCT.md
1260 azure-pipelines.yml
d82c4df6 1261 perlcriticrc
cc890588
SH
1262 perltidyrc
1263 tidyall.ini
1264 t/00-report-prereqs.t
1265 t/00-report-prereqs.dd
1266 ),
4f3a742d 1267 ],
4f3a742d
DR
1268 },
1269
1270 'Time::Piece' => {
a5ebaea1 1271 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3401.tar.gz',
4f3a742d 1272 'FILES' => q[cpan/Time-Piece],
fd481c17 1273 'EXCLUDED' => [ qw[reverse_deps.txt] ],
4f3a742d
DR
1274 },
1275
1276 'Unicode::Collate' => {
983d5bee 1277 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.31.tar.gz',
4f3a742d
DR
1278 'FILES' => q[cpan/Unicode-Collate],
1279 'EXCLUDED' => [
1280 qr{N$},
1281 qr{^data/},
1282 qr{^gendata/},
1283 qw( disableXS
1284 enableXS
1285 mklocale
1286 ),
1287 ],
4f3a742d
DR
1288 },
1289
1290 'Unicode::Normalize' => {
d339f061 1291 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz',
3baae3fa 1292 'FILES' => q[dist/Unicode-Normalize],
1ef95abd
SH
1293 'EXCLUDED' => [
1294 qw( MANIFEST.N
1295 Normalize.pmN
1296 disableXS
1297 enableXS
1298 ),
1299 ],
4f3a742d
DR
1300 },
1301
4f3a742d 1302 'version' => {
ff6af44f 1303 'DISTRIBUTION' => 'LEONT/version-0.9929.tar.gz',
4fa93b19 1304 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1305 'EXCLUDED' => [
df3ba8e7 1306 qr{^vutil/lib/},
c60b4fa6 1307 'vutil/Makefile.PL',
df3ba8e7
FC
1308 'vutil/ppport.h',
1309 'vutil/vxs.xs',
ce9582af 1310 't/00impl-pp.t',
4f3a742d 1311 't/survey_locales',
d1e81356 1312 'vperl/vpp.pm',
4f3a742d 1313 ],
f81a37f2 1314
c872d591
SH
1315 # When adding the CPAN-distributed files for version.pm, it is necessary
1316 # to delete an entire block out of lib/version.pm, since that code is
1317 # only necessary with the CPAN release.
f81a37f2 1318 'CUSTOMIZED' => [
7d722840 1319 'lib/version.pm'
ff6af44f 1320 ],
f81a37f2 1321
df3ba8e7 1322 'MAP' => {
4fa93b19 1323 'vutil/' => '',
df3ba8e7
FC
1324 '' => 'cpan/version/',
1325 },
4f3a742d
DR
1326 },
1327
4f3a742d 1328 'warnings' => {
099bebb1 1329 'FILES' => q[
4f3a742d 1330 lib/warnings
099bebb1
SH
1331 lib/warnings.{pm,t}
1332 regen/warnings.pl
4f3a742d 1333 t/lib/warnings
099bebb1 1334 ],
4f3a742d
DR
1335 },
1336
4f3a742d 1337 'Win32' => {
3fe11e08 1338 'DISTRIBUTION' => "JDB/Win32-0.58.tar.gz",
4f3a742d 1339 'FILES' => q[cpan/Win32],
4f3a742d
DR
1340 },
1341
1342 'Win32API::File' => {
df61f5a9 1343 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1344 'FILES' => q[cpan/Win32API-File],
1345 'EXCLUDED' => [
1346 qr{^ex/},
4f3a742d 1347 ],
6177f132
DIM
1348 # https://rt.cpan.org/Ticket/Display.html?id=127837
1349 'CUSTOMIZED' => [
1350 qw( File.pm
1351 File.xs
1352 ),
1353 ],
4f3a742d
DR
1354 },
1355
4f3a742d 1356 'XSLoader' => {
6f2c9cc3 1357 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
4f3a742d
DR
1358 'FILES' => q[dist/XSLoader],
1359 'EXCLUDED' => [
1360 qr{^eg/},
57f9caa0
SH
1361 qw( t/00-load.t
1362 t/01-api.t
1363 t/distchk.t
1364 t/pod.t
4f3a742d
DR
1365 t/podcover.t
1366 t/portfs.t
1367 ),
1368 'XSLoader.pm', # we use XSLoader_pm.PL
1369 ],
4f3a742d
DR
1370 },
1371
462ea751
DM
1372 # this pseudo-module represents all the files under ext/ and lib/
1373 # that aren't otherwise claimed. This means that the following two
1374 # commands will check that every file under ext/ and lib/ is
1375 # accounted for, and that there are no duplicates:
1376 #
1377 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1378 # perl Porting/Maintainers --checkmani
462ea751 1379
4f3a742d 1380 '_PERLLIB' => {
2af3c4b9 1381 'FILES' => q[
79852350
AB
1382 ext/Amiga-ARexx/
1383 ext/Amiga-Exec/
09213599 1384 ext/B/
2af3c4b9
SH
1385 ext/Devel-Peek/
1386 ext/DynaLoader/
1387 ext/Errno/
7b4d95f7 1388 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1389 ext/Fcntl/
1390 ext/File-DosGlob/
1391 ext/File-Find/
1392 ext/File-Glob/
1393 ext/FileCache/
1394 ext/GDBM_File/
1395 ext/Hash-Util-FieldHash/
1396 ext/Hash-Util/
1397 ext/I18N-Langinfo/
1398 ext/IPC-Open3/
1399 ext/NDBM_File/
1400 ext/ODBM_File/
1401 ext/Opcode/
1402 ext/POSIX/
1403 ext/PerlIO-encoding/
1404 ext/PerlIO-mmap/
1405 ext/PerlIO-scalar/
1406 ext/PerlIO-via/
1407 ext/Pod-Functions/
1408 ext/Pod-Html/
1409 ext/SDBM_File/
1410 ext/Sys-Hostname/
1411 ext/Tie-Hash-NamedCapture/
1412 ext/Tie-Memoize/
b3dcf775 1413 ext/VMS-DCLsym/
2af3c4b9 1414 ext/VMS-Filespec/
b3dcf775
SH
1415 ext/VMS-Stdio/
1416 ext/Win32CORE/
4f3a742d 1417 ext/XS-APItest/
2af3c4b9 1418 ext/XS-Typemap/
2af3c4b9
SH
1419 ext/attributes/
1420 ext/mro/
1421 ext/re/
1422 lib/AnyDBM_File.{pm,t}
1423 lib/Benchmark.{pm,t}
38eca645 1424 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1425 lib/B/Op_private.pm
4f3a742d 1426 lib/CORE.pod
2af3c4b9 1427 lib/Class/Struct.{pm,t}
4f3a742d
DR
1428 lib/Config.t
1429 lib/Config/Extensions.{pm,t}
1430 lib/DB.{pm,t}
2af3c4b9
SH
1431 lib/DBM_Filter.pm
1432 lib/DBM_Filter/
1433 lib/DirHandle.{pm,t}
1434 lib/English.{pm,t}
4f3a742d
DR
1435 lib/ExtUtils/Embed.pm
1436 lib/ExtUtils/XSSymSet.pm
1437 lib/ExtUtils/t/Embed.t
1438 lib/ExtUtils/typemap
2af3c4b9
SH
1439 lib/File/Basename.{pm,t}
1440 lib/File/Compare.{pm,t}
1441 lib/File/Copy.{pm,t}
1442 lib/File/stat{.pm,.t,-7896.t}
1443 lib/FileHandle.{pm,t}
2af3c4b9 1444 lib/Getopt/Std.{pm,t}
cb198164 1445 lib/Internals.pod
4f3a742d 1446 lib/Internals.t
4b6af431 1447 lib/meta_notation.{pm,t}
4f3a742d
DR
1448 lib/Net/hostent.{pm,t}
1449 lib/Net/netent.{pm,t}
1450 lib/Net/protoent.{pm,t}
1451 lib/Net/servent.{pm,t}
2af3c4b9 1452 lib/PerlIO.pm
4f3a742d 1453 lib/Pod/t/Usage.t
4f3a742d
DR
1454 lib/SelectSaver.{pm,t}
1455 lib/Symbol.{pm,t}
1456 lib/Thread.{pm,t}
1457 lib/Tie/Array.pm
1458 lib/Tie/Array/
1459 lib/Tie/ExtraHash.t
1460 lib/Tie/Handle.pm
1461 lib/Tie/Handle/
2af3c4b9 1462 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1463 lib/Tie/Scalar.{pm,t}
1464 lib/Tie/StdHandle.pm
1465 lib/Tie/SubstrHash.{pm,t}
1466 lib/Time/gmtime.{pm,t}
1467 lib/Time/localtime.{pm,t}
1468 lib/Time/tm.pm
1469 lib/UNIVERSAL.pm
1470 lib/Unicode/README
2af3c4b9 1471 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1472 lib/User/grent.{pm,t}
1473 lib/User/pwent.{pm,t}
2af3c4b9 1474 lib/_charnames.pm
4f3a742d 1475 lib/blib.{pm,t}
6a2e756f 1476 lib/builtin.{pm,t}
4f3a742d
DR
1477 lib/bytes.{pm,t}
1478 lib/bytes_heavy.pl
1479 lib/charnames.{pm,t}
1480 lib/dbm_filter_util.pl
1481 lib/deprecate.pm
2af3c4b9 1482 lib/diagnostics.{pm,t}
4f3a742d
DR
1483 lib/dumpvar.{pl,t}
1484 lib/feature.{pm,t}
1485 lib/feature/
1486 lib/filetest.{pm,t}
1487 lib/h2ph.t
1488 lib/h2xs.t
1489 lib/integer.{pm,t}
1490 lib/less.{pm,t}
1491 lib/locale.{pm,t}
706055ce 1492 lib/locale_threads.t
4f3a742d
DR
1493 lib/open.{pm,t}
1494 lib/overload/numbers.pm
1495 lib/overloading.{pm,t}
2af3c4b9 1496 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1497 lib/perl5db.{pl,t}
1498 lib/perl5db/
a3b4b767 1499 lib/perlbug.t
2af3c4b9 1500 lib/sigtrap.{pm,t}
4f3a742d
DR
1501 lib/sort.{pm,t}
1502 lib/strict.{pm,t}
1503 lib/subs.{pm,t}
1504 lib/unicore/
1505 lib/utf8.{pm,t}
4f3a742d
DR
1506 lib/vars{.pm,.t,_carp.t}
1507 lib/vmsish.{pm,t}
1508 ],
4f3a742d 1509 },
462ea751 1510);
b128a327 1511
97556ec3 1512# legacy CPAN flag
4f3a742d 1513for ( values %Modules ) {
97556ec3
GA
1514 $_->{CPAN} = !!$_->{DISTRIBUTION};
1515}
1516
099bebb1
SH
1517# legacy UPSTREAM flag
1518for ( keys %Modules ) {
1519 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1520 next if exists $Modules{$_}{UPSTREAM};
1521
1522 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1523 $Modules{$_}{UPSTREAM} = 'blead';
1524 }
1525 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1526 $Modules{$_}{UPSTREAM} = 'cpan';
1527 }
1528 else {
1529 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1530 }
1531}
1532
d350de41 1533# legacy MAINTAINER field
099bebb1 1534for ( keys %Modules ) {
b3dcf775 1535 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1536 next if exists $Modules{$_}{MAINTAINER};
1537
1538 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1539 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1540 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1541 }
099bebb1
SH
1542 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1543 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1544 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1545 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1546 }
099bebb1
SH
1547 else {
1548 warn "No DISTRIBUTION for non-blead module $_";
1549 }
d350de41
SH
1550}
1551
b128a327 15521;