This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
skip a Tets-Simple test that's leaking shm blocks
[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' => {
90bb05e9 123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.08.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],
4f3a742d
DR
184 },
185
4f3a742d 186 'bignum' => {
91f07087 187 'DISTRIBUTION' => 'PJACKLAM/bignum-0.42.tar.gz',
c287fe32 188 'FILES' => q[cpan/bignum],
4f3a742d
DR
189 'EXCLUDED' => [
190 qr{^inc/Module/},
91f07087 191 qr{^t/author-},
c287fe32
SH
192 qw( t/00sig.t
193 t/01load.t
194 t/02pod.t
195 t/03podcov.t
4f3a742d
DR
196 ),
197 ],
4f3a742d
DR
198 },
199
200 'Carp' => {
ba705463 201 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
4f3a742d 202 'FILES' => q[dist/Carp],
4f3a742d
DR
203 },
204
4f3a742d 205 'Compress::Raw::Bzip2' => {
9e7c8eb7 206 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.069.tar.gz',
4f3a742d
DR
207 'FILES' => q[cpan/Compress-Raw-Bzip2],
208 'EXCLUDED' => [
209 qr{^t/Test/},
65b62fea 210 'bzip2-src/bzip2-const.patch',
4f3a742d 211 'bzip2-src/bzip2-cpp.patch',
65b62fea 212 'bzip2-src/bzip2-unsigned.patch',
4f3a742d 213 ],
4f3a742d
DR
214 },
215
216 'Compress::Raw::Zlib' => {
2b91859c 217 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.069.tar.gz',
4f3a742d
DR
218
219 'FILES' => q[cpan/Compress-Raw-Zlib],
220 'EXCLUDED' => [
84c82da4 221 qr{^examples/},
4f3a742d
DR
222 qr{^t/Test/},
223 qw( t/000prereq.t
224 t/99pod.t
225 ),
226 ],
4f3a742d
DR
227 },
228
4b07058c 229 'Config::Perl::V' => {
6b3eaabc 230 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.26.tgz',
4b07058c 231 'FILES' => q[cpan/Config-Perl-V],
b4ade012
MB
232 'EXCLUDED' => [qw(
233 examples/show-v.pl
b4ade012 234 )],
4b07058c
RS
235 },
236
4f3a742d 237 'constant' => {
8b1ae794 238 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
4f3a742d
DR
239 'FILES' => q[dist/constant],
240 'EXCLUDED' => [
241 qw( t/00-load.t
242 t/more-tests.t
243 t/pod-coverage.t
244 t/pod.t
245 eg/synopsis.pl
246 ),
247 ],
4f3a742d
DR
248 },
249
250 'CPAN' => {
d210e520 251 'DISTRIBUTION' => 'ANDK/CPAN-2.10.tar.gz',
4f3a742d
DR
252 'FILES' => q[cpan/CPAN],
253 'EXCLUDED' => [
254 qr{^distroprefs/},
255 qr{^inc/Test/},
45a13884
SH
256 qr{^t/CPAN/},
257 qr{^t/data/},
79116533 258 qr{^t/97-},
4f3a742d 259 qw( lib/CPAN/Admin.pm
6156383d 260 scripts/cpan-mirrors
bfae5bde 261 PAUSE2015.pub
4f3a742d
DR
262 SlayMakefile
263 t/00signature.t
264 t/04clean_load.t
265 t/12cpan.t
266 t/13tarzip.t
267 t/14forkbomb.t
268 t/30shell.coverage
269 t/30shell.t
270 t/31sessions.t
271 t/41distribution.t
272 t/42distroprefs.t
273 t/43distroprefspref.t
45a13884 274 t/44cpanmeta.t
4f3a742d
DR
275 t/50pod.t
276 t/51pod.t
277 t/52podcover.t
278 t/60credentials.t
279 t/70_critic.t
bfae5bde 280 t/71_minimumversion.t
4f3a742d
DR
281 t/local_utils.pm
282 t/perlcriticrc
283 t/yaml_code.yml
284 ),
285 ],
f907dd3c
SH
286 # See commit 3198fda65dbcd975c56916e4b98f515fab7f02e5
287 'CUSTOMIZED' => [ qw[ lib/CPAN.pm ] ],
4f3a742d
DR
288 },
289
278337cd
CBW
290 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
291 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 292 'CPAN::Meta' => {
2b771c51 293 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz',
4f3a742d
DR
294 'FILES' => q[cpan/CPAN-Meta],
295 'EXCLUDED' => [
f907dd3c
SH
296 qw[t/00-report-prereqs.t
297 t/00-report-prereqs.dd
298 t/data-test/x_deprecated-META.json
299 t/data-valid/x_deprecated-META.yml
300 t/README-data.txt],
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' => {
50a0759e 328 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.154.tar.gz',
4f3a742d 329 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
330 },
331
332 'DB_File' => {
c7cd1ed9 333 'DISTRIBUTION' => 'PMQS/DB_File-1.838.tar.gz',
4f3a742d
DR
334 'FILES' => q[cpan/DB_File],
335 'EXCLUDED' => [
336 qr{^patches/},
337 qw( t/pod.t
338 fallback.h
339 fallback.xs
340 ),
341 ],
4f3a742d
DR
342 },
343
4f3a742d 344 'Devel::PPPort' => {
95a7456e 345 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.32.tar.gz',
099bebb1
SH
346 # RJBS has asked MHX to have UPSTREAM be 'blead'
347 # (i.e. move this from cpan/ to dist/)
4f3a742d 348 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
349 'EXCLUDED' => [
350 'PPPort.pm', # we use PPPort_pm.PL instead
84c82da4 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' => {
4f3a742d
DR
361 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
362 'FILES' => q[cpan/Digest],
363 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
364 },
365
366 'Digest::MD5' => {
05a6ec77 367 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
4f3a742d
DR
368 'FILES' => q[cpan/Digest-MD5],
369 'EXCLUDED' => ['rfc1321.txt'],
4f3a742d
DR
370 },
371
372 'Digest::SHA' => {
b495b81b 373 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.95.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' => {
8693e0c5 390 'DISTRIBUTION' => 'DANKOGAI/Encode-2.80.tar.gz',
4f3a742d 391 'FILES' => q[cpan/Encode],
0648b1fd 392 CUSTOMIZED => [
13cf5167 393 qw( encoding.pm
5695cd67 394 ),
0648b1fd 395 ],
4f3a742d
DR
396 },
397
398 'encoding::warnings' => {
4f3a742d 399 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
e1c786ba 400 'FILES' => q[dist/encoding-warnings],
4f3a742d
DR
401 'EXCLUDED' => [
402 qr{^inc/Module/},
94c85d8e 403 qw(t/0-signature.t),
4f3a742d 404 ],
4f3a742d
DR
405 },
406
4f3a742d 407 'Env' => {
126fc07f 408 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
409 'FILES' => q[dist/Env],
410 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
411 },
412
de84ff2b 413 'experimental' => {
4fdcb09b 414 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
de84ff2b 415 'FILES' => q[cpan/experimental],
4fdcb09b 416 'EXCLUDED' => [qr{^xt/}],
de84ff2b
RS
417 },
418
4f3a742d 419 'Exporter' => {
b4d1bf31 420 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
3110a055 421 'FILES' => q[dist/Exporter],
4f3a742d
DR
422 'EXCLUDED' => [
423 qw( t/pod.t
424 t/use.t
425 ),
426 ],
4f3a742d
DR
427 },
428
429 'ExtUtils::CBuilder' => {
83dcc064 430 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
4f3a742d 431 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
432 'EXCLUDED' => [
433 qw(README.mkdn),
434 qr{^xt},
435 ],
4f3a742d
DR
436 },
437
4f3a742d 438 'ExtUtils::Constant' => {
4f3a742d 439
c9849c52 440 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
4f3a742d
DR
441 'FILES' => q[cpan/ExtUtils-Constant],
442 'EXCLUDED' => [
443 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
444 examples/perl_keyword.pl
445 examples/perl_regcomp_posix_keyword.pl
446 ),
34c00cdf 447 ],
c9849c52
DM
448 # cc37ebcee3 to fix VMS failure
449 'CUSTOMIZED' => [ qw(t/Constant.t) ],
4f3a742d
DR
450 },
451
452 'ExtUtils::Install' => {
f1c22b9e 453 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
d393d7e5 454 'FILES' => q[cpan/ExtUtils-Install],
4f3a742d
DR
455 'EXCLUDED' => [
456 qw( t/lib/Test/Builder.pm
457 t/lib/Test/Builder/Module.pm
458 t/lib/Test/More.pm
459 t/lib/Test/Simple.pm
460 t/pod-coverage.t
461 t/pod.t
462 ),
463 ],
4f3a742d
DR
464 },
465
466 'ExtUtils::MakeMaker' => {
f68c5403 467 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.18.tar.gz',
4f3a742d
DR
468 'FILES' => q[cpan/ExtUtils-MakeMaker],
469 'EXCLUDED' => [
470 qr{^t/lib/Test/},
471 qr{^(bundled|my)/},
472 qr{^t/Liblist_Kid.t},
473 qr{^t/liblist/},
78fd4358 474 qr{^\.perlcriticrc},
84c82da4
SH
475 'PATCHING',
476 'README.packaging',
ce9582af 477 'lib/ExtUtils/MakeMaker/version/vpp.pm',
4f3a742d 478 ],
3ecb55dd 479 'CUSTOMIZED' => [ qw( t/basic.t ) ],
4f3a742d
DR
480 },
481
482 'ExtUtils::Manifest' => {
f660499c 483 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
854a00d8 484 'FILES' => q[cpan/ExtUtils-Manifest],
4d25f022
SH
485 'EXCLUDED' => [
486 qr(^t/00-report-prereqs),
487 qr(^xt/)
488 ],
4f3a742d
DR
489 },
490
491 'ExtUtils::ParseXS' => {
bdc4e4b2 492 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
4f3a742d 493 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
494 },
495
4f3a742d 496 'File::Fetch' => {
9d56ca6f 497 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 498 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
499 },
500
4f3a742d 501 'File::Path' => {
bfcc9519 502 'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
4f3a742d
DR
503 'FILES' => q[cpan/File-Path],
504 'EXCLUDED' => [
bfcc9519
SH
505 qw(t/Path-Class.t),
506 qr{^xt/},
4f3a742d 507 ],
ef667930
TC
508 # https://github.com/rpcme/File-Path/pull/34
509 'CUSTOMIZED' => [ qw( lib/File/Path.pm t/Path_win32.t ) ],
4f3a742d
DR
510 },
511
4f3a742d 512 'File::Temp' => {
3d5f905f 513 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
514 'FILES' => q[cpan/File-Temp],
515 'EXCLUDED' => [
516 qw( misc/benchmark.pl
517 misc/results.txt
518 ),
814e893f
CBW
519 qw[t/00-report-prereqs.t],
520 qr{^xt},
4f3a742d 521 ],
4f3a742d
DR
522 },
523
4f3a742d 524 'Filter::Simple' => {
37ffe967 525 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
526 'FILES' => q[dist/Filter-Simple],
527 'EXCLUDED' => [
4f3a742d
DR
528 qr{^demo/}
529 ],
4f3a742d
DR
530 },
531
532 'Filter::Util::Call' => {
356231b0 533 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
4f3a742d
DR
534 'FILES' => q[cpan/Filter-Util-Call
535 pod/perlfilter.pod
536 ],
537 'EXCLUDED' => [
538 qr{^decrypt/},
539 qr{^examples/},
540 qr{^Exec/},
541 qr{^lib/Filter/},
542 qr{^tee/},
543 qw( Call/Makefile.PL
544 Call/ppport.h
545 Call/typemap
546 mytest
547 t/cpp.t
548 t/decrypt.t
549 t/exec.t
550 t/order.t
4f3a742d
DR
551 t/sh.t
552 t/tee.t
533d93cc
SH
553 t/z_kwalitee.t
554 t/z_meta.t
555 t/z_perl_minimum_version.t
556 t/z_pod-coverage.t
557 t/z_pod.t
4f3a742d
DR
558 ),
559 ],
560 'MAP' => {
561 'Call/' => 'cpan/Filter-Util-Call/',
562 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
563 'perlfilter.pod' => 'pod/perlfilter.pod',
564 '' => 'cpan/Filter-Util-Call/',
565 },
4f3a742d
DR
566 },
567
4f3a742d 568 'Getopt::Long' => {
50f00446 569 'DISTRIBUTION' => 'JV/Getopt-Long-2.48.tar.gz',
4f3a742d
DR
570 'FILES' => q[cpan/Getopt-Long],
571 'EXCLUDED' => [
572 qr{^examples/},
573 qw( perl-Getopt-Long.spec
574 lib/newgetopt.pl
974d5816 575 t/gol-compat.t
4f3a742d
DR
576 ),
577 ],
4f3a742d
DR
578 },
579
4f3a742d 580 'HTTP::Tiny' => {
99527ef1 581 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz',
4f3a742d
DR
582 'FILES' => q[cpan/HTTP-Tiny],
583 'EXCLUDED' => [
fcfb9f49 584 't/00-report-prereqs.t',
57d69a40 585 't/00-report-prereqs.dd',
4f3a742d 586 't/200_live.t',
44347bc3 587 't/200_live_local_ip.t',
fcfb9f49 588 't/210_live_ssl.t',
4f3a742d
DR
589 qr/^eg/,
590 qr/^xt/
591 ],
4f3a742d
DR
592 },
593
594 'I18N::Collate' => {
4f3a742d
DR
595 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
596 'FILES' => q[dist/I18N-Collate],
597 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
598 },
599
4f3a742d 600 'I18N::LangTags' => {
4f3a742d 601 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
602 },
603
604 'if' => {
f7294c1d 605 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
4f3a742d 606 'FILES' => q[dist/if],
4f3a742d
DR
607 },
608
609 'IO' => {
4f3a742d
DR
610 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
611 'FILES' => q[dist/IO/],
612 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
613 },
614
615 'IO-Compress' => {
7dcc7d3d 616 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
4f3a742d 617 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
618 'EXCLUDED' => [
619 qr{^examples/},
620 qr{^t/Test/},
621 't/010examples-bzip2.t',
622 't/010examples-zlib.t',
623 't/cz-05examples.t',
624 ],
4f3a742d
DR
625 },
626
74a30e96 627 'IO::Socket::IP' => {
be3cfe4c 628 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.37.tar.gz',
74a30e96
CBW
629 'FILES' => q[cpan/IO-Socket-IP],
630 'EXCLUDED' => [
631 qr{^examples/},
632 ],
633 },
634
4f3a742d 635 'IO::Zlib' => {
4f3a742d
DR
636 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
637 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
638 },
639
640 'IPC::Cmd' => {
fd025031 641 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.94.tar.gz',
4f3a742d 642 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
643 },
644
4f3a742d 645 'IPC::SysV' => {
f38527b2 646 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
4f3a742d
DR
647 'FILES' => q[cpan/IPC-SysV],
648 'EXCLUDED' => [
649 qw( const-c.inc
650 const-xs.inc
651 ),
652 ],
4f3a742d
DR
653 },
654
655 'JSON::PP' => {
87f3ebe4 656 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz',
4f3a742d 657 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
658 },
659
660 'lib' => {
4f3a742d
DR
661 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
662 'FILES' => q[dist/lib/],
663 'EXCLUDED' => [
664 qw( forPAUSE/lib.pm
665 t/00pod.t
666 ),
667 ],
4f3a742d
DR
668 },
669
670 'libnet' => {
bfdb5bfe 671 'DISTRIBUTION' => 'SHAY/libnet-3.08.tar.gz',
4f3a742d
DR
672 'FILES' => q[cpan/libnet],
673 'EXCLUDED' => [
674 qw( Configure
2901a52f 675 t/changes.t
59e3cdd4
SH
676 t/critic.t
677 t/pod.t
678 t/pod_coverage.t
4f3a742d 679 ),
84c82da4 680 qr(^demos/),
dadfa42f 681 qr(^t/external/),
4f3a742d 682 ],
4f3a742d
DR
683 },
684
685 'Locale-Codes' => {
add9356c 686 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.38.tar.gz',
4f3a742d
DR
687 'FILES' => q[cpan/Locale-Codes],
688 'EXCLUDED' => [
84c82da4 689 qw( README.first
8eadc45b 690 t/pod_coverage.ign
84c82da4 691 t/pod_coverage.t
4f3a742d
DR
692 t/pod.t),
693 qr{^t/runtests},
694 qr{^t/runtests\.bat},
695 qr{^internal/},
696 qr{^examples/},
697 ],
4f3a742d
DR
698 },
699
700 'Locale::Maketext' => {
2310e174 701 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.26.tar.gz',
4f3a742d
DR
702 'FILES' => q[dist/Locale-Maketext],
703 'EXCLUDED' => [
704 qw(
705 perlcriticrc
706 t/00_load.t
707 t/pod.t
708 ),
709 ],
4f3a742d
DR
710 },
711
712 'Locale::Maketext::Simple' => {
4f3a742d
DR
713 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
714 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
715 },
716
4f3a742d 717 'Math::BigInt' => {
4657e0bc 718 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999715.tar.gz',
6b0f9b46 719 'FILES' => q[cpan/Math-BigInt],
4f3a742d
DR
720 'EXCLUDED' => [
721 qr{^inc/},
722 qr{^examples/},
6b10d254 723 qr{^t/author-},
4f3a742d
DR
724 qw( t/00sig.t
725 t/01load.t
726 t/02pod.t
727 t/03podcov.t
728 ),
729 ],
4f3a742d
DR
730 },
731
732 'Math::BigInt::FastCalc' => {
1d5bcce3 733 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.40.tar.gz',
6b0f9b46 734 'FILES' => q[cpan/Math-BigInt-FastCalc],
4f3a742d
DR
735 'EXCLUDED' => [
736 qr{^inc/},
737 qw( t/00sig.t
738 t/01load.t
739 t/02pod.t
740 t/03podcov.t
741 ),
742
743 # instead we use the versions of these test
744 # files that come with Math::BigInt:
745 qw( t/bigfltpm.inc
746 t/bigfltpm.t
747 t/bigintpm.inc
748 t/bigintpm.t
749 t/mbimbf.inc
750 t/mbimbf.t
751 ),
752 ],
4f3a742d
DR
753 },
754
755 'Math::BigRat' => {
11c955be 756 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260802.tar.gz',
6b0f9b46 757 'FILES' => q[cpan/Math-BigRat],
4f3a742d
DR
758 'EXCLUDED' => [
759 qr{^inc/},
760 qw( t/00sig.t
761 t/01load.t
762 t/02pod.t
763 t/03podcov.t
11c955be 764 t/blog-mbr.t
4f3a742d
DR
765 ),
766 ],
9b331ac6
SH
767 'CUSTOMIZED' => [
768 qw( lib/Math/BigRat.pm
769 ),
770 ],
4f3a742d
DR
771 },
772
773 'Math::Complex' => {
04ae1553 774 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
775 'FILES' => q[cpan/Math-Complex],
776 'EXCLUDED' => [
777 qw( t/pod.t
778 t/pod-coverage.t
779 ),
780 ],
4f3a742d
DR
781 },
782
783 'Memoize' => {
8114efa0 784 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
785 'FILES' => q[cpan/Memoize],
786 'EXCLUDED' => ['article.html'],
4f3a742d
DR
787 },
788
789 'MIME::Base64' => {
6b10655d 790 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
4f3a742d
DR
791 'FILES' => q[cpan/MIME-Base64],
792 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
793 },
794
4f3a742d 795 'Module::CoreList' => {
c534415b 796 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20160520.tar.gz',
4f3a742d 797 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
798 },
799
800 'Module::Load' => {
58572ed8 801 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 802 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
803 },
804
805 'Module::Load::Conditional' => {
a1f2a8e1 806 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.64.tar.gz',
4f3a742d 807 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
808 },
809
810 'Module::Loaded' => {
4f3a742d
DR
811 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
812 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
813 },
814
815 'Module::Metadata' => {
8255316a 816 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000032-TRIAL.tar.gz',
4f3a742d
DR
817 'FILES' => q[cpan/Module-Metadata],
818 'EXCLUDED' => [
b9beed70 819 qw(t/00-report-prereqs.t),
adc2cdfb 820 qw(t/00-report-prereqs.dd),
e6d414a9 821 qr{weaver.ini},
4f3a742d
DR
822 qr{^xt},
823 ],
4f3a742d
DR
824 },
825
4f3a742d 826 'Net::Ping' => {
4e0aac35 827 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 828 'FILES' => q[dist/Net-Ping],
4f3a742d
DR
829 },
830
831 'NEXT' => {
4f3a742d
DR
832 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
833 'FILES' => q[cpan/NEXT],
834 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
835 },
836
4f3a742d 837 'Params::Check' => {
8b21fa03 838 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 839 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
840 },
841
842 'parent' => {
bdb6acef 843 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz',
4f3a742d 844 'FILES' => q[cpan/parent],
4f3a742d
DR
845 },
846
847 'Parse::CPAN::Meta' => {
9716828a 848 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz',
4f3a742d 849 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 850 'EXCLUDED' => [
f907dd3c 851 qw[t/00-report-prereqs.dd],
342e4710
CBW
852 qw[t/00-report-prereqs.t],
853 qr{^xt},
854 ],
4f3a742d
DR
855 },
856
857 'PathTools' => {
0224bf41 858 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
cb8c8458 859 'FILES' => q[dist/PathTools],
76250107
SH
860 'EXCLUDED' => [
861 qr{^t/lib/Test/},
862 qw( t/rel2abs_vs_symlink.t),
863 ],
4f3a742d
DR
864 },
865
97b1d6e6 866 'Perl::OSType' => {
76f6b771 867 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.009.tar.gz',
97b1d6e6 868 'FILES' => q[cpan/Perl-OSType],
765955c0 869 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
870 },
871
97b1d6e6 872 'perlfaq' => {
a2c3b2fe 873 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
97b1d6e6
SH
874 'FILES' => q[cpan/perlfaq],
875 'EXCLUDED' => [
4d25f022 876 qw( inc/CreateQuestionList.pm
e3ef4406 877 inc/perlfaq.tt
4d25f022
SH
878 t/00-compile.t),
879 qr{^xt/},
97b1d6e6 880 ],
97b1d6e6
SH
881 },
882
4f3a742d 883 'PerlIO::via::QuotedPrint' => {
96623e31 884 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
4f3a742d 885 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
4f3a742d
DR
886 },
887
0c501878 888 'Pod::Checker' => {
0c501878
CBW
889 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
890 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
891 },
892
4f3a742d 893 'Pod::Escapes' => {
f347d3e3 894 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
4f3a742d 895 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
896 },
897
4f3a742d 898 'Pod::Parser' => {
534577b2 899 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
4f3a742d 900 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
901 },
902
903 'Pod::Perldoc' => {
96f13870 904 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.25.tar.gz',
00e518b3 905 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 906
fa884b76
DM
907 # Note that we use the CPAN-provided Makefile.PL, since it
908 # contains special handling of the installation of perldoc.pod
909
910 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
911 # instead
912 # XXX We can and should fix this, but clean up the DRY-failure in utils
913 # first
914 'EXCLUDED' => ['perldoc'],
18c028dd
AB
915
916 # https://rt.cpan.org/Ticket/Display.html?id=106798
f090f03a 917 # https://rt.cpan.org/Ticket/Display.html?id=110368
18c028dd 918 'CUSTOMIZED' => [ qw[ lib/Pod/Perldoc.pm ] ],
4f3a742d
DR
919 },
920
921 'Pod::Simple' => {
a4a12576 922 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
4f3a742d 923 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
924 },
925
0c501878 926 'Pod::Usage' => {
1a938e7c 927 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.68.tar.gz',
0c501878 928 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
929 },
930
4f3a742d 931 'podlators' => {
84d02d20 932 'DISTRIBUTION' => 'RRA/podlators-4.07.tar.gz',
4f3a742d
DR
933 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
934
4f3a742d
DR
935 'MAP' => {
936 '' => 'cpan/podlators/',
4f3a742d 937 # this file lives outside the cpan/ directory
259f5e0b 938 'pod/perlpodstyle' => 'pod/perlpodstyle.pod',
4f3a742d 939 },
4f3a742d
DR
940 },
941
4f3a742d 942 'Safe' => {
e739c653 943 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 944 'FILES' => q[dist/Safe],
4f3a742d
DR
945 },
946
947 'Scalar-List-Utils' => {
e8164ee7 948 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.45.tar.gz',
869a9612 949 'FILES' => q[cpan/Scalar-List-Utils],
7ede3c4f
AC
950 # Waiting to be merged upstream
951 # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/42
952 'CUSTOMIZED' => [
953 qw( ListUtil.xs
954 lib/List/Util.pm
955 lib/List/Util/XS.pm
956 lib/Scalar/Util.pm
957 lib/Sub/Util.pm
958 )
959 ],
4f3a742d
DR
960 },
961
4f3a742d 962 'Search::Dict' => {
0b0a7092 963 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 964 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
965 },
966
967 'SelfLoader' => {
c3958279 968 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
969 'FILES' => q[dist/SelfLoader],
970 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
971 },
972
4f3a742d 973 'Socket' => {
06a9195c 974 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 975 'FILES' => q[cpan/Socket],
06a9195c
SH
976
977 # https://rt.cpan.org/Ticket/Display.html?id=106797
978 # https://rt.cpan.org/Ticket/Display.html?id=107058
98e2bb74 979 # https://rt.cpan.org/Ticket/Display.html?id=111707
06a9195c 980 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
981 },
982
983 'Storable' => {
5f4b5e0f 984 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 985 'FILES' => q[dist/Storable],
76250107
SH
986 'EXCLUDED' => [
987 qr{^t/compat/},
988 ],
4f3a742d
DR
989 },
990
4f3a742d 991 'Sys::Syslog' => {
e57ea7c9 992 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.34.tar.gz',
4f3a742d
DR
993 'FILES' => q[cpan/Sys-Syslog],
994 'EXCLUDED' => [
995 qr{^eg/},
84c82da4
SH
996 qw( README.win32
997 t/data-validation.t
4f3a742d
DR
998 t/distchk.t
999 t/pod.t
1000 t/podcover.t
1001 t/podspell.t
1002 t/portfs.t
1003 win32/PerlLog.RES
4f3a742d
DR
1004 ),
1005 ],
4f3a742d
DR
1006 },
1007
1008 'Term::ANSIColor' => {
05465a2f 1009 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.05.tar.gz',
4f3a742d
DR
1010 'FILES' => q[cpan/Term-ANSIColor],
1011 'EXCLUDED' => [
92f80b37
CBW
1012 qr{^examples/},
1013 qr{^t/data/},
5e64492f
CBW
1014 qr{^t/docs/},
1015 qr{^t/style/},
1016 qw( t/module/aliases-env.t ),
4f3a742d 1017 ],
4f3a742d
DR
1018 },
1019
1020 'Term::Cap' => {
23a75734 1021 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1022 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1023 },
1024
1025 'Term::Complete' => {
4f3a742d
DR
1026 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1027 'FILES' => q[dist/Term-Complete],
1028 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1029 },
1030
1031 'Term::ReadLine' => {
75ad3638 1032 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1033 'FILES' => q[dist/Term-ReadLine],
1034 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1035 },
1036
4f3a742d 1037 'Test' => {
1c22e001 1038 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1039 'FILES' => q[dist/Test],
4f3a742d
DR
1040 },
1041
1042 'Test::Harness' => {
3eb3ec0b 1043 'DISTRIBUTION' => 'LEONT/Test-Harness-3.36.tar.gz',
4f3a742d
DR
1044 'FILES' => q[cpan/Test-Harness],
1045 'EXCLUDED' => [
1046 qr{^examples/},
4f3a742d
DR
1047 qr{^xt/},
1048 qw( Changes-2.64
8db65552 1049 MANIFEST.CUMMULATIVE
4f3a742d
DR
1050 HACKING.pod
1051 perlcriticrc
8db65552 1052 t/000-load.t
4f3a742d
DR
1053 t/lib/if.pm
1054 ),
1055 ],
4f3a742d
DR
1056 },
1057
1058 'Test::Simple' => {
80a7dd19 1059 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1060 'FILES' => q[cpan/Test-Simple],
1061 'EXCLUDED' => [
6dab8563 1062 qr{^t/xt},
86e082c9 1063 qr{^xt},
4f3a742d
DR
1064 qw( .perlcriticrc
1065 .perltidyrc
84c82da4
SH
1066 examples/indent.pl
1067 examples/subtest.t
80a7dd19 1068 t/00compile.t
18864292 1069 t/xxx-changes_updated.t
4f3a742d
DR
1070 ),
1071 ],
33d95a65
TC
1072 # https://github.com/Test-More/test-more/issues/679
1073 CUSTOMIZED => [ 't/Test2/modules/API/Instance.t' ],
f266b743 1074 },
4f3a742d
DR
1075
1076 'Text::Abbrev' => {
5e96eee9 1077 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1078 'FILES' => q[dist/Text-Abbrev],
1079 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1080 },
1081
1082 'Text::Balanced' => {
03a97c81 1083 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1084 'FILES' => q[cpan/Text-Balanced],
1085 'EXCLUDED' => [
1086 qw( t/97_meta.t
1087 t/98_pod.t
1088 t/99_pmv.t
1089 ),
1090 ],
4f3a742d
DR
1091 },
1092
1093 'Text::ParseWords' => {
a790e348 1094 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1095 'FILES' => q[cpan/Text-ParseWords],
4f3a742d
DR
1096 },
1097
4f3a742d 1098 'Text-Tabs+Wrap' => {
83aea42c 1099 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1100 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1101 'EXCLUDED' => [
1102 qr/^lib\.old/,
1103 't/dnsparks.t', # see af6492bf9e
4f3a742d 1104 ],
e7b92d54
SH
1105 'MAP' => {
1106 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1107 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1108 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1109 },
4f3a742d
DR
1110 },
1111
4e75700d
AC
1112 # Jerry Hedden does take patches that are applied to blead first, even
1113 # though that can be hard to discern from the Git history; so it's
1114 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1115 # to be under dist/ rather than cpan/
4f3a742d 1116 'Thread::Queue' => {
89e2fe52 1117 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.11.tar.gz',
4f3a742d
DR
1118 'FILES' => q[dist/Thread-Queue],
1119 'EXCLUDED' => [
1fd4700e
JH
1120 qr{^examples/},
1121 qw( t/00_load.t
4f3a742d
DR
1122 t/99_pod.t
1123 t/test.pl
1124 ),
1125 ],
4f3a742d
DR
1126 },
1127
1128 'Thread::Semaphore' => {
4f3a742d
DR
1129 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1130 'FILES' => q[dist/Thread-Semaphore],
1131 'EXCLUDED' => [
1132 qw( examples/semaphore.pl
1133 t/00_load.t
1134 t/99_pod.t
1135 t/test.pl
1136 ),
1137 ],
4f3a742d
DR
1138 },
1139
1140 'threads' => {
5ea3460b 1141 'DISTRIBUTION' => 'JDHEDDEN/threads-2.09.tar.gz',
4f3a742d
DR
1142 'FILES' => q[dist/threads],
1143 'EXCLUDED' => [
1144 qr{^examples/},
1145 qw( t/pod.t
1146 t/test.pl
1147 threads.h
1148 ),
1149 ],
4f3a742d
DR
1150 },
1151
1152 'threads::shared' => {
83c15bcd 1153 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.52.tar.gz',
4f3a742d
DR
1154 'FILES' => q[dist/threads-shared],
1155 'EXCLUDED' => [
1156 qw( examples/class.pl
1157 shared.h
1158 t/pod.t
1159 t/test.pl
1160 ),
1161 ],
4f3a742d
DR
1162 },
1163
1164 'Tie::File' => {
4ac9c666 1165 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1166 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1167 },
1168
4f3a742d 1169 'Tie::RefHash' => {
4f3a742d
DR
1170 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1171 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1172 },
1173
1174 'Time::HiRes' => {
965f9517 1175 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9733.tar.gz',
91ba54d4 1176 'FILES' => q[dist/Time-HiRes],
4f3a742d
DR
1177 },
1178
1179 'Time::Local' => {
62e824cf 1180 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1181 'FILES' => q[cpan/Time-Local],
1182 'EXCLUDED' => [
62e824cf 1183 qr{^t/release-.*\.t},
4f3a742d 1184 ],
4f3a742d
DR
1185 },
1186
1187 'Time::Piece' => {
5563b392 1188 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
4f3a742d 1189 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1190 },
1191
1192 'Unicode::Collate' => {
6962a25d 1193 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.14.tar.gz',
4f3a742d
DR
1194 'FILES' => q[cpan/Unicode-Collate],
1195 'EXCLUDED' => [
1196 qr{N$},
1197 qr{^data/},
1198 qr{^gendata/},
1199 qw( disableXS
1200 enableXS
1201 mklocale
1202 ),
1203 ],
4f3a742d
DR
1204 },
1205
1206 'Unicode::Normalize' => {
1ef95abd 1207 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
4f3a742d 1208 'FILES' => q[cpan/Unicode-Normalize],
1ef95abd
SH
1209 'EXCLUDED' => [
1210 qw( MANIFEST.N
1211 Normalize.pmN
1212 disableXS
1213 enableXS
1214 ),
1215 ],
4f3a742d
DR
1216 },
1217
4f3a742d 1218 'version' => {
3462bde7 1219 'DISTRIBUTION' => 'JPEACOCK/version-0.9916.tar.gz',
4fa93b19 1220 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1221 'EXCLUDED' => [
df3ba8e7 1222 qr{^vutil/lib/},
c60b4fa6 1223 'vutil/Makefile.PL',
df3ba8e7
FC
1224 'vutil/ppport.h',
1225 'vutil/vxs.xs',
ce9582af 1226 't/00impl-pp.t',
4f3a742d 1227 't/survey_locales',
ce9582af 1228 'lib/version/vpp.pm',
4f3a742d 1229 ],
f81a37f2 1230
c872d591
SH
1231 # When adding the CPAN-distributed files for version.pm, it is necessary
1232 # to delete an entire block out of lib/version.pm, since that code is
1233 # only necessary with the CPAN release.
f81a37f2
SH
1234 'CUSTOMIZED' => [
1235 qw( lib/version.pm
f81a37f2
SH
1236 ),
1237 ],
1238
df3ba8e7 1239 'MAP' => {
4fa93b19
SH
1240 'vperl/' => 'cpan/version/lib/version/',
1241 'vutil/' => '',
df3ba8e7
FC
1242 '' => 'cpan/version/',
1243 },
4f3a742d
DR
1244 },
1245
4f3a742d 1246 'warnings' => {
099bebb1 1247 'FILES' => q[
4f3a742d 1248 lib/warnings
099bebb1
SH
1249 lib/warnings.{pm,t}
1250 regen/warnings.pl
4f3a742d 1251 t/lib/warnings
099bebb1 1252 ],
4f3a742d
DR
1253 },
1254
4f3a742d 1255 'Win32' => {
083231ea 1256 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1257 'FILES' => q[cpan/Win32],
4f3a742d
DR
1258 },
1259
1260 'Win32API::File' => {
df61f5a9 1261 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
4f3a742d
DR
1262 'FILES' => q[cpan/Win32API-File],
1263 'EXCLUDED' => [
1264 qr{^ex/},
4f3a742d 1265 ],
4f3a742d
DR
1266 },
1267
4f3a742d 1268 'XSLoader' => {
681a49bf 1269 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1270 'FILES' => q[dist/XSLoader],
1271 'EXCLUDED' => [
1272 qr{^eg/},
57f9caa0
SH
1273 qw( t/00-load.t
1274 t/01-api.t
1275 t/distchk.t
1276 t/pod.t
4f3a742d
DR
1277 t/podcover.t
1278 t/portfs.t
1279 ),
1280 'XSLoader.pm', # we use XSLoader_pm.PL
1281 ],
4f3a742d
DR
1282 },
1283
462ea751
DM
1284 # this pseudo-module represents all the files under ext/ and lib/
1285 # that aren't otherwise claimed. This means that the following two
1286 # commands will check that every file under ext/ and lib/ is
1287 # accounted for, and that there are no duplicates:
1288 #
1289 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1290 # perl Porting/Maintainers --checkmani
462ea751 1291
4f3a742d 1292 '_PERLLIB' => {
2af3c4b9 1293 'FILES' => q[
79852350
AB
1294 ext/Amiga-ARexx/
1295 ext/Amiga-Exec/
09213599 1296 ext/B/
2af3c4b9
SH
1297 ext/Devel-Peek/
1298 ext/DynaLoader/
1299 ext/Errno/
7b4d95f7 1300 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1301 ext/Fcntl/
1302 ext/File-DosGlob/
1303 ext/File-Find/
1304 ext/File-Glob/
1305 ext/FileCache/
1306 ext/GDBM_File/
1307 ext/Hash-Util-FieldHash/
1308 ext/Hash-Util/
1309 ext/I18N-Langinfo/
1310 ext/IPC-Open3/
1311 ext/NDBM_File/
1312 ext/ODBM_File/
1313 ext/Opcode/
1314 ext/POSIX/
1315 ext/PerlIO-encoding/
1316 ext/PerlIO-mmap/
1317 ext/PerlIO-scalar/
1318 ext/PerlIO-via/
1319 ext/Pod-Functions/
1320 ext/Pod-Html/
1321 ext/SDBM_File/
1322 ext/Sys-Hostname/
1323 ext/Tie-Hash-NamedCapture/
1324 ext/Tie-Memoize/
b3dcf775 1325 ext/VMS-DCLsym/
2af3c4b9 1326 ext/VMS-Filespec/
b3dcf775
SH
1327 ext/VMS-Stdio/
1328 ext/Win32CORE/
4f3a742d 1329 ext/XS-APItest/
2af3c4b9
SH
1330 ext/XS-Typemap/
1331 ext/arybase/
1332 ext/attributes/
1333 ext/mro/
1334 ext/re/
1335 lib/AnyDBM_File.{pm,t}
1336 lib/Benchmark.{pm,t}
38eca645 1337 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1338 lib/B/Op_private.pm
4f3a742d 1339 lib/CORE.pod
2af3c4b9 1340 lib/Class/Struct.{pm,t}
4f3a742d
DR
1341 lib/Config.t
1342 lib/Config/Extensions.{pm,t}
1343 lib/DB.{pm,t}
2af3c4b9
SH
1344 lib/DBM_Filter.pm
1345 lib/DBM_Filter/
1346 lib/DirHandle.{pm,t}
1347 lib/English.{pm,t}
4f3a742d
DR
1348 lib/ExtUtils/Embed.pm
1349 lib/ExtUtils/XSSymSet.pm
1350 lib/ExtUtils/t/Embed.t
1351 lib/ExtUtils/typemap
2af3c4b9
SH
1352 lib/File/Basename.{pm,t}
1353 lib/File/Compare.{pm,t}
1354 lib/File/Copy.{pm,t}
1355 lib/File/stat{.pm,.t,-7896.t}
1356 lib/FileHandle.{pm,t}
1357 lib/FindBin.{pm,t}
1358 lib/Getopt/Std.{pm,t}
4f3a742d 1359 lib/Internals.t
4b6af431 1360 lib/meta_notation.{pm,t}
4f3a742d
DR
1361 lib/Net/hostent.{pm,t}
1362 lib/Net/netent.{pm,t}
1363 lib/Net/protoent.{pm,t}
1364 lib/Net/servent.{pm,t}
2af3c4b9 1365 lib/PerlIO.pm
4f3a742d
DR
1366 lib/Pod/t/InputObjects.t
1367 lib/Pod/t/Select.t
1368 lib/Pod/t/Usage.t
4f3a742d
DR
1369 lib/Pod/t/utils.t
1370 lib/SelectSaver.{pm,t}
1371 lib/Symbol.{pm,t}
1372 lib/Thread.{pm,t}
1373 lib/Tie/Array.pm
1374 lib/Tie/Array/
1375 lib/Tie/ExtraHash.t
1376 lib/Tie/Handle.pm
1377 lib/Tie/Handle/
2af3c4b9 1378 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1379 lib/Tie/Scalar.{pm,t}
1380 lib/Tie/StdHandle.pm
1381 lib/Tie/SubstrHash.{pm,t}
1382 lib/Time/gmtime.{pm,t}
1383 lib/Time/localtime.{pm,t}
1384 lib/Time/tm.pm
1385 lib/UNIVERSAL.pm
1386 lib/Unicode/README
2af3c4b9 1387 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1388 lib/User/grent.{pm,t}
1389 lib/User/pwent.{pm,t}
2af3c4b9 1390 lib/_charnames.pm
4f3a742d
DR
1391 lib/blib.{pm,t}
1392 lib/bytes.{pm,t}
1393 lib/bytes_heavy.pl
1394 lib/charnames.{pm,t}
1395 lib/dbm_filter_util.pl
1396 lib/deprecate.pm
2af3c4b9 1397 lib/diagnostics.{pm,t}
4f3a742d
DR
1398 lib/dumpvar.{pl,t}
1399 lib/feature.{pm,t}
1400 lib/feature/
1401 lib/filetest.{pm,t}
1402 lib/h2ph.t
1403 lib/h2xs.t
1404 lib/integer.{pm,t}
1405 lib/less.{pm,t}
1406 lib/locale.{pm,t}
1407 lib/open.{pm,t}
1408 lib/overload/numbers.pm
1409 lib/overloading.{pm,t}
2af3c4b9 1410 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1411 lib/perl5db.{pl,t}
1412 lib/perl5db/
a3b4b767 1413 lib/perlbug.t
2af3c4b9 1414 lib/sigtrap.{pm,t}
4f3a742d
DR
1415 lib/sort.{pm,t}
1416 lib/strict.{pm,t}
1417 lib/subs.{pm,t}
1418 lib/unicore/
1419 lib/utf8.{pm,t}
1420 lib/utf8_heavy.pl
1421 lib/vars{.pm,.t,_carp.t}
1422 lib/vmsish.{pm,t}
1423 ],
4f3a742d 1424 },
462ea751 1425);
b128a327 1426
97556ec3 1427# legacy CPAN flag
4f3a742d 1428for ( values %Modules ) {
97556ec3
GA
1429 $_->{CPAN} = !!$_->{DISTRIBUTION};
1430}
1431
099bebb1
SH
1432# legacy UPSTREAM flag
1433for ( keys %Modules ) {
1434 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1435 next if exists $Modules{$_}{UPSTREAM};
1436
1437 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1438 $Modules{$_}{UPSTREAM} = 'blead';
1439 }
1440 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1441 $Modules{$_}{UPSTREAM} = 'cpan';
1442 }
1443 else {
1444 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1445 }
1446}
1447
d350de41 1448# legacy MAINTAINER field
099bebb1 1449for ( keys %Modules ) {
b3dcf775 1450 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1451 next if exists $Modules{$_}{MAINTAINER};
1452
1453 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1454 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1455 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1456 }
099bebb1
SH
1457 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1458 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1459 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1460 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1461 }
099bebb1
SH
1462 else {
1463 warn "No DISTRIBUTION for non-blead module $_";
1464 }
d350de41
SH
1465}
1466
b128a327 14671;