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