This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Config-Perl-V bump in Maintainers.pl
[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' => {
374c951f 306 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.133.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' => {
90b2cbd5 692 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.36.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' => {
9ba7b6e4 738 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.37.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' => {
ba705463 862 'DISTRIBUTION' => 'RJBS/PathTools-3.59.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
921 'CUSTOMIZED' => [ qw[ lib/Pod/Perldoc.pm ] ],
4f3a742d
DR
922 },
923
924 'Pod::Simple' => {
a4a12576 925 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
4f3a742d 926 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
927 },
928
0c501878 929 'Pod::Usage' => {
969c6694 930 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.67.tar.gz',
0c501878 931 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
932 },
933
4f3a742d 934 'podlators' => {
b52cde68 935 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
936 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
937
938 # The perl distribution has pod2man.PL and pod2text.PL, which are
939 # run to create pod2man and pod2text, while the CPAN distribution
940 # just has the post-generated pod2man and pod2text files.
941 # The following entries attempt to codify that odd fact.
942 'CUSTOMIZED' => [
943 qw( scripts/pod2man.PL
944 scripts/pod2text.PL
4f3a742d
DR
945 ),
946 ],
947 'MAP' => {
948 '' => 'cpan/podlators/',
949 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
950 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
951
952 # this file lives outside the cpan/ directory
953 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
954 },
4f3a742d
DR
955 },
956
4f3a742d 957 'Safe' => {
e739c653 958 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 959 'FILES' => q[dist/Safe],
4f3a742d
DR
960 },
961
962 'Scalar-List-Utils' => {
3d58dd24 963 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.42.tar.gz',
869a9612
SH
964 'FILES' => q[cpan/Scalar-List-Utils],
965 # Waiting to be merged upstream:
966 # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24
967 'CUSTOMIZED' => [
968 qw( ListUtil.xs
969 lib/List/Util.pm
970 lib/List/Util/XS.pm
971 lib/Scalar/Util.pm
972 lib/Sub/Util.pm
973 )
974 ],
4f3a742d
DR
975 },
976
4f3a742d 977 'Search::Dict' => {
0b0a7092 978 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 979 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
980 },
981
982 'SelfLoader' => {
c3958279 983 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
984 'FILES' => q[dist/SelfLoader],
985 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
986 },
987
4f3a742d 988 'Socket' => {
50e79584 989 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
4f3a742d 990 'FILES' => q[cpan/Socket],
99ee6704
AB
991
992 # https://rt.cpan.org/Ticket/Display.html?id=106797
6aba156f 993 # https://rt.cpan.org/Ticket/Display.html?id=107058
dee6f87b 994 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
4f3a742d
DR
995 },
996
997 'Storable' => {
5f4b5e0f 998 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
4f3a742d 999 'FILES' => q[dist/Storable],
76250107
SH
1000 'EXCLUDED' => [
1001 qr{^t/compat/},
1002 ],
4f3a742d
DR
1003 },
1004
4f3a742d 1005 'Sys::Syslog' => {
848ca32c 1006 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1007 'FILES' => q[cpan/Sys-Syslog],
1008 'EXCLUDED' => [
1009 qr{^eg/},
84c82da4
SH
1010 qw( README.win32
1011 t/data-validation.t
4f3a742d
DR
1012 t/distchk.t
1013 t/pod.t
1014 t/podcover.t
1015 t/podspell.t
1016 t/portfs.t
1017 win32/PerlLog.RES
4f3a742d
DR
1018 ),
1019 ],
4f3a742d
DR
1020 },
1021
1022 'Term::ANSIColor' => {
5e64492f 1023 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.03.tar.gz',
4f3a742d
DR
1024 'FILES' => q[cpan/Term-ANSIColor],
1025 'EXCLUDED' => [
92f80b37
CBW
1026 qr{^examples/},
1027 qr{^t/data/},
5e64492f
CBW
1028 qr{^t/docs/},
1029 qr{^t/style/},
1030 qw( t/module/aliases-env.t ),
4f3a742d 1031 ],
4f3a742d
DR
1032 },
1033
1034 'Term::Cap' => {
23a75734 1035 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
4f3a742d 1036 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1037 },
1038
1039 'Term::Complete' => {
4f3a742d
DR
1040 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1041 'FILES' => q[dist/Term-Complete],
1042 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1043 },
1044
1045 'Term::ReadLine' => {
75ad3638 1046 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1047 'FILES' => q[dist/Term-ReadLine],
1048 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1049 },
1050
4f3a742d 1051 'Test' => {
1c22e001 1052 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
48458f69 1053 'FILES' => q[dist/Test],
4f3a742d
DR
1054 },
1055
1056 'Test::Harness' => {
2cc1a90a 1057 'DISTRIBUTION' => 'LEONT/Test-Harness-3.35.tar.gz',
4f3a742d
DR
1058 'FILES' => q[cpan/Test-Harness],
1059 'EXCLUDED' => [
1060 qr{^examples/},
1061 qr{^inc/},
1062 qr{^t/lib/Test/},
1063 qr{^xt/},
1064 qw( Changes-2.64
8db65552 1065 MANIFEST.CUMMULATIVE
4f3a742d
DR
1066 NotBuild.PL
1067 HACKING.pod
1068 perlcriticrc
8db65552 1069 t/000-load.t
4f3a742d
DR
1070 t/lib/if.pm
1071 ),
1072 ],
4f3a742d
DR
1073 },
1074
1075 'Test::Simple' => {
80a7dd19 1076 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001014.tar.gz',
4f3a742d
DR
1077 'FILES' => q[cpan/Test-Simple],
1078 'EXCLUDED' => [
6dab8563 1079 qr{^t/xt},
86e082c9 1080 qr{^xt},
4f3a742d
DR
1081 qw( .perlcriticrc
1082 .perltidyrc
84c82da4
SH
1083 examples/indent.pl
1084 examples/subtest.t
80a7dd19 1085 t/00compile.t
18864292 1086 t/xxx-changes_updated.t
4f3a742d
DR
1087 ),
1088 ],
f266b743 1089 },
4f3a742d
DR
1090
1091 'Text::Abbrev' => {
5e96eee9 1092 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1093 'FILES' => q[dist/Text-Abbrev],
1094 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1095 },
1096
1097 'Text::Balanced' => {
03a97c81 1098 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
4f3a742d
DR
1099 'FILES' => q[cpan/Text-Balanced],
1100 'EXCLUDED' => [
1101 qw( t/97_meta.t
1102 t/98_pod.t
1103 t/99_pmv.t
1104 ),
1105 ],
4f3a742d
DR
1106 },
1107
1108 'Text::ParseWords' => {
a790e348 1109 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
4f3a742d 1110 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1111
a790e348
SH
1112 # Waiting to be merged upstream:
1113 # see https://github.com/chorny/Text-ParseWords/pull/6
f81a37f2
SH
1114 'CUSTOMIZED' => [
1115 qw( t/ParseWords.t
f81a37f2
SH
1116 ),
1117 ],
4f3a742d
DR
1118 },
1119
4f3a742d 1120 'Text-Tabs+Wrap' => {
83aea42c 1121 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1122 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1123 'EXCLUDED' => [
1124 qr/^lib\.old/,
1125 't/dnsparks.t', # see af6492bf9e
4f3a742d 1126 ],
e7b92d54
SH
1127 'MAP' => {
1128 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1129 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1130 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1131 },
4f3a742d
DR
1132 },
1133
4e75700d
AC
1134 # Jerry Hedden does take patches that are applied to blead first, even
1135 # though that can be hard to discern from the Git history; so it's
1136 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1137 # to be under dist/ rather than cpan/
4f3a742d 1138 'Thread::Queue' => {
9846bace 1139 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.07.tar.gz',
4f3a742d
DR
1140 'FILES' => q[dist/Thread-Queue],
1141 'EXCLUDED' => [
1fd4700e
JH
1142 qr{^examples/},
1143 qw( t/00_load.t
4f3a742d
DR
1144 t/99_pod.t
1145 t/test.pl
1146 ),
1147 ],
4f3a742d
DR
1148 },
1149
1150 'Thread::Semaphore' => {
4f3a742d
DR
1151 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1152 'FILES' => q[dist/Thread-Semaphore],
1153 'EXCLUDED' => [
1154 qw( examples/semaphore.pl
1155 t/00_load.t
1156 t/99_pod.t
1157 t/test.pl
1158 ),
1159 ],
4f3a742d
DR
1160 },
1161
1162 'threads' => {
aa8d754d 1163 'DISTRIBUTION' => 'JDHEDDEN/threads-2.02.tar.gz',
4f3a742d
DR
1164 'FILES' => q[dist/threads],
1165 'EXCLUDED' => [
1166 qr{^examples/},
1167 qw( t/pod.t
1168 t/test.pl
1169 threads.h
1170 ),
1171 ],
4f3a742d
DR
1172 },
1173
1174 'threads::shared' => {
f3f2f486 1175 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.48.tar.gz',
4f3a742d
DR
1176 'FILES' => q[dist/threads-shared],
1177 'EXCLUDED' => [
1178 qw( examples/class.pl
1179 shared.h
1180 t/pod.t
1181 t/test.pl
1182 ),
1183 ],
4f3a742d
DR
1184 },
1185
1186 'Tie::File' => {
4ac9c666 1187 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1188 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1189 },
1190
4f3a742d 1191 'Tie::RefHash' => {
4f3a742d
DR
1192 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1193 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1194 },
1195
1196 'Time::HiRes' => {
4451fd4e 1197 'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9728.tar.gz',
4f3a742d 1198 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1199 },
1200
1201 'Time::Local' => {
62e824cf 1202 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1203 'FILES' => q[cpan/Time-Local],
1204 'EXCLUDED' => [
62e824cf 1205 qr{^t/release-.*\.t},
4f3a742d 1206 ],
4f3a742d
DR
1207 },
1208
1209 'Time::Piece' => {
5563b392 1210 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
4f3a742d 1211 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1212 },
1213
1214 'Unicode::Collate' => {
6962a25d 1215 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.14.tar.gz',
4f3a742d
DR
1216 'FILES' => q[cpan/Unicode-Collate],
1217 'EXCLUDED' => [
1218 qr{N$},
1219 qr{^data/},
1220 qr{^gendata/},
1221 qw( disableXS
1222 enableXS
1223 mklocale
1224 ),
1225 ],
4f3a742d
DR
1226 },
1227
1228 'Unicode::Normalize' => {
c6b7cc21 1229 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.23.tar.gz',
4f3a742d 1230 'FILES' => q[cpan/Unicode-Normalize],
4f3a742d
DR
1231 },
1232
4f3a742d 1233 'version' => {
da891a41 1234 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz',
4fa93b19 1235 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1236 'EXCLUDED' => [
df3ba8e7 1237 qr{^vutil/lib/},
c60b4fa6 1238 'vutil/Makefile.PL',
df3ba8e7
FC
1239 'vutil/ppport.h',
1240 'vutil/vxs.xs',
ce9582af 1241 't/00impl-pp.t',
4f3a742d 1242 't/survey_locales',
ce9582af 1243 'lib/version/vpp.pm',
4f3a742d 1244 ],
f81a37f2 1245
c872d591
SH
1246 # When adding the CPAN-distributed files for version.pm, it is necessary
1247 # to delete an entire block out of lib/version.pm, since that code is
1248 # only necessary with the CPAN release.
f81a37f2
SH
1249 'CUSTOMIZED' => [
1250 qw( lib/version.pm
f81a37f2 1251 ),
4637d007
SH
1252
1253 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1254 qw( vutil.c
4637d007 1255 ),
f81a37f2
SH
1256 ],
1257
df3ba8e7 1258 'MAP' => {
4fa93b19
SH
1259 'vperl/' => 'cpan/version/lib/version/',
1260 'vutil/' => '',
df3ba8e7
FC
1261 '' => 'cpan/version/',
1262 },
4f3a742d
DR
1263 },
1264
4f3a742d 1265 'warnings' => {
099bebb1 1266 'FILES' => q[
4f3a742d 1267 lib/warnings
099bebb1
SH
1268 lib/warnings.{pm,t}
1269 regen/warnings.pl
4f3a742d 1270 t/lib/warnings
099bebb1 1271 ],
4f3a742d
DR
1272 },
1273
4f3a742d 1274 'Win32' => {
083231ea 1275 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
4f3a742d 1276 'FILES' => q[cpan/Win32],
4f3a742d
DR
1277 },
1278
1279 'Win32API::File' => {
e5240100 1280 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1202.tar.gz',
4f3a742d
DR
1281 'FILES' => q[cpan/Win32API-File],
1282 'EXCLUDED' => [
1283 qr{^ex/},
4f3a742d 1284 ],
9d20b1d3
SH
1285
1286 # Currently all EOL differences. Waiting for a new upstream release:
1287 # All the files in the GitHub repo have UNIX EOLs already.
1288 'CUSTOMIZED' => [
1289 qw( ExtUtils/Myconst2perl.pm
1290 Makefile.PL
1291 buffers.h
1292 cFile.h
1293 cFile.pc
1294 const2perl.h
1295 t/file.t
1296 t/tie.t
1297 typemap
1298 ),
1299 ],
4f3a742d
DR
1300 },
1301
4f3a742d 1302 'XSLoader' => {
681a49bf 1303 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1304 'FILES' => q[dist/XSLoader],
1305 'EXCLUDED' => [
1306 qr{^eg/},
57f9caa0
SH
1307 qw( t/00-load.t
1308 t/01-api.t
1309 t/distchk.t
1310 t/pod.t
4f3a742d
DR
1311 t/podcover.t
1312 t/portfs.t
1313 ),
1314 'XSLoader.pm', # we use XSLoader_pm.PL
1315 ],
4f3a742d
DR
1316 },
1317
462ea751
DM
1318 # this pseudo-module represents all the files under ext/ and lib/
1319 # that aren't otherwise claimed. This means that the following two
1320 # commands will check that every file under ext/ and lib/ is
1321 # accounted for, and that there are no duplicates:
1322 #
1323 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1324 # perl Porting/Maintainers --checkmani
462ea751 1325
4f3a742d 1326 '_PERLLIB' => {
2af3c4b9 1327 'FILES' => q[
79852350
AB
1328 ext/Amiga-ARexx/
1329 ext/Amiga-Exec/
09213599 1330 ext/B/
2af3c4b9
SH
1331 ext/Devel-Peek/
1332 ext/DynaLoader/
1333 ext/Errno/
7b4d95f7 1334 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1335 ext/Fcntl/
1336 ext/File-DosGlob/
1337 ext/File-Find/
1338 ext/File-Glob/
1339 ext/FileCache/
1340 ext/GDBM_File/
1341 ext/Hash-Util-FieldHash/
1342 ext/Hash-Util/
1343 ext/I18N-Langinfo/
1344 ext/IPC-Open3/
1345 ext/NDBM_File/
1346 ext/ODBM_File/
1347 ext/Opcode/
1348 ext/POSIX/
1349 ext/PerlIO-encoding/
1350 ext/PerlIO-mmap/
1351 ext/PerlIO-scalar/
1352 ext/PerlIO-via/
1353 ext/Pod-Functions/
1354 ext/Pod-Html/
1355 ext/SDBM_File/
1356 ext/Sys-Hostname/
1357 ext/Tie-Hash-NamedCapture/
1358 ext/Tie-Memoize/
b3dcf775 1359 ext/VMS-DCLsym/
2af3c4b9 1360 ext/VMS-Filespec/
b3dcf775
SH
1361 ext/VMS-Stdio/
1362 ext/Win32CORE/
4f3a742d 1363 ext/XS-APItest/
2af3c4b9
SH
1364 ext/XS-Typemap/
1365 ext/arybase/
1366 ext/attributes/
1367 ext/mro/
1368 ext/re/
1369 lib/AnyDBM_File.{pm,t}
1370 lib/Benchmark.{pm,t}
38eca645 1371 lib/B/Deparse{.pm,.t,-*.t}
f3574cc6 1372 lib/B/Op_private.pm
4f3a742d 1373 lib/CORE.pod
2af3c4b9 1374 lib/Class/Struct.{pm,t}
4f3a742d
DR
1375 lib/Config.t
1376 lib/Config/Extensions.{pm,t}
1377 lib/DB.{pm,t}
2af3c4b9
SH
1378 lib/DBM_Filter.pm
1379 lib/DBM_Filter/
1380 lib/DirHandle.{pm,t}
1381 lib/English.{pm,t}
4f3a742d
DR
1382 lib/ExtUtils/Embed.pm
1383 lib/ExtUtils/XSSymSet.pm
1384 lib/ExtUtils/t/Embed.t
1385 lib/ExtUtils/typemap
2af3c4b9
SH
1386 lib/File/Basename.{pm,t}
1387 lib/File/Compare.{pm,t}
1388 lib/File/Copy.{pm,t}
1389 lib/File/stat{.pm,.t,-7896.t}
1390 lib/FileHandle.{pm,t}
1391 lib/FindBin.{pm,t}
1392 lib/Getopt/Std.{pm,t}
4f3a742d 1393 lib/Internals.t
4b6af431 1394 lib/meta_notation.{pm,t}
4f3a742d
DR
1395 lib/Net/hostent.{pm,t}
1396 lib/Net/netent.{pm,t}
1397 lib/Net/protoent.{pm,t}
1398 lib/Net/servent.{pm,t}
2af3c4b9 1399 lib/PerlIO.pm
4f3a742d
DR
1400 lib/Pod/t/InputObjects.t
1401 lib/Pod/t/Select.t
1402 lib/Pod/t/Usage.t
4f3a742d
DR
1403 lib/Pod/t/utils.t
1404 lib/SelectSaver.{pm,t}
1405 lib/Symbol.{pm,t}
1406 lib/Thread.{pm,t}
1407 lib/Tie/Array.pm
1408 lib/Tie/Array/
1409 lib/Tie/ExtraHash.t
1410 lib/Tie/Handle.pm
1411 lib/Tie/Handle/
2af3c4b9 1412 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1413 lib/Tie/Scalar.{pm,t}
1414 lib/Tie/StdHandle.pm
1415 lib/Tie/SubstrHash.{pm,t}
1416 lib/Time/gmtime.{pm,t}
1417 lib/Time/localtime.{pm,t}
1418 lib/Time/tm.pm
1419 lib/UNIVERSAL.pm
1420 lib/Unicode/README
2af3c4b9 1421 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1422 lib/User/grent.{pm,t}
1423 lib/User/pwent.{pm,t}
2af3c4b9 1424 lib/_charnames.pm
4f3a742d
DR
1425 lib/blib.{pm,t}
1426 lib/bytes.{pm,t}
1427 lib/bytes_heavy.pl
1428 lib/charnames.{pm,t}
1429 lib/dbm_filter_util.pl
1430 lib/deprecate.pm
2af3c4b9 1431 lib/diagnostics.{pm,t}
4f3a742d
DR
1432 lib/dumpvar.{pl,t}
1433 lib/feature.{pm,t}
1434 lib/feature/
1435 lib/filetest.{pm,t}
1436 lib/h2ph.t
1437 lib/h2xs.t
1438 lib/integer.{pm,t}
1439 lib/less.{pm,t}
1440 lib/locale.{pm,t}
1441 lib/open.{pm,t}
1442 lib/overload/numbers.pm
1443 lib/overloading.{pm,t}
2af3c4b9 1444 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1445 lib/perl5db.{pl,t}
1446 lib/perl5db/
2af3c4b9 1447 lib/sigtrap.{pm,t}
4f3a742d
DR
1448 lib/sort.{pm,t}
1449 lib/strict.{pm,t}
1450 lib/subs.{pm,t}
1451 lib/unicore/
1452 lib/utf8.{pm,t}
1453 lib/utf8_heavy.pl
1454 lib/vars{.pm,.t,_carp.t}
1455 lib/vmsish.{pm,t}
1456 ],
4f3a742d 1457 },
462ea751 1458);
b128a327 1459
97556ec3 1460# legacy CPAN flag
4f3a742d 1461for ( values %Modules ) {
97556ec3
GA
1462 $_->{CPAN} = !!$_->{DISTRIBUTION};
1463}
1464
099bebb1
SH
1465# legacy UPSTREAM flag
1466for ( keys %Modules ) {
1467 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1468 next if exists $Modules{$_}{UPSTREAM};
1469
1470 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1471 $Modules{$_}{UPSTREAM} = 'blead';
1472 }
1473 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1474 $Modules{$_}{UPSTREAM} = 'cpan';
1475 }
1476 else {
1477 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1478 }
1479}
1480
d350de41 1481# legacy MAINTAINER field
099bebb1 1482for ( keys %Modules ) {
b3dcf775 1483 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1484 next if exists $Modules{$_}{MAINTAINER};
1485
1486 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1487 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1488 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1489 }
099bebb1
SH
1490 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1491 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1492 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1493 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1494 }
099bebb1
SH
1495 else {
1496 warn "No DISTRIBUTION for non-blead module $_";
1497 }
d350de41
SH
1498}
1499
b128a327 15001;