This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump version version and remove/update customisations
[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(
19 .cvsignore .dualLivedDiffConfig .gitignore
20 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
d4e90f16 21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying
01b177dd
CBW
22 cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
23 Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
24 MYMETA.yml NEW NOTES perlcritic.rc ppport.h README README.PATCHING
6dab8563 25 SIGNATURE THANKS TODO Todo VERSION WHATSNEW .perlcriticrc.perltidyrc
2c95b6e4
DM
26);
27
e30e10b5 28# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 29# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
30# CPAN distribution.
31
32# The keys of %Modules are human descriptions of the distributions, and
33# may not exactly match a module or distribution name. Distributions
34# which have an obvious top-level module associated with them will usually
35# have a key named for that module, e.g. 'Archive::Extract' for
36# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
37# on the name of the distribution, e.g. 'Locale-Codes' for
38# Locale-Codes-N.NN.tar.gz'.
d350de41 39
099bebb1
SH
40# UPSTREAM indicates where patches should go. This is generally now
41# inferred from the FILES: modules with files in dist/, ext/ and lib/
42# are understood to have UPSTREAM 'blead', meaning that the copy of the
43# module in the blead sources is to be considered canonical, while
44# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
45# meaning that the module on CPAN is to be patched first.
46
b3dcf775
SH
47# MAINTAINER has previously been used to indicate who the current maintainer
48# of the module is, but this is no longer stated explicitly. It is now
49# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
50# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
501bd44a 51# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.96.tar.gz'.
b3dcf775
SH
52# (PAUSE's View Permissions page may be consulted to find other authors who
53# have owner or co-maint permissions for the module in question.)
d350de41 54
e30e10b5
DM
55# FILES is a list of filenames, glob patterns, and directory
56# names to be recursed down, which collectively generate a complete list
57# of the files associated with the distribution.
58
e1466347
JC
59# BUGS is an email or url to post bug reports. For modules with
60# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
61# appears to automatically provide a URL for CPAN modules; any value
62# given here overrides the default:
63# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
64
a55d270d
DM
65# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
66# included in core are derived from. Note that the file's version may not
67# necessarily match the newest version on CPAN.
68
2c95b6e4
DM
69# EXCLUDED is a list of files to be excluded from a CPAN tarball before
70# comparing the remaining contents with core. Each item can either be a
71# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
72# It defaults to the empty list.
73
d43babf1 74# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
75# Perl core. Use this whenever patching a cpan upstream distribution
76# or whenever we expect to have a file that differs from the tarball.
77# If the file in blead matches the file in the tarball from CPAN,
78# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 79# customization might have been lost when updating from upstream. The
f81a37f2
SH
80# path should be relative to the distribution directory. If the upstream
81# distribution should be modified to incorporate the change then be sure
82# to raise a ticket for it on rt.cpan.org and add a comment alongside the
83# list of CUSTOMIZED files noting the ticket number.
d43babf1 84
ab87ca4d
DG
85# DEPRECATED contains the *first* version of Perl in which the module
86# was considered deprecated. It should only be present if the module is
87# actually deprecated. Such modules should use deprecated.pm to
88# issue a warning if used. E.g.:
89#
90# use if $] >= 5.011, 'deprecate';
91#
92
2c95b6e4 93# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 94# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
95# first. The first match causes that prefix to be replaced with the
96# corresponding key. For example, with the following MAP:
613f422f 97# {
4f3a742d
DR
98# 'lib/' => 'lib/',
99# '' => 'lib/Foo/',
2c95b6e4
DM
100# },
101#
102# these files are mapped as shown:
103#
104# README becomes lib/Foo/README
613f422f 105# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
106#
107# The default is dependent on the type of module.
108# For distributions which appear to be stored under ext/, it defaults to:
109#
110# { '' => 'ext/Foo-Bar/' }
111#
112# otherwise, it's
113#
613f422f 114# {
4f3a742d
DR
115# 'lib/' => 'lib/',
116# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
117# }
118
b128a327
JH
119%Modules = (
120
4f3a742d 121 'Archive::Tar' => {
501bd44a 122 'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.96.tar.gz',
4f3a742d 123 'FILES' => q[cpan/Archive-Tar],
4f3a742d
DR
124 'BUGS' => 'bug-archive-tar@rt.cpan.org',
125 },
126
127 'Attribute::Handlers' => {
e9742164 128 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
4f3a742d 129 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
130 },
131
4f3a742d 132 'autodie' => {
c7e47358 133 'DISTRIBUTION' => 'PJF/autodie-2.23.tar.gz',
4f3a742d
DR
134 'FILES' => q[cpan/autodie],
135 'EXCLUDED' => [
273225d4 136 qr{benchmarks},
4f3a742d
DR
137 # All these tests depend upon external
138 # modules that don't exist when we're
139 # building the core. Hence, they can
140 # never run, and should not be merged.
ff4ad1c0
SH
141 qw( t/author-critic.t
142 t/boilerplate.t
4f3a742d
DR
143 t/critic.t
144 t/fork.t
145 t/kwalitee.t
146 t/lex58.t
147 t/pod-coverage.t
148 t/pod.t
273225d4
CBW
149 t/release-pod-coverage.t
150 t/release-pod-syntax.t
4f3a742d
DR
151 t/socket.t
152 t/system.t
153 )
154 ],
a1a6b6b3 155 'CUSTOMIZED' => [
dd9a180e
CB
156 # Waiting to be merged upstream: see CPAN RT#87237
157 qw( t/utf8_open.t ),
a1a6b6b3 158 ],
4f3a742d
DR
159 },
160
161 'AutoLoader' => {
dff36865 162 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
163 'FILES' => q[cpan/AutoLoader],
164 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
165 },
166
167 'autouse' => {
adac38df 168 'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
4f3a742d
DR
169 'FILES' => q[dist/autouse],
170 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
171 },
172
4f3a742d 173 'B::Debug' => {
b8e5d789 174 'DISTRIBUTION' => 'RURBAN/B-Debug-1.19.tar.gz',
4f3a742d
DR
175 'FILES' => q[cpan/B-Debug],
176 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
177 },
178
4f3a742d 179 'base' => {
7af2899e 180 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 181 'FILES' => q[dist/base],
4f3a742d
DR
182 },
183
4f3a742d 184 'bignum' => {
168d28a2 185 'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
4f3a742d
DR
186 'FILES' => q[dist/bignum],
187 'EXCLUDED' => [
188 qr{^inc/Module/},
189 qw( t/pod.t
190 t/pod_cov.t
191 ),
192 ],
4f3a742d
DR
193 },
194
195 'Carp' => {
cc24d4fc 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.32.tar.gz',
4f3a742d 197 'FILES' => q[dist/Carp],
4f3a742d
DR
198 },
199
200 'CGI' => {
d5d60e0a 201 'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.64.tar.gz',
4f3a742d
DR
202 'FILES' => q[cpan/CGI],
203 'EXCLUDED' => [
84c82da4 204 qr{^examples/},
a506842e 205 qw( cgi_docs.html
4f3a742d
DR
206 t/gen-tests/gen-start-end-tags.pl
207 t/fast.t
208 ),
209 ],
ee3ee04b 210 'DEPRECATED' => '5.019007',
4f3a742d
DR
211 },
212
4f3a742d 213 'Compress::Raw::Bzip2' => {
fdaa82e4 214 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.064.tar.gz',
4f3a742d
DR
215 'FILES' => q[cpan/Compress-Raw-Bzip2],
216 'EXCLUDED' => [
217 qr{^t/Test/},
218 'bzip2-src/bzip2-cpp.patch',
219 ],
4f3a742d
DR
220 },
221
222 'Compress::Raw::Zlib' => {
f3d3633e 223 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.064.tar.gz',
4f3a742d
DR
224
225 'FILES' => q[cpan/Compress-Raw-Zlib],
226 'EXCLUDED' => [
84c82da4 227 qr{^examples/},
4f3a742d
DR
228 qr{^t/Test/},
229 qw( t/000prereq.t
230 t/99pod.t
231 ),
232 ],
3c706f0b
CBW
233 # Waiting to be merged upstream; see CPAN RT#92657
234 'CUSTOMIZED' => ['Zlib.xs'],
4f3a742d
DR
235 },
236
4b07058c 237 'Config::Perl::V' => {
89e01640 238 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
4b07058c 239 'FILES' => q[cpan/Config-Perl-V],
1fe0c842 240 'EXCLUDED' => ['examples/show-v.pl'],
cd99f861
SH
241 # Waiting to be merged upstream: see CPAN RT#92534
242 'CUSTOMIZED' => ['t/20_plv510.t', 't/21_plv518.t'],
4b07058c
RS
243 },
244
4f3a742d 245 'constant' => {
e2943784 246 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
247 'FILES' => q[dist/constant],
248 'EXCLUDED' => [
249 qw( t/00-load.t
250 t/more-tests.t
251 t/pod-coverage.t
252 t/pod.t
253 eg/synopsis.pl
254 ),
255 ],
4f3a742d
DR
256 },
257
258 'CPAN' => {
bfae5bde 259 'DISTRIBUTION' => 'ANDK/CPAN-2.03-TRIAL.tar.gz',
4f3a742d
DR
260 'FILES' => q[cpan/CPAN],
261 'EXCLUDED' => [
262 qr{^distroprefs/},
263 qr{^inc/Test/},
264 qr{^t/CPAN/authors/},
265 qw( lib/CPAN/Admin.pm
6156383d 266 scripts/cpan-mirrors
bfae5bde 267 PAUSE2015.pub
4f3a742d
DR
268 SlayMakefile
269 t/00signature.t
270 t/04clean_load.t
271 t/12cpan.t
272 t/13tarzip.t
273 t/14forkbomb.t
274 t/30shell.coverage
275 t/30shell.t
276 t/31sessions.t
277 t/41distribution.t
278 t/42distroprefs.t
6156383d 279 t/44cpanmeta.t
4f3a742d
DR
280 t/43distroprefspref.t
281 t/50pod.t
282 t/51pod.t
283 t/52podcover.t
284 t/60credentials.t
285 t/70_critic.t
bfae5bde 286 t/71_minimumversion.t
4f3a742d
DR
287 t/CPAN/CpanTestDummies-1.55.pm
288 t/CPAN/TestConfig.pm
289 t/CPAN/TestMirroredBy
290 t/CPAN/TestPatch.txt
291 t/CPAN/modules/02packages.details.txt
292 t/CPAN/modules/03modlist.data
6156383d 293 t/data/META-dynamic.json
4f3a742d 294 t/data/META-dynamic.yml
6156383d 295 t/data/META-static.json
4f3a742d 296 t/data/META-static.yml
6156383d
SH
297 t/data/MYMETA.json
298 t/data/MYMETA.yml
4f3a742d
DR
299 t/local_utils.pm
300 t/perlcriticrc
301 t/yaml_code.yml
302 ),
303 ],
4f3a742d
DR
304 },
305
278337cd
CBW
306 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
307 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 308 'CPAN::Meta' => {
2cb1ad0a 309 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.133380.tar.gz',
4f3a742d
DR
310 'FILES' => q[cpan/CPAN-Meta],
311 'EXCLUDED' => [
ecaff076 312 qw(t/00-compile.t),
7f6e6ca2 313 qw[t/00-report-prereqs.t],
229563a9 314 qr{t/README-data.txt},
4f3a742d
DR
315 qr{^xt},
316 qr{^history},
317 ],
4f3a742d
DR
318 },
319
b6ae0ea7 320 'CPAN::Meta::Requirements' => {
56284aa9 321 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
322 'FILES' => q[cpan/CPAN-Meta-Requirements],
323 'EXCLUDED' => [
324 qw(t/00-compile.t),
c4814040 325 qw(t/00-report-prereqs.t),
b6ae0ea7 326 qr{^xt},
b6ae0ea7 327 ],
b6ae0ea7
CBW
328 },
329
4f3a742d 330 'CPAN::Meta::YAML' => {
9c5cc6d5 331 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.010.tar.gz',
4f3a742d
DR
332 'FILES' => q[cpan/CPAN-Meta-YAML],
333 'EXCLUDED' => [
b3100a1d 334 't/00-compile.t',
4f3a742d
DR
335 't/04_scalar.t', # requires YAML.pm
336 qr{^xt},
337 ],
4f3a742d
DR
338 },
339
340 'Data::Dumper' => {
0fcd5a59 341 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
4f3a742d 342 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
343 },
344
345 'DB_File' => {
16f3356e 346 'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz',
4f3a742d
DR
347 'FILES' => q[cpan/DB_File],
348 'EXCLUDED' => [
349 qr{^patches/},
350 qw( t/pod.t
351 fallback.h
352 fallback.xs
353 ),
354 ],
4f3a742d
DR
355 },
356
4f3a742d 357 'Devel::PPPort' => {
c74cf62f 358 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
099bebb1
SH
359 # RJBS has asked MHX to have UPSTREAM be 'blead'
360 # (i.e. move this from cpan/ to dist/)
4f3a742d 361 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
362 'EXCLUDED' => [
363 'PPPort.pm', # we use PPPort_pm.PL instead
364 'README.md',
365 ]
4f3a742d
DR
366 },
367
97b1d6e6 368 'Devel::SelfStubber' => {
97b1d6e6
SH
369 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
370 'FILES' => q[dist/Devel-SelfStubber],
371 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
372 },
373
4f3a742d 374 'Digest' => {
4f3a742d
DR
375 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
376 'FILES' => q[cpan/Digest],
377 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
378 },
379
380 'Digest::MD5' => {
aeb2a38c 381 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
382 'FILES' => q[cpan/Digest-MD5],
383 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 384 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 385 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
386 },
387
388 'Digest::SHA' => {
e80e3195 389 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.86.tar.gz',
4f3a742d
DR
390 'FILES' => q[cpan/Digest-SHA],
391 'EXCLUDED' => [
392 qw( t/pod.t
393 t/podcover.t
394 examples/dups
395 ),
396 ],
4f3a742d
DR
397 },
398
4f3a742d 399 'Dumpvalue' => {
f6e46c4d 400 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
401 'FILES' => q[dist/Dumpvalue],
402 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
403 },
404
4f3a742d 405 'Encode' => {
3cd3edd2 406 'DISTRIBUTION' => 'DANKOGAI/Encode-2.57.tar.gz',
4f3a742d 407 'FILES' => q[cpan/Encode],
4f3a742d
DR
408 },
409
410 'encoding::warnings' => {
4f3a742d
DR
411 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
412 'FILES' => q[cpan/encoding-warnings],
413 'EXCLUDED' => [
414 qr{^inc/Module/},
94c85d8e 415 qw(t/0-signature.t),
4f3a742d 416 ],
4f3a742d
DR
417 },
418
4f3a742d 419 'Env' => {
126fc07f 420 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
421 'FILES' => q[dist/Env],
422 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
423 },
424
4f3a742d 425 'Exporter' => {
b5de49e5 426 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
3110a055 427 'FILES' => q[dist/Exporter],
4f3a742d
DR
428 'EXCLUDED' => [
429 qw( t/pod.t
430 t/use.t
431 ),
432 ],
4f3a742d
DR
433 },
434
435 'ExtUtils::CBuilder' => {
a0e78e9f 436 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280212.tar.gz',
4f3a742d 437 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
438 'EXCLUDED' => [
439 qw(README.mkdn),
440 qr{^xt},
441 ],
4f3a742d
DR
442 },
443
444 'ExtUtils::Command' => {
044aa601 445 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
4f3a742d
DR
446 'FILES' => q[dist/ExtUtils-Command],
447 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
448 },
449
450 'ExtUtils::Constant' => {
4f3a742d
DR
451
452 # Nick has confirmed that while we have diverged from CPAN,
453 # this package isn't primarily maintained in core
454 # Another release will happen "Sometime"
455 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
456 'FILES' => q[cpan/ExtUtils-Constant],
457 'EXCLUDED' => [
458 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
459 examples/perl_keyword.pl
460 examples/perl_regcomp_posix_keyword.pl
461 ),
462 ],
4f3a742d
DR
463 },
464
465 'ExtUtils::Install' => {
4f3a742d
DR
466 'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
467 'FILES' => q[dist/ExtUtils-Install],
468 'EXCLUDED' => [
469 qw( t/lib/Test/Builder.pm
470 t/lib/Test/Builder/Module.pm
471 t/lib/Test/More.pm
472 t/lib/Test/Simple.pm
473 t/pod-coverage.t
474 t/pod.t
475 ),
476 ],
4f3a742d
DR
477 },
478
479 'ExtUtils::MakeMaker' => {
b33b7abd 480 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.88.tar.gz',
4f3a742d
DR
481 'FILES' => q[cpan/ExtUtils-MakeMaker],
482 'EXCLUDED' => [
483 qr{^t/lib/Test/},
484 qr{^(bundled|my)/},
485 qr{^t/Liblist_Kid.t},
486 qr{^t/liblist/},
78fd4358 487 qr{^\.perlcriticrc},
84c82da4
SH
488 'PATCHING',
489 'README.packaging',
4f3a742d 490 ],
4f3a742d
DR
491 },
492
493 'ExtUtils::Manifest' => {
6db8f88e 494 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
4f3a742d
DR
495 'FILES' => q[dist/ExtUtils-Manifest],
496 'EXCLUDED' => [qr(t/release-.*\.t)],
4f3a742d
DR
497 },
498
499 'ExtUtils::ParseXS' => {
c0bf20e0 500 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.22.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' => {
8f65b4cd 510 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
511 'FILES' => q[cpan/File-Path],
512 'EXCLUDED' => [
513 qw( eg/setup-extra-tests
514 t/pod.t
515 )
516 ],
517 'MAP' => {
518 '' => 'cpan/File-Path/lib/File/',
519 't/' => 'cpan/File-Path/t/',
520 },
4f3a742d
DR
521 },
522
4f3a742d 523 'File::Temp' => {
3d5f905f 524 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
525 'FILES' => q[cpan/File-Temp],
526 'EXCLUDED' => [
527 qw( misc/benchmark.pl
528 misc/results.txt
529 ),
814e893f
CBW
530 qw[t/00-report-prereqs.t],
531 qr{^xt},
4f3a742d 532 ],
4f3a742d
DR
533 },
534
4f3a742d 535 'Filter::Simple' => {
c3958279 536 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
4f3a742d
DR
537 'FILES' => q[dist/Filter-Simple],
538 'EXCLUDED' => [
4f3a742d
DR
539 qr{^demo/}
540 ],
4f3a742d
DR
541 },
542
543 'Filter::Util::Call' => {
d8b87a9b 544 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
545 'FILES' => q[cpan/Filter-Util-Call
546 pod/perlfilter.pod
547 ],
548 'EXCLUDED' => [
549 qr{^decrypt/},
550 qr{^examples/},
551 qr{^Exec/},
552 qr{^lib/Filter/},
553 qr{^tee/},
554 qw( Call/Makefile.PL
555 Call/ppport.h
556 Call/typemap
557 mytest
558 t/cpp.t
559 t/decrypt.t
560 t/exec.t
561 t/order.t
4f3a742d
DR
562 t/sh.t
563 t/tee.t
533d93cc
SH
564 t/z_kwalitee.t
565 t/z_meta.t
566 t/z_perl_minimum_version.t
567 t/z_pod-coverage.t
568 t/z_pod.t
4f3a742d
DR
569 ),
570 ],
571 'MAP' => {
572 'Call/' => 'cpan/Filter-Util-Call/',
573 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
574 'perlfilter.pod' => 'pod/perlfilter.pod',
575 '' => 'cpan/Filter-Util-Call/',
576 },
4f3a742d
DR
577 },
578
4f3a742d 579 'Getopt::Long' => {
7867c822 580 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
581 'FILES' => q[cpan/Getopt-Long],
582 'EXCLUDED' => [
583 qr{^examples/},
584 qw( perl-Getopt-Long.spec
585 lib/newgetopt.pl
974d5816 586 t/gol-compat.t
4f3a742d
DR
587 ),
588 ],
4f3a742d
DR
589 },
590
4f3a742d 591 'HTTP::Tiny' => {
1818d3ca 592 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.039.tar.gz',
4f3a742d
DR
593 'FILES' => q[cpan/HTTP-Tiny],
594 'EXCLUDED' => [
4403b774 595 't/00-compile.t',
fcfb9f49 596 't/00-report-prereqs.t',
4f3a742d 597 't/200_live.t',
44347bc3 598 't/200_live_local_ip.t',
fcfb9f49 599 't/210_live_ssl.t',
4f3a742d
DR
600 qr/^eg/,
601 qr/^xt/
602 ],
4f3a742d
DR
603 },
604
605 'I18N::Collate' => {
4f3a742d
DR
606 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
607 'FILES' => q[dist/I18N-Collate],
608 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
609 },
610
4f3a742d 611 'I18N::LangTags' => {
4f3a742d 612 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
613 },
614
615 'if' => {
4f3a742d
DR
616 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
617 'FILES' => q[dist/if],
4f3a742d
DR
618 },
619
620 'IO' => {
4f3a742d
DR
621 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
622 'FILES' => q[dist/IO/],
623 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
624 },
625
626 'IO-Compress' => {
149b3664 627 'DISTRIBUTION' => 'PMQS/IO-Compress-2.064.tar.gz',
4f3a742d 628 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
629 'EXCLUDED' => [
630 qr{^examples/},
631 qr{^t/Test/},
632 't/010examples-bzip2.t',
633 't/010examples-zlib.t',
634 't/cz-05examples.t',
635 ],
4f3a742d
DR
636 },
637
638 'IO::Zlib' => {
4f3a742d
DR
639 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
640 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
641 },
642
643 'IPC::Cmd' => {
9c213c25 644 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 645 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
646 },
647
4f3a742d 648 'IPC::SysV' => {
dd0df890 649 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
650 'FILES' => q[cpan/IPC-SysV],
651 'EXCLUDED' => [
652 qw( const-c.inc
653 const-xs.inc
654 ),
655 ],
4f3a742d
DR
656 },
657
658 'JSON::PP' => {
be08498a 659 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d 660 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
661 },
662
663 'lib' => {
4f3a742d
DR
664 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
665 'FILES' => q[dist/lib/],
666 'EXCLUDED' => [
667 qw( forPAUSE/lib.pm
668 t/00pod.t
669 ),
670 ],
4f3a742d
DR
671 },
672
673 'libnet' => {
0d0bc230 674 'DISTRIBUTION' => 'SHAY/libnet-1.24.tar.gz',
4f3a742d
DR
675 'FILES' => q[cpan/libnet],
676 'EXCLUDED' => [
677 qw( Configure
678 install-nomake
4f3a742d 679 ),
84c82da4 680 qr(^demos/),
4f3a742d 681 ],
f81a37f2
SH
682 # Customized for perl since we cannot use either an auto-generated
683 # script or the version in the CPAN distro.
4f3a742d 684 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
685 },
686
687 'Locale-Codes' => {
e744ae18 688 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.29.tar.gz',
4f3a742d
DR
689 'FILES' => q[cpan/Locale-Codes],
690 'EXCLUDED' => [
84c82da4
SH
691 qw( README.first
692 t/pod_coverage.t
4f3a742d
DR
693 t/pod.t),
694 qr{^t/runtests},
695 qr{^t/runtests\.bat},
696 qr{^internal/},
697 qr{^examples/},
698 ],
4f3a742d
DR
699 },
700
701 'Locale::Maketext' => {
f318c24d 702 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
4f3a742d
DR
703 'FILES' => q[dist/Locale-Maketext],
704 'EXCLUDED' => [
705 qw(
706 perlcriticrc
707 t/00_load.t
708 t/pod.t
709 ),
710 ],
4f3a742d
DR
711 },
712
713 'Locale::Maketext::Simple' => {
4f3a742d
DR
714 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
715 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
716 },
717
4f3a742d 718 'Math::BigInt' => {
4f3a742d
DR
719 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
720 'FILES' => q[dist/Math-BigInt],
721 'EXCLUDED' => [
722 qr{^inc/},
723 qr{^examples/},
724 qw( t/00sig.t
725 t/01load.t
726 t/02pod.t
727 t/03podcov.t
728 ),
729 ],
4f3a742d
DR
730 },
731
732 'Math::BigInt::FastCalc' => {
4f3a742d
DR
733 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
734 'FILES' => q[dist/Math-BigInt-FastCalc],
735 'EXCLUDED' => [
736 qr{^inc/},
737 qw( t/00sig.t
738 t/01load.t
739 t/02pod.t
740 t/03podcov.t
741 ),
742
743 # instead we use the versions of these test
744 # files that come with Math::BigInt:
745 qw( t/bigfltpm.inc
746 t/bigfltpm.t
747 t/bigintpm.inc
748 t/bigintpm.t
749 t/mbimbf.inc
750 t/mbimbf.t
751 ),
752 ],
4f3a742d
DR
753 },
754
755 'Math::BigRat' => {
4f3a742d
DR
756 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
757 'FILES' => q[dist/Math-BigRat],
758 'EXCLUDED' => [
759 qr{^inc/},
760 qw( t/00sig.t
761 t/01load.t
762 t/02pod.t
763 t/03podcov.t
764 ),
765 ],
4f3a742d
DR
766 },
767
768 'Math::Complex' => {
04ae1553 769 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
770 'FILES' => q[cpan/Math-Complex],
771 'EXCLUDED' => [
772 qw( t/pod.t
773 t/pod-coverage.t
774 ),
775 ],
4f3a742d
DR
776 },
777
778 'Memoize' => {
8114efa0 779 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
780 'FILES' => q[cpan/Memoize],
781 'EXCLUDED' => ['article.html'],
4f3a742d
DR
782 },
783
784 'MIME::Base64' => {
43f93048 785 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
786 'FILES' => q[cpan/MIME-Base64],
787 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
788 },
789
790 #
791 # To update Module-Build in blead see
236cbe8d 792 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
4f3a742d 793 #
462ea751 794
4f3a742d 795 'Module::Build' => {
71213e49 796 'DISTRIBUTION' => 'LEONT/Module-Build-0.4204.tar.gz',
4f3a742d
DR
797 'FILES' => q[cpan/Module-Build],
798 'EXCLUDED' => [
799 qw( t/par.t
800 t/signature.t
801 ),
802 qr{^contrib/},
4f3a742d
DR
803 qr{^inc},
804 ],
f81a37f2 805 # Generated file, not part of the CPAN distro:
fae38280 806 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
47369ecd 807 'DEPRECATED' => '5.019000',
4f3a742d
DR
808 },
809
810 'Module::CoreList' => {
056e7cc2 811 'DISTRIBUTION' => 'BINGOS/Module-CoreList-3.04.tar.gz',
4f3a742d 812 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
813 },
814
815 'Module::Load' => {
2cf6a769 816 'DISTRIBUTION' => 'BINGOS/Module-Load-0.30.tar.gz',
4f3a742d 817 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
818 },
819
820 'Module::Load::Conditional' => {
05553066 821 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.62.tar.gz',
4f3a742d 822 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
823 },
824
825 'Module::Loaded' => {
4f3a742d
DR
826 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
827 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
828 },
829
830 'Module::Metadata' => {
d477c82b 831 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
832 'FILES' => q[cpan/Module-Metadata],
833 'EXCLUDED' => [
834 qr{^maint},
835 qr{^xt},
836 ],
4f3a742d
DR
837 },
838
4f3a742d 839 'Net::Ping' => {
4e0aac35 840 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 841 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
842 'EXCLUDED' => [
843 qr{^.travis.yml},
844 qr{^README.md},
845 ],
4f3a742d
DR
846 },
847
848 'NEXT' => {
4f3a742d
DR
849 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
850 'FILES' => q[cpan/NEXT],
851 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
852 },
853
4f3a742d 854 'Package::Constants' => {
348e937b 855 'DISTRIBUTION' => 'BINGOS/Package-Constants-0.04.tar.gz',
4f3a742d 856 'FILES' => q[cpan/Package-Constants],
23b56f29 857 'DEPRECATED' => '5.019006',
4f3a742d
DR
858 },
859
860 'Params::Check' => {
8b21fa03 861 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 862 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
863 },
864
865 'parent' => {
11100026 866 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 867 'FILES' => q[cpan/parent],
4f3a742d
DR
868 },
869
870 'Parse::CPAN::Meta' => {
7d7e3722 871 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4409.tar.gz',
4f3a742d 872 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710
CBW
873 'EXCLUDED' => [
874 qw(t/00-compile.t),
875 qw[t/00-report-prereqs.t],
876 qr{^xt},
877 ],
4f3a742d
DR
878 },
879
880 'PathTools' => {
061a8e13 881 'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
cb8c8458 882 'FILES' => q[dist/PathTools],
4f3a742d 883 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
884 },
885
97b1d6e6 886 'Perl::OSType' => {
6f974f68 887 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.007.tar.gz',
97b1d6e6 888 'FILES' => q[cpan/Perl-OSType],
765955c0 889 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
890 },
891
97b1d6e6 892 'perlfaq' => {
97b1d6e6
SH
893 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
894 'FILES' => q[cpan/perlfaq],
895 'EXCLUDED' => [
896 qw( t/release-pod-syntax.t
897 t/release-eol.t
898 t/release-no-tabs.t
899 )
900 ],
97b1d6e6
SH
901 },
902
4f3a742d 903 'PerlIO::via::QuotedPrint' => {
7e286960 904 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 905 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
906
907 # Waiting to be merged upstream: see CPAN RT#54047
908 'CUSTOMIZED' => [
909 qw( t/QuotedPrint.t
910 ),
911 ],
912
4f3a742d
DR
913 },
914
0c501878 915 'Pod::Checker' => {
0c501878
CBW
916 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
917 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
918 },
919
4f3a742d 920 'Pod::Escapes' => {
4f3a742d
DR
921 'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
922 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
923 },
924
4f3a742d 925 'Pod::Parser' => {
9a031c8e 926 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
4f3a742d 927 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
928 },
929
930 'Pod::Perldoc' => {
37279817 931 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.21.tar.gz',
00e518b3 932 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 933
fa884b76
DM
934 # Note that we use the CPAN-provided Makefile.PL, since it
935 # contains special handling of the installation of perldoc.pod
936
937 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
938 # instead
939 # XXX We can and should fix this, but clean up the DRY-failure in utils
940 # first
941 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
942 },
943
944 'Pod::Simple' => {
b5ae6e74 945 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 946 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
947 },
948
0c501878 949 'Pod::Usage' => {
2ed39982 950 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 951 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
952 },
953
4f3a742d 954 'podlators' => {
b52cde68 955 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
956 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
957
958 # The perl distribution has pod2man.PL and pod2text.PL, which are
959 # run to create pod2man and pod2text, while the CPAN distribution
960 # just has the post-generated pod2man and pod2text files.
961 # The following entries attempt to codify that odd fact.
962 'CUSTOMIZED' => [
963 qw( scripts/pod2man.PL
964 scripts/pod2text.PL
4f3a742d
DR
965 ),
966 ],
967 'MAP' => {
968 '' => 'cpan/podlators/',
969 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
970 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
971
972 # this file lives outside the cpan/ directory
973 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
974 },
4f3a742d
DR
975 },
976
4f3a742d 977 'Safe' => {
e739c653 978 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 979 'FILES' => q[dist/Safe],
4f3a742d
DR
980 },
981
982 'Scalar-List-Utils' => {
6fbeaf2c 983 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.38.tar.gz',
cb8c8458 984 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
985 },
986
4f3a742d 987 'Search::Dict' => {
0b0a7092 988 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 989 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
990 },
991
992 'SelfLoader' => {
c3958279 993 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
994 'FILES' => q[dist/SelfLoader],
995 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
996 },
997
4f3a742d 998 'Socket' => {
538c5178 999 'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz',
4f3a742d 1000 'FILES' => q[cpan/Socket],
4f3a742d
DR
1001 },
1002
1003 'Storable' => {
8371a44d 1004 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d 1005 'FILES' => q[dist/Storable],
4f3a742d
DR
1006 },
1007
4f3a742d 1008 'Sys::Syslog' => {
848ca32c 1009 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1010 'FILES' => q[cpan/Sys-Syslog],
1011 'EXCLUDED' => [
1012 qr{^eg/},
84c82da4
SH
1013 qw( README.win32
1014 t/data-validation.t
4f3a742d
DR
1015 t/distchk.t
1016 t/pod.t
1017 t/podcover.t
1018 t/podspell.t
1019 t/portfs.t
1020 win32/PerlLog.RES
4f3a742d
DR
1021 ),
1022 ],
4f3a742d
DR
1023 },
1024
1025 'Term::ANSIColor' => {
522ce57f 1026 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1027 'FILES' => q[cpan/Term-ANSIColor],
1028 'EXCLUDED' => [
92f80b37
CBW
1029 qr{^examples/},
1030 qr{^t/data/},
1031 qw( t/aliases-env.t
1032 t/critic.t
1033 t/minimum-version.t
1034 t/pod-spelling.t
1035 t/pod-coverage.t
4f3a742d 1036 t/pod.t
92f80b37
CBW
1037 t/strict.t
1038 t/synopsis.t
4f3a742d
DR
1039 ),
1040 ],
4f3a742d
DR
1041 },
1042
1043 'Term::Cap' => {
63dc8a94 1044 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1045 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1046 },
1047
1048 'Term::Complete' => {
4f3a742d
DR
1049 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1050 'FILES' => q[dist/Term-Complete],
1051 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1052 },
1053
1054 'Term::ReadLine' => {
75ad3638 1055 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1056 'FILES' => q[dist/Term-ReadLine],
1057 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1058 },
1059
4f3a742d 1060 'Test' => {
1c22e001 1061 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1062 'FILES' => q[cpan/Test],
4f3a742d
DR
1063 },
1064
1065 'Test::Harness' => {
406e3fef 1066 'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz',
4f3a742d
DR
1067 'FILES' => q[cpan/Test-Harness],
1068 'EXCLUDED' => [
1069 qr{^examples/},
1070 qr{^inc/},
1071 qr{^t/lib/Test/},
1072 qr{^xt/},
1073 qw( Changes-2.64
8db65552 1074 MANIFEST.CUMMULATIVE
4f3a742d
DR
1075 NotBuild.PL
1076 HACKING.pod
1077 perlcriticrc
8db65552 1078 t/000-load.t
4f3a742d
DR
1079 t/lib/if.pm
1080 ),
1081 ],
4f3a742d
DR
1082 },
1083
1084 'Test::Simple' => {
6dab8563 1085 'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz',
4f3a742d
DR
1086 'FILES' => q[cpan/Test-Simple],
1087 'EXCLUDED' => [
6dab8563 1088 qr{^t/xt},
4f3a742d
DR
1089 qw( .perlcriticrc
1090 .perltidyrc
84c82da4
SH
1091 examples/indent.pl
1092 examples/subtest.t
4f3a742d
DR
1093 t/00compile.t
1094 t/pod.t
1095 t/pod-coverage.t
1096 t/Builder/reset_outputs.t
1097 lib/Test/Builder/IO/Scalar.pm
1098 ),
1099 ],
4f3a742d
DR
1100 },
1101
1102 'Text::Abbrev' => {
5e96eee9 1103 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1104 'FILES' => q[dist/Text-Abbrev],
1105 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1106 },
1107
1108 'Text::Balanced' => {
4f3a742d
DR
1109 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1110 'FILES' => q[cpan/Text-Balanced],
1111 'EXCLUDED' => [
1112 qw( t/97_meta.t
1113 t/98_pod.t
1114 t/99_pmv.t
1115 ),
1116 ],
f81a37f2
SH
1117
1118 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1119 'CUSTOMIZED' => [
1120 qw( t/01_compile.t
1121 t/02_extbrk.t
1122 t/03_extcbk.t
1123 t/04_extdel.t
1124 t/05_extmul.t
1125 t/06_extqlk.t
1126 t/07_exttag.t
1127 t/08_extvar.t
1128 t/09_gentag.t
1129 ),
1130 ],
f81a37f2 1131
4f3a742d
DR
1132 },
1133
1134 'Text::ParseWords' => {
33954ec3 1135 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1136 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1137
f81a37f2
SH
1138 # Waiting to be merged upstream: see CPAN RT#50929
1139 'CUSTOMIZED' => [
1140 qw( t/ParseWords.t
1141 t/taint.t
1142 ),
1143 ],
1144
4f3a742d
DR
1145 # For the benefit of make_ext.pl, we have to have this accessible:
1146 'MAP' => {
1147 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1148 '' => 'cpan/Text-ParseWords/',
1149 },
4f3a742d
DR
1150 },
1151
4f3a742d 1152 'Text-Tabs+Wrap' => {
83aea42c 1153 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1154 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1155 'EXCLUDED' => [
1156 qr/^lib\.old/,
1157 't/dnsparks.t', # see af6492bf9e
4f3a742d 1158 ],
e7b92d54
SH
1159 'MAP' => {
1160 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1161 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1162 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1163 },
4f3a742d
DR
1164 },
1165
1166 'Thread::Queue' => {
c7bac10a 1167 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
4f3a742d
DR
1168 'FILES' => q[dist/Thread-Queue],
1169 'EXCLUDED' => [
1fd4700e
JH
1170 qr{^examples/},
1171 qw( t/00_load.t
4f3a742d
DR
1172 t/99_pod.t
1173 t/test.pl
1174 ),
1175 ],
4f3a742d
DR
1176 },
1177
1178 'Thread::Semaphore' => {
4f3a742d
DR
1179 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1180 'FILES' => q[dist/Thread-Semaphore],
1181 'EXCLUDED' => [
1182 qw( examples/semaphore.pl
1183 t/00_load.t
1184 t/99_pod.t
1185 t/test.pl
1186 ),
1187 ],
4f3a742d
DR
1188 },
1189
1190 'threads' => {
6d76e7fc 1191 'DISTRIBUTION' => 'JDHEDDEN/threads-1.89.tar.gz',
4f3a742d
DR
1192 'FILES' => q[dist/threads],
1193 'EXCLUDED' => [
1194 qr{^examples/},
1195 qw( t/pod.t
1196 t/test.pl
1197 threads.h
1198 ),
1199 ],
4f3a742d
DR
1200 },
1201
1202 'threads::shared' => {
4a557207 1203 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.45.tar.gz',
4f3a742d
DR
1204 'FILES' => q[dist/threads-shared],
1205 'EXCLUDED' => [
1206 qw( examples/class.pl
1207 shared.h
1208 t/pod.t
1209 t/test.pl
1210 ),
1211 ],
4f3a742d
DR
1212 },
1213
1214 'Tie::File' => {
c0504019
TR
1215 'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1216 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1217 },
1218
4f3a742d 1219 'Tie::RefHash' => {
4f3a742d
DR
1220 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1221 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1222 },
1223
1224 'Time::HiRes' => {
0f0eae2c 1225 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1226 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1227 },
1228
1229 'Time::Local' => {
62e824cf 1230 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1231 'FILES' => q[cpan/Time-Local],
1232 'EXCLUDED' => [
62e824cf 1233 qr{^t/release-.*\.t},
4f3a742d 1234 ],
4f3a742d
DR
1235 },
1236
1237 'Time::Piece' => {
933a2256 1238 'DISTRIBUTION' => 'RJBS/Time-Piece-1.27.tar.gz',
4f3a742d 1239 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1240 },
1241
1242 'Unicode::Collate' => {
d2309057 1243 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.04.tar.gz',
4f3a742d
DR
1244 'FILES' => q[cpan/Unicode-Collate],
1245 'EXCLUDED' => [
1246 qr{N$},
1247 qr{^data/},
1248 qr{^gendata/},
1249 qw( disableXS
1250 enableXS
1251 mklocale
1252 ),
1253 ],
4f3a742d
DR
1254 },
1255
1256 'Unicode::Normalize' => {
65e3945f 1257 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz',
4f3a742d
DR
1258 'FILES' => q[cpan/Unicode-Normalize],
1259 'EXCLUDED' => [
1260 qw( MANIFEST.N
1261 Normalize.pmN
1262 disableXS
1263 enableXS
1264 ),
1265 ],
4f3a742d
DR
1266 },
1267
4f3a742d 1268 'version' => {
f25474b0 1269 'DISTRIBUTION' => 'JPEACOCK/version-0.9908.tar.gz',
4fa93b19 1270 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1271 'EXCLUDED' => [
df3ba8e7
FC
1272 qr{^vutil/lib/},
1273 'vutil/ppport.h',
1274 'vutil/vxs.xs',
4f3a742d 1275 't/survey_locales',
4f3a742d 1276 ],
f81a37f2 1277
c872d591
SH
1278 # When adding the CPAN-distributed files for version.pm, it is necessary
1279 # to delete an entire block out of lib/version.pm, since that code is
1280 # only necessary with the CPAN release.
f81a37f2
SH
1281 'CUSTOMIZED' => [
1282 qw( lib/version.pm
f81a37f2
SH
1283 ),
1284 ],
1285
df3ba8e7 1286 'MAP' => {
4fa93b19
SH
1287 'vperl/' => 'cpan/version/lib/version/',
1288 'vutil/' => '',
df3ba8e7
FC
1289 '' => 'cpan/version/',
1290 },
4f3a742d
DR
1291 },
1292
4f3a742d 1293 'warnings' => {
099bebb1 1294 'FILES' => q[
4f3a742d 1295 lib/warnings
099bebb1
SH
1296 lib/warnings.{pm,t}
1297 regen/warnings.pl
4f3a742d 1298 t/lib/warnings
099bebb1 1299 ],
4f3a742d
DR
1300 },
1301
4f3a742d 1302 'Win32' => {
133b11f9 1303 'DISTRIBUTION' => "JDB/Win32-0.48.tar.gz",
4f3a742d 1304 'FILES' => q[cpan/Win32],
4f3a742d
DR
1305 },
1306
1307 'Win32API::File' => {
113b1f2c 1308 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1309 'FILES' => q[cpan/Win32API-File],
1310 'EXCLUDED' => [
1311 qr{^ex/},
1312 't/pod.t',
1313 ],
4f3a742d
DR
1314 },
1315
4f3a742d 1316 'XSLoader' => {
681a49bf 1317 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1318 'FILES' => q[dist/XSLoader],
1319 'EXCLUDED' => [
1320 qr{^eg/},
57f9caa0
SH
1321 qw( t/00-load.t
1322 t/01-api.t
1323 t/distchk.t
1324 t/pod.t
4f3a742d
DR
1325 t/podcover.t
1326 t/portfs.t
1327 ),
1328 'XSLoader.pm', # we use XSLoader_pm.PL
1329 ],
4f3a742d
DR
1330 },
1331
462ea751
DM
1332 # this pseudo-module represents all the files under ext/ and lib/
1333 # that aren't otherwise claimed. This means that the following two
1334 # commands will check that every file under ext/ and lib/ is
1335 # accounted for, and that there are no duplicates:
1336 #
1337 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1338 # perl Porting/Maintainers --checkmani
462ea751 1339
4f3a742d 1340 '_PERLLIB' => {
2af3c4b9 1341 'FILES' => q[
09213599 1342 ext/B/
2af3c4b9
SH
1343 ext/Devel-Peek/
1344 ext/DynaLoader/
1345 ext/Errno/
7b4d95f7 1346 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1347 ext/Fcntl/
1348 ext/File-DosGlob/
1349 ext/File-Find/
1350 ext/File-Glob/
1351 ext/FileCache/
1352 ext/GDBM_File/
1353 ext/Hash-Util-FieldHash/
1354 ext/Hash-Util/
1355 ext/I18N-Langinfo/
1356 ext/IPC-Open3/
1357 ext/NDBM_File/
1358 ext/ODBM_File/
1359 ext/Opcode/
1360 ext/POSIX/
1361 ext/PerlIO-encoding/
1362 ext/PerlIO-mmap/
1363 ext/PerlIO-scalar/
1364 ext/PerlIO-via/
1365 ext/Pod-Functions/
1366 ext/Pod-Html/
1367 ext/SDBM_File/
1368 ext/Sys-Hostname/
1369 ext/Tie-Hash-NamedCapture/
1370 ext/Tie-Memoize/
b3dcf775 1371 ext/VMS-DCLsym/
2af3c4b9 1372 ext/VMS-Filespec/
b3dcf775
SH
1373 ext/VMS-Stdio/
1374 ext/Win32CORE/
4f3a742d 1375 ext/XS-APItest/
2af3c4b9
SH
1376 ext/XS-Typemap/
1377 ext/arybase/
1378 ext/attributes/
1379 ext/mro/
1380 ext/re/
1381 lib/AnyDBM_File.{pm,t}
1382 lib/Benchmark.{pm,t}
7263d211 1383 lib/B/Deparse{.pm,.t,-core.t}
4f3a742d 1384 lib/CORE.pod
2af3c4b9 1385 lib/Class/Struct.{pm,t}
4f3a742d
DR
1386 lib/Config.t
1387 lib/Config/Extensions.{pm,t}
1388 lib/DB.{pm,t}
2af3c4b9
SH
1389 lib/DBM_Filter.pm
1390 lib/DBM_Filter/
1391 lib/DirHandle.{pm,t}
1392 lib/English.{pm,t}
4f3a742d
DR
1393 lib/ExtUtils/Embed.pm
1394 lib/ExtUtils/XSSymSet.pm
1395 lib/ExtUtils/t/Embed.t
1396 lib/ExtUtils/typemap
2af3c4b9
SH
1397 lib/File/Basename.{pm,t}
1398 lib/File/Compare.{pm,t}
1399 lib/File/Copy.{pm,t}
1400 lib/File/stat{.pm,.t,-7896.t}
1401 lib/FileHandle.{pm,t}
1402 lib/FindBin.{pm,t}
1403 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1404 lib/Internals.t
1405 lib/Net/hostent.{pm,t}
1406 lib/Net/netent.{pm,t}
1407 lib/Net/protoent.{pm,t}
1408 lib/Net/servent.{pm,t}
2af3c4b9 1409 lib/PerlIO.pm
4f3a742d
DR
1410 lib/Pod/t/InputObjects.t
1411 lib/Pod/t/Select.t
1412 lib/Pod/t/Usage.t
4f3a742d
DR
1413 lib/Pod/t/utils.t
1414 lib/SelectSaver.{pm,t}
1415 lib/Symbol.{pm,t}
1416 lib/Thread.{pm,t}
1417 lib/Tie/Array.pm
1418 lib/Tie/Array/
1419 lib/Tie/ExtraHash.t
1420 lib/Tie/Handle.pm
1421 lib/Tie/Handle/
2af3c4b9 1422 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1423 lib/Tie/Scalar.{pm,t}
1424 lib/Tie/StdHandle.pm
1425 lib/Tie/SubstrHash.{pm,t}
1426 lib/Time/gmtime.{pm,t}
1427 lib/Time/localtime.{pm,t}
1428 lib/Time/tm.pm
1429 lib/UNIVERSAL.pm
1430 lib/Unicode/README
2af3c4b9 1431 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1432 lib/User/grent.{pm,t}
1433 lib/User/pwent.{pm,t}
2af3c4b9 1434 lib/_charnames.pm
4f3a742d
DR
1435 lib/blib.{pm,t}
1436 lib/bytes.{pm,t}
1437 lib/bytes_heavy.pl
1438 lib/charnames.{pm,t}
1439 lib/dbm_filter_util.pl
1440 lib/deprecate.pm
2af3c4b9 1441 lib/diagnostics.{pm,t}
4f3a742d
DR
1442 lib/dumpvar.{pl,t}
1443 lib/feature.{pm,t}
1444 lib/feature/
1445 lib/filetest.{pm,t}
1446 lib/h2ph.t
1447 lib/h2xs.t
1448 lib/integer.{pm,t}
1449 lib/less.{pm,t}
1450 lib/locale.{pm,t}
1451 lib/open.{pm,t}
1452 lib/overload/numbers.pm
1453 lib/overloading.{pm,t}
2af3c4b9 1454 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1455 lib/perl5db.{pl,t}
1456 lib/perl5db/
2af3c4b9 1457 lib/sigtrap.{pm,t}
4f3a742d
DR
1458 lib/sort.{pm,t}
1459 lib/strict.{pm,t}
1460 lib/subs.{pm,t}
1461 lib/unicore/
1462 lib/utf8.{pm,t}
1463 lib/utf8_heavy.pl
1464 lib/vars{.pm,.t,_carp.t}
1465 lib/vmsish.{pm,t}
1466 ],
4f3a742d 1467 },
462ea751 1468);
b128a327 1469
97556ec3 1470# legacy CPAN flag
4f3a742d 1471for ( values %Modules ) {
97556ec3
GA
1472 $_->{CPAN} = !!$_->{DISTRIBUTION};
1473}
1474
099bebb1
SH
1475# legacy UPSTREAM flag
1476for ( keys %Modules ) {
1477 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1478 next if exists $Modules{$_}{UPSTREAM};
1479
1480 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1481 $Modules{$_}{UPSTREAM} = 'blead';
1482 }
1483 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1484 $Modules{$_}{UPSTREAM} = 'cpan';
1485 }
1486 else {
1487 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1488 }
1489}
1490
d350de41 1491# legacy MAINTAINER field
099bebb1 1492for ( keys %Modules ) {
b3dcf775 1493 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1494 next if exists $Modules{$_}{MAINTAINER};
1495
1496 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1497 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1498 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1499 }
099bebb1
SH
1500 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1501 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1502 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1503 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1504 }
099bebb1
SH
1505 else {
1506 warn "No DISTRIBUTION for non-blead module $_";
1507 }
d350de41
SH
1508}
1509
b128a327 15101;