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