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