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