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