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