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