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