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