This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Harmonise dist/ versions for CPAN releases
[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' => {
39acff44 128 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.96.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' => {
4ac9c666 185 'DISTRIBUTION' => 'PJACKLAM/bignum-0.37.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' => {
b582f7a3 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.3301.tar.gz',
4f3a742d 197 'FILES' => q[dist/Carp],
4f3a742d
DR
198 },
199
4f3a742d 200 'Compress::Raw::Bzip2' => {
fdaa82e4 201 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.064.tar.gz',
4f3a742d
DR
202 'FILES' => q[cpan/Compress-Raw-Bzip2],
203 'EXCLUDED' => [
204 qr{^t/Test/},
205 'bzip2-src/bzip2-cpp.patch',
206 ],
4f3a742d
DR
207 },
208
209 'Compress::Raw::Zlib' => {
a69492f5 210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.065.tar.gz',
4f3a742d
DR
211
212 'FILES' => q[cpan/Compress-Raw-Zlib],
213 'EXCLUDED' => [
84c82da4 214 qr{^examples/},
4f3a742d
DR
215 qr{^t/Test/},
216 qw( t/000prereq.t
217 t/99pod.t
218 ),
219 ],
4f3a742d
DR
220 },
221
4b07058c 222 'Config::Perl::V' => {
21555490 223 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.20.tgz',
4b07058c 224 'FILES' => q[cpan/Config-Perl-V],
1fe0c842 225 'EXCLUDED' => ['examples/show-v.pl'],
4b07058c
RS
226 },
227
4f3a742d 228 'constant' => {
e2943784 229 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
230 'FILES' => q[dist/constant],
231 'EXCLUDED' => [
232 qw( t/00-load.t
233 t/more-tests.t
234 t/pod-coverage.t
235 t/pod.t
236 eg/synopsis.pl
237 ),
238 ],
4f3a742d
DR
239 },
240
241 'CPAN' => {
ddfe1c93 242 'DISTRIBUTION' => 'ANDK/CPAN-2.05.tar.gz',
4f3a742d
DR
243 'FILES' => q[cpan/CPAN],
244 'EXCLUDED' => [
245 qr{^distroprefs/},
246 qr{^inc/Test/},
45a13884
SH
247 qr{^t/CPAN/},
248 qr{^t/data/},
4f3a742d 249 qw( lib/CPAN/Admin.pm
6156383d 250 scripts/cpan-mirrors
bfae5bde 251 PAUSE2015.pub
4f3a742d
DR
252 SlayMakefile
253 t/00signature.t
254 t/04clean_load.t
255 t/12cpan.t
256 t/13tarzip.t
257 t/14forkbomb.t
258 t/30shell.coverage
259 t/30shell.t
260 t/31sessions.t
261 t/41distribution.t
262 t/42distroprefs.t
263 t/43distroprefspref.t
45a13884 264 t/44cpanmeta.t
4f3a742d
DR
265 t/50pod.t
266 t/51pod.t
267 t/52podcover.t
268 t/60credentials.t
269 t/70_critic.t
bfae5bde 270 t/71_minimumversion.t
4f3a742d
DR
271 t/local_utils.pm
272 t/perlcriticrc
273 t/yaml_code.yml
274 ),
275 ],
4f3a742d
DR
276 },
277
278337cd
CBW
278 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
279 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 280 'CPAN::Meta' => {
a138b25a 281 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.140640.tar.gz',
4f3a742d
DR
282 'FILES' => q[cpan/CPAN-Meta],
283 'EXCLUDED' => [
7f6e6ca2 284 qw[t/00-report-prereqs.t],
229563a9 285 qr{t/README-data.txt},
4f3a742d
DR
286 qr{^xt},
287 qr{^history},
288 ],
4f3a742d
DR
289 },
290
b6ae0ea7 291 'CPAN::Meta::Requirements' => {
56284aa9 292 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
293 'FILES' => q[cpan/CPAN-Meta-Requirements],
294 'EXCLUDED' => [
295 qw(t/00-compile.t),
c4814040 296 qw(t/00-report-prereqs.t),
b6ae0ea7 297 qr{^xt},
b6ae0ea7 298 ],
b6ae0ea7
CBW
299 },
300
4f3a742d 301 'CPAN::Meta::YAML' => {
7857dbc4 302 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
4f3a742d
DR
303 'FILES' => q[cpan/CPAN-Meta-YAML],
304 'EXCLUDED' => [
b3100a1d 305 't/00-compile.t',
2954a1e9 306 't/00-report-prereqs.t',
4f3a742d
DR
307 't/04_scalar.t', # requires YAML.pm
308 qr{^xt},
309 ],
4f3a742d
DR
310 },
311
312 'Data::Dumper' => {
fbfb8de6 313 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.151.tar.gz',
4f3a742d 314 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
315 },
316
317 'DB_File' => {
16f3356e 318 'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz',
4f3a742d
DR
319 'FILES' => q[cpan/DB_File],
320 'EXCLUDED' => [
321 qr{^patches/},
322 qw( t/pod.t
323 fallback.h
324 fallback.xs
325 ),
326 ],
4f3a742d
DR
327 },
328
4f3a742d 329 'Devel::PPPort' => {
f001cc46 330 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
099bebb1
SH
331 # RJBS has asked MHX to have UPSTREAM be 'blead'
332 # (i.e. move this from cpan/ to dist/)
4f3a742d 333 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
334 'EXCLUDED' => [
335 'PPPort.pm', # we use PPPort_pm.PL instead
336 'README.md',
337 ]
4f3a742d
DR
338 },
339
97b1d6e6 340 'Devel::SelfStubber' => {
97b1d6e6
SH
341 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
342 'FILES' => q[dist/Devel-SelfStubber],
343 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
344 },
345
4f3a742d 346 'Digest' => {
4f3a742d
DR
347 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
348 'FILES' => q[cpan/Digest],
349 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
350 },
351
352 'Digest::MD5' => {
aeb2a38c 353 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
354 'FILES' => q[cpan/Digest-MD5],
355 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 356 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 357 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
358 },
359
360 'Digest::SHA' => {
626ec6d7 361 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.88.tar.gz',
4f3a742d
DR
362 'FILES' => q[cpan/Digest-SHA],
363 'EXCLUDED' => [
364 qw( t/pod.t
365 t/podcover.t
366 examples/dups
367 ),
368 ],
4f3a742d
DR
369 },
370
4f3a742d 371 'Dumpvalue' => {
f6e46c4d 372 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
373 'FILES' => q[dist/Dumpvalue],
374 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
375 },
376
4f3a742d 377 'Encode' => {
c7981a06 378 'DISTRIBUTION' => 'DANKOGAI/Encode-2.60.tar.gz',
4f3a742d 379 'FILES' => q[cpan/Encode],
89c2544c
DM
380 'CUSTOMIZED' => [
381 # Waiting to be merged upstream: see CPAN RT#95130 and
382 # Message-Id: <201405062058.s46KwdCZ013775@m-l.org>
383 qw(
384 Byte/Makefile.PL
385 CN/Makefile.PL
386 EBCDIC/Makefile.PL
387 Encode.pm
388 Encode.xs
389 Encode/Makefile_PL.e2x
390 JP/Makefile.PL
391 KR/Makefile.PL
392 Symbol/Makefile.PL
393 TW/Makefile.PL
394 bin/enc2xs
395 ),
396 ],
397
4f3a742d
DR
398 },
399
400 'encoding::warnings' => {
4f3a742d
DR
401 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
402 'FILES' => q[cpan/encoding-warnings],
403 'EXCLUDED' => [
404 qr{^inc/Module/},
94c85d8e 405 qw(t/0-signature.t),
4f3a742d 406 ],
4f3a742d
DR
407 },
408
4f3a742d 409 'Env' => {
126fc07f 410 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
411 'FILES' => q[dist/Env],
412 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
413 },
414
de84ff2b
RS
415 'experimental' => {
416 'DISTRIBUTION' => 'LEONT/experimental-0.007.tar.gz',
417 'FILES' => q[cpan/experimental],
418 'EXCLUDED' => [
419 qr{^t/release-.*\.t},
420 't/00-compile.t',
421 ],
422 },
423
4f3a742d 424 'Exporter' => {
4ac9c666 425 'DISTRIBUTION' => 'TODDR/Exporter-5.70.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' => {
d6f4d13d 435 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280216.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' => {
09b22ff5 465 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-1.67.tar.gz',
4f3a742d
DR
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' => {
608fe6e2 479 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.98.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' => {
c8131234 499 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.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' => {
37ffe967 535 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.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' => {
56e97147 591 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.043.tar.gz',
4f3a742d
DR
592 'FILES' => q[cpan/HTTP-Tiny],
593 'EXCLUDED' => [
fcfb9f49 594 't/00-report-prereqs.t',
4f3a742d 595 't/200_live.t',
44347bc3 596 't/200_live_local_ip.t',
fcfb9f49 597 't/210_live_ssl.t',
4f3a742d
DR
598 qr/^eg/,
599 qr/^xt/
600 ],
4f3a742d
DR
601 },
602
603 'I18N::Collate' => {
4f3a742d
DR
604 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
605 'FILES' => q[dist/I18N-Collate],
606 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
607 },
608
4f3a742d 609 'I18N::LangTags' => {
4f3a742d 610 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
611 },
612
613 'if' => {
4f3a742d
DR
614 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
615 'FILES' => q[dist/if],
4f3a742d
DR
616 },
617
618 'IO' => {
4f3a742d
DR
619 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
620 'FILES' => q[dist/IO/],
621 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
622 },
623
624 'IO-Compress' => {
149b3664 625 'DISTRIBUTION' => 'PMQS/IO-Compress-2.064.tar.gz',
4f3a742d 626 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
627 'EXCLUDED' => [
628 qr{^examples/},
629 qr{^t/Test/},
630 't/010examples-bzip2.t',
631 't/010examples-zlib.t',
632 't/cz-05examples.t',
633 ],
4f3a742d
DR
634 },
635
74a30e96 636 'IO::Socket::IP' => {
f728ea12 637 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.29.tar.gz',
74a30e96
CBW
638 'FILES' => q[cpan/IO-Socket-IP],
639 'EXCLUDED' => [
640 qr{^examples/},
641 ],
642 },
643
4f3a742d 644 'IO::Zlib' => {
4f3a742d
DR
645 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
646 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
647 },
648
649 'IPC::Cmd' => {
9c213c25 650 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 651 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
652 },
653
4f3a742d 654 'IPC::SysV' => {
dd0df890 655 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
656 'FILES' => q[cpan/IPC-SysV],
657 'EXCLUDED' => [
658 qw( const-c.inc
659 const-xs.inc
660 ),
661 ],
4f3a742d
DR
662 },
663
664 'JSON::PP' => {
be08498a 665 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d 666 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
667 },
668
669 'lib' => {
4f3a742d
DR
670 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
671 'FILES' => q[dist/lib/],
672 'EXCLUDED' => [
673 qw( forPAUSE/lib.pm
674 t/00pod.t
675 ),
676 ],
4f3a742d
DR
677 },
678
679 'libnet' => {
487a122b 680 'DISTRIBUTION' => 'SHAY/libnet-1.25.tar.gz',
4f3a742d
DR
681 'FILES' => q[cpan/libnet],
682 'EXCLUDED' => [
683 qw( Configure
684 install-nomake
4f3a742d 685 ),
84c82da4 686 qr(^demos/),
4f3a742d 687 ],
f81a37f2
SH
688 # Customized for perl since we cannot use either an auto-generated
689 # script or the version in the CPAN distro.
4f3a742d 690 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
691 },
692
693 'Locale-Codes' => {
d07feb8f 694 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.30.tar.gz',
4f3a742d
DR
695 'FILES' => q[cpan/Locale-Codes],
696 'EXCLUDED' => [
84c82da4 697 qw( README.first
8eadc45b 698 t/pod_coverage.ign
84c82da4 699 t/pod_coverage.t
4f3a742d
DR
700 t/pod.t),
701 qr{^t/runtests},
702 qr{^t/runtests\.bat},
703 qr{^internal/},
704 qr{^examples/},
705 ],
4f3a742d
DR
706 },
707
708 'Locale::Maketext' => {
4ac9c666 709 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.25.tar.gz',
4f3a742d
DR
710 'FILES' => q[dist/Locale-Maketext],
711 'EXCLUDED' => [
712 qw(
713 perlcriticrc
714 t/00_load.t
715 t/pod.t
716 ),
717 ],
4f3a742d
DR
718 },
719
720 'Locale::Maketext::Simple' => {
4f3a742d
DR
721 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
722 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
723 },
724
4f3a742d 725 'Math::BigInt' => {
4ac9c666 726 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.9993.tar.gz',
4f3a742d
DR
727 'FILES' => q[dist/Math-BigInt],
728 'EXCLUDED' => [
729 qr{^inc/},
730 qr{^examples/},
731 qw( t/00sig.t
732 t/01load.t
733 t/02pod.t
734 t/03podcov.t
735 ),
736 ],
4f3a742d
DR
737 },
738
739 'Math::BigInt::FastCalc' => {
4ac9c666 740 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
4f3a742d
DR
741 'FILES' => q[dist/Math-BigInt-FastCalc],
742 'EXCLUDED' => [
743 qr{^inc/},
744 qw( t/00sig.t
745 t/01load.t
746 t/02pod.t
747 t/03podcov.t
748 ),
749
750 # instead we use the versions of these test
751 # files that come with Math::BigInt:
752 qw( t/bigfltpm.inc
753 t/bigfltpm.t
754 t/bigintpm.inc
755 t/bigintpm.t
756 t/mbimbf.inc
757 t/mbimbf.t
758 ),
759 ],
4f3a742d
DR
760 },
761
762 'Math::BigRat' => {
4ac9c666 763 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2606.tar.gz',
4f3a742d
DR
764 'FILES' => q[dist/Math-BigRat],
765 'EXCLUDED' => [
766 qr{^inc/},
767 qw( t/00sig.t
768 t/01load.t
769 t/02pod.t
770 t/03podcov.t
771 ),
772 ],
4f3a742d
DR
773 },
774
775 'Math::Complex' => {
04ae1553 776 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
777 'FILES' => q[cpan/Math-Complex],
778 'EXCLUDED' => [
779 qw( t/pod.t
780 t/pod-coverage.t
781 ),
782 ],
4f3a742d
DR
783 },
784
785 'Memoize' => {
8114efa0 786 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
787 'FILES' => q[cpan/Memoize],
788 'EXCLUDED' => ['article.html'],
4f3a742d
DR
789 },
790
791 'MIME::Base64' => {
43f93048 792 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
793 'FILES' => q[cpan/MIME-Base64],
794 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
795 },
796
4f3a742d 797 'Module::CoreList' => {
9795fb51 798 'DISTRIBUTION' => 'BINGOS/Module-CoreList-3.11.tar.gz',
4f3a742d 799 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
800 },
801
802 'Module::Load' => {
58572ed8 803 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 804 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
805 },
806
807 'Module::Load::Conditional' => {
05553066 808 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.62.tar.gz',
4f3a742d 809 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
810 },
811
812 'Module::Loaded' => {
4f3a742d
DR
813 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
814 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
815 },
816
817 'Module::Metadata' => {
d477c82b 818 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
819 'FILES' => q[cpan/Module-Metadata],
820 'EXCLUDED' => [
821 qr{^maint},
822 qr{^xt},
823 ],
4f3a742d
DR
824 },
825
4f3a742d 826 'Net::Ping' => {
4e0aac35 827 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 828 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
829 'EXCLUDED' => [
830 qr{^.travis.yml},
831 qr{^README.md},
832 ],
4f3a742d
DR
833 },
834
835 'NEXT' => {
4f3a742d
DR
836 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
837 'FILES' => q[cpan/NEXT],
838 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
839 },
840
4f3a742d 841 'Params::Check' => {
8b21fa03 842 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 843 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
844 },
845
846 'parent' => {
11100026 847 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 848 'FILES' => q[cpan/parent],
4f3a742d
DR
849 },
850
851 'Parse::CPAN::Meta' => {
a2fd2fa0 852 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 853 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 854 'EXCLUDED' => [
342e4710
CBW
855 qw[t/00-report-prereqs.t],
856 qr{^xt},
857 ],
4f3a742d
DR
858 },
859
860 'PathTools' => {
4d90bfb5 861 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz',
cb8c8458 862 'FILES' => q[dist/PathTools],
4f3a742d 863 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
864 },
865
97b1d6e6 866 'Perl::OSType' => {
6f974f68 867 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.007.tar.gz',
97b1d6e6 868 'FILES' => q[cpan/Perl-OSType],
765955c0 869 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
870 },
871
97b1d6e6 872 'perlfaq' => {
97b1d6e6
SH
873 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
874 'FILES' => q[cpan/perlfaq],
875 'EXCLUDED' => [
876 qw( t/release-pod-syntax.t
877 t/release-eol.t
878 t/release-no-tabs.t
879 )
880 ],
97b1d6e6
SH
881 },
882
4f3a742d 883 'PerlIO::via::QuotedPrint' => {
7e286960 884 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 885 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
886
887 # Waiting to be merged upstream: see CPAN RT#54047
888 'CUSTOMIZED' => [
889 qw( t/QuotedPrint.t
890 ),
891 ],
892
4f3a742d
DR
893 },
894
0c501878 895 'Pod::Checker' => {
0c501878
CBW
896 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
897 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
898 },
899
4f3a742d 900 'Pod::Escapes' => {
38d111ed 901 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.06.tar.gz',
4f3a742d 902 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
903 },
904
4f3a742d 905 'Pod::Parser' => {
299a4f3d 906 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.62.tar.gz',
4f3a742d 907 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
908 },
909
910 'Pod::Perldoc' => {
f1d5d40b 911 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.23.tar.gz',
00e518b3 912 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 913
fa884b76
DM
914 # Note that we use the CPAN-provided Makefile.PL, since it
915 # contains special handling of the installation of perldoc.pod
916
917 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
918 # instead
919 # XXX We can and should fix this, but clean up the DRY-failure in utils
920 # first
921 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
922 },
923
924 'Pod::Simple' => {
b5ae6e74 925 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 926 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
927 },
928
0c501878 929 'Pod::Usage' => {
2ed39982 930 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 931 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
932 },
933
4f3a742d 934 'podlators' => {
b52cde68 935 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
936 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
937
938 # The perl distribution has pod2man.PL and pod2text.PL, which are
939 # run to create pod2man and pod2text, while the CPAN distribution
940 # just has the post-generated pod2man and pod2text files.
941 # The following entries attempt to codify that odd fact.
942 'CUSTOMIZED' => [
943 qw( scripts/pod2man.PL
944 scripts/pod2text.PL
4f3a742d
DR
945 ),
946 ],
947 'MAP' => {
948 '' => 'cpan/podlators/',
949 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
950 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
951
952 # this file lives outside the cpan/ directory
953 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
954 },
4f3a742d
DR
955 },
956
4f3a742d 957 'Safe' => {
e739c653 958 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 959 'FILES' => q[dist/Safe],
4f3a742d
DR
960 },
961
962 'Scalar-List-Utils' => {
6fbeaf2c 963 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.38.tar.gz',
cb8c8458 964 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
965 },
966
4f3a742d 967 'Search::Dict' => {
0b0a7092 968 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 969 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
970 },
971
972 'SelfLoader' => {
c3958279 973 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
974 'FILES' => q[dist/SelfLoader],
975 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
976 },
977
4f3a742d 978 'Socket' => {
538c5178 979 'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz',
4f3a742d 980 'FILES' => q[cpan/Socket],
4f3a742d
DR
981 },
982
983 'Storable' => {
8371a44d 984 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d 985 'FILES' => q[dist/Storable],
4f3a742d
DR
986 },
987
4f3a742d 988 'Sys::Syslog' => {
848ca32c 989 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
990 'FILES' => q[cpan/Sys-Syslog],
991 'EXCLUDED' => [
992 qr{^eg/},
84c82da4
SH
993 qw( README.win32
994 t/data-validation.t
4f3a742d
DR
995 t/distchk.t
996 t/pod.t
997 t/podcover.t
998 t/podspell.t
999 t/portfs.t
1000 win32/PerlLog.RES
4f3a742d
DR
1001 ),
1002 ],
4f3a742d
DR
1003 },
1004
1005 'Term::ANSIColor' => {
522ce57f 1006 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1007 'FILES' => q[cpan/Term-ANSIColor],
1008 'EXCLUDED' => [
92f80b37
CBW
1009 qr{^examples/},
1010 qr{^t/data/},
1011 qw( t/aliases-env.t
1012 t/critic.t
1013 t/minimum-version.t
1014 t/pod-spelling.t
1015 t/pod-coverage.t
4f3a742d 1016 t/pod.t
92f80b37
CBW
1017 t/strict.t
1018 t/synopsis.t
4f3a742d
DR
1019 ),
1020 ],
4f3a742d
DR
1021 },
1022
1023 'Term::Cap' => {
63dc8a94 1024 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1025 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1026 },
1027
1028 'Term::Complete' => {
4f3a742d
DR
1029 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1030 'FILES' => q[dist/Term-Complete],
1031 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1032 },
1033
1034 'Term::ReadLine' => {
75ad3638 1035 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1036 'FILES' => q[dist/Term-ReadLine],
1037 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1038 },
1039
4f3a742d 1040 'Test' => {
1c22e001 1041 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1042 'FILES' => q[cpan/Test],
4f3a742d
DR
1043 },
1044
1045 'Test::Harness' => {
406e3fef 1046 'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz',
4f3a742d
DR
1047 'FILES' => q[cpan/Test-Harness],
1048 'EXCLUDED' => [
1049 qr{^examples/},
1050 qr{^inc/},
1051 qr{^t/lib/Test/},
1052 qr{^xt/},
1053 qw( Changes-2.64
8db65552 1054 MANIFEST.CUMMULATIVE
4f3a742d
DR
1055 NotBuild.PL
1056 HACKING.pod
1057 perlcriticrc
8db65552 1058 t/000-load.t
4f3a742d
DR
1059 t/lib/if.pm
1060 ),
1061 ],
4f3a742d
DR
1062 },
1063
1064 'Test::Simple' => {
6dab8563 1065 'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz',
4f3a742d
DR
1066 'FILES' => q[cpan/Test-Simple],
1067 'EXCLUDED' => [
6dab8563 1068 qr{^t/xt},
4f3a742d
DR
1069 qw( .perlcriticrc
1070 .perltidyrc
84c82da4
SH
1071 examples/indent.pl
1072 examples/subtest.t
4f3a742d
DR
1073 t/00compile.t
1074 t/pod.t
1075 t/pod-coverage.t
1076 t/Builder/reset_outputs.t
1077 lib/Test/Builder/IO/Scalar.pm
1078 ),
1079 ],
4f3a742d
DR
1080 },
1081
1082 'Text::Abbrev' => {
5e96eee9 1083 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1084 'FILES' => q[dist/Text-Abbrev],
1085 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1086 },
1087
1088 'Text::Balanced' => {
4f3a742d
DR
1089 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1090 'FILES' => q[cpan/Text-Balanced],
1091 'EXCLUDED' => [
1092 qw( t/97_meta.t
1093 t/98_pod.t
1094 t/99_pmv.t
1095 ),
1096 ],
f81a37f2
SH
1097
1098 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1099 'CUSTOMIZED' => [
1100 qw( t/01_compile.t
1101 t/02_extbrk.t
1102 t/03_extcbk.t
1103 t/04_extdel.t
1104 t/05_extmul.t
1105 t/06_extqlk.t
1106 t/07_exttag.t
1107 t/08_extvar.t
1108 t/09_gentag.t
1109 ),
1110 ],
f81a37f2 1111
4f3a742d
DR
1112 },
1113
1114 'Text::ParseWords' => {
33954ec3 1115 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1116 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1117
f81a37f2
SH
1118 # Waiting to be merged upstream: see CPAN RT#50929
1119 'CUSTOMIZED' => [
1120 qw( t/ParseWords.t
1121 t/taint.t
1122 ),
1123 ],
1124
4f3a742d
DR
1125 # For the benefit of make_ext.pl, we have to have this accessible:
1126 'MAP' => {
1127 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1128 '' => 'cpan/Text-ParseWords/',
1129 },
4f3a742d
DR
1130 },
1131
4f3a742d 1132 'Text-Tabs+Wrap' => {
83aea42c 1133 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1134 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1135 'EXCLUDED' => [
1136 qr/^lib\.old/,
1137 't/dnsparks.t', # see af6492bf9e
4f3a742d 1138 ],
e7b92d54
SH
1139 'MAP' => {
1140 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1141 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1142 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1143 },
4f3a742d
DR
1144 },
1145
4e75700d
AC
1146 # Jerry Hedden does take patches that are applied to blead first, even
1147 # though that can be hard to discern from the Git history; so it's
1148 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1149 # to be under dist/ rather than cpan/
4f3a742d 1150 'Thread::Queue' => {
4e75700d 1151 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
4f3a742d
DR
1152 'FILES' => q[dist/Thread-Queue],
1153 'EXCLUDED' => [
1fd4700e
JH
1154 qr{^examples/},
1155 qw( t/00_load.t
4f3a742d
DR
1156 t/99_pod.t
1157 t/test.pl
1158 ),
1159 ],
4f3a742d
DR
1160 },
1161
1162 'Thread::Semaphore' => {
4f3a742d
DR
1163 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1164 'FILES' => q[dist/Thread-Semaphore],
1165 'EXCLUDED' => [
1166 qw( examples/semaphore.pl
1167 t/00_load.t
1168 t/99_pod.t
1169 t/test.pl
1170 ),
1171 ],
4f3a742d
DR
1172 },
1173
1174 'threads' => {
0ecf2317 1175 'DISTRIBUTION' => 'JDHEDDEN/threads-1.92.tar.gz',
4f3a742d
DR
1176 'FILES' => q[dist/threads],
1177 'EXCLUDED' => [
1178 qr{^examples/},
1179 qw( t/pod.t
1180 t/test.pl
1181 threads.h
1182 ),
1183 ],
4f3a742d
DR
1184 },
1185
1186 'threads::shared' => {
a5368aeb 1187 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz',
4f3a742d
DR
1188 'FILES' => q[dist/threads-shared],
1189 'EXCLUDED' => [
1190 qw( examples/class.pl
1191 shared.h
1192 t/pod.t
1193 t/test.pl
1194 ),
1195 ],
4f3a742d
DR
1196 },
1197
1198 'Tie::File' => {
4ac9c666 1199 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
c0504019 1200 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1201 },
1202
4f3a742d 1203 'Tie::RefHash' => {
4f3a742d
DR
1204 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1205 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1206 },
1207
1208 'Time::HiRes' => {
0f0eae2c 1209 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1210 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1211 },
1212
1213 'Time::Local' => {
62e824cf 1214 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1215 'FILES' => q[cpan/Time-Local],
1216 'EXCLUDED' => [
62e824cf 1217 qr{^t/release-.*\.t},
4f3a742d 1218 ],
4f3a742d
DR
1219 },
1220
1221 'Time::Piece' => {
933a2256 1222 'DISTRIBUTION' => 'RJBS/Time-Piece-1.27.tar.gz',
4f3a742d 1223 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1224 },
1225
1226 'Unicode::Collate' => {
d2309057 1227 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.04.tar.gz',
4f3a742d
DR
1228 'FILES' => q[cpan/Unicode-Collate],
1229 'EXCLUDED' => [
1230 qr{N$},
1231 qr{^data/},
1232 qr{^gendata/},
1233 qw( disableXS
1234 enableXS
1235 mklocale
1236 ),
1237 ],
4f3a742d
DR
1238 },
1239
1240 'Unicode::Normalize' => {
65e3945f 1241 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz',
4f3a742d
DR
1242 'FILES' => q[cpan/Unicode-Normalize],
1243 'EXCLUDED' => [
1244 qw( MANIFEST.N
1245 Normalize.pmN
1246 disableXS
1247 enableXS
1248 ),
1249 ],
4f3a742d
DR
1250 },
1251
4f3a742d 1252 'version' => {
f25474b0 1253 'DISTRIBUTION' => 'JPEACOCK/version-0.9908.tar.gz',
4fa93b19 1254 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
4f3a742d 1255 'EXCLUDED' => [
df3ba8e7 1256 qr{^vutil/lib/},
c60b4fa6 1257 'vutil/Makefile.PL',
df3ba8e7
FC
1258 'vutil/ppport.h',
1259 'vutil/vxs.xs',
4f3a742d 1260 't/survey_locales',
4f3a742d 1261 ],
f81a37f2 1262
c872d591
SH
1263 # When adding the CPAN-distributed files for version.pm, it is necessary
1264 # to delete an entire block out of lib/version.pm, since that code is
1265 # only necessary with the CPAN release.
f81a37f2
SH
1266 'CUSTOMIZED' => [
1267 qw( lib/version.pm
f81a37f2 1268 ),
4637d007
SH
1269
1270 # Merged upstream, waiting for new CPAN release: see CPAN RT#92721
1271 qw( vutil.c
1272 vxs.inc
1273 ),
f81a37f2
SH
1274 ],
1275
df3ba8e7 1276 'MAP' => {
4fa93b19
SH
1277 'vperl/' => 'cpan/version/lib/version/',
1278 'vutil/' => '',
df3ba8e7
FC
1279 '' => 'cpan/version/',
1280 },
4f3a742d
DR
1281 },
1282
4f3a742d 1283 'warnings' => {
099bebb1 1284 'FILES' => q[
4f3a742d 1285 lib/warnings
099bebb1
SH
1286 lib/warnings.{pm,t}
1287 regen/warnings.pl
4f3a742d 1288 t/lib/warnings
099bebb1 1289 ],
4f3a742d
DR
1290 },
1291
4f3a742d 1292 'Win32' => {
7432779b 1293 'DISTRIBUTION' => "JDB/Win32-0.49.tar.gz",
4f3a742d 1294 'FILES' => q[cpan/Win32],
4f3a742d
DR
1295 },
1296
1297 'Win32API::File' => {
113b1f2c 1298 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1299 'FILES' => q[cpan/Win32API-File],
1300 'EXCLUDED' => [
1301 qr{^ex/},
1302 't/pod.t',
1303 ],
4f3a742d
DR
1304 },
1305
4f3a742d 1306 'XSLoader' => {
681a49bf 1307 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1308 'FILES' => q[dist/XSLoader],
1309 'EXCLUDED' => [
1310 qr{^eg/},
57f9caa0
SH
1311 qw( t/00-load.t
1312 t/01-api.t
1313 t/distchk.t
1314 t/pod.t
4f3a742d
DR
1315 t/podcover.t
1316 t/portfs.t
1317 ),
1318 'XSLoader.pm', # we use XSLoader_pm.PL
1319 ],
4f3a742d
DR
1320 },
1321
462ea751
DM
1322 # this pseudo-module represents all the files under ext/ and lib/
1323 # that aren't otherwise claimed. This means that the following two
1324 # commands will check that every file under ext/ and lib/ is
1325 # accounted for, and that there are no duplicates:
1326 #
1327 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1328 # perl Porting/Maintainers --checkmani
462ea751 1329
4f3a742d 1330 '_PERLLIB' => {
2af3c4b9 1331 'FILES' => q[
09213599 1332 ext/B/
2af3c4b9
SH
1333 ext/Devel-Peek/
1334 ext/DynaLoader/
1335 ext/Errno/
7b4d95f7 1336 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1337 ext/Fcntl/
1338 ext/File-DosGlob/
1339 ext/File-Find/
1340 ext/File-Glob/
1341 ext/FileCache/
1342 ext/GDBM_File/
1343 ext/Hash-Util-FieldHash/
1344 ext/Hash-Util/
1345 ext/I18N-Langinfo/
1346 ext/IPC-Open3/
1347 ext/NDBM_File/
1348 ext/ODBM_File/
1349 ext/Opcode/
1350 ext/POSIX/
1351 ext/PerlIO-encoding/
1352 ext/PerlIO-mmap/
1353 ext/PerlIO-scalar/
1354 ext/PerlIO-via/
1355 ext/Pod-Functions/
1356 ext/Pod-Html/
1357 ext/SDBM_File/
1358 ext/Sys-Hostname/
1359 ext/Tie-Hash-NamedCapture/
1360 ext/Tie-Memoize/
b3dcf775 1361 ext/VMS-DCLsym/
2af3c4b9 1362 ext/VMS-Filespec/
b3dcf775
SH
1363 ext/VMS-Stdio/
1364 ext/Win32CORE/
4f3a742d 1365 ext/XS-APItest/
2af3c4b9
SH
1366 ext/XS-Typemap/
1367 ext/arybase/
1368 ext/attributes/
1369 ext/mro/
1370 ext/re/
1371 lib/AnyDBM_File.{pm,t}
1372 lib/Benchmark.{pm,t}
7263d211 1373 lib/B/Deparse{.pm,.t,-core.t}
4f3a742d 1374 lib/CORE.pod
2af3c4b9 1375 lib/Class/Struct.{pm,t}
4f3a742d
DR
1376 lib/Config.t
1377 lib/Config/Extensions.{pm,t}
1378 lib/DB.{pm,t}
2af3c4b9
SH
1379 lib/DBM_Filter.pm
1380 lib/DBM_Filter/
1381 lib/DirHandle.{pm,t}
1382 lib/English.{pm,t}
4f3a742d
DR
1383 lib/ExtUtils/Embed.pm
1384 lib/ExtUtils/XSSymSet.pm
1385 lib/ExtUtils/t/Embed.t
1386 lib/ExtUtils/typemap
2af3c4b9
SH
1387 lib/File/Basename.{pm,t}
1388 lib/File/Compare.{pm,t}
1389 lib/File/Copy.{pm,t}
1390 lib/File/stat{.pm,.t,-7896.t}
1391 lib/FileHandle.{pm,t}
1392 lib/FindBin.{pm,t}
1393 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1394 lib/Internals.t
1395 lib/Net/hostent.{pm,t}
1396 lib/Net/netent.{pm,t}
1397 lib/Net/protoent.{pm,t}
1398 lib/Net/servent.{pm,t}
2af3c4b9 1399 lib/PerlIO.pm
4f3a742d
DR
1400 lib/Pod/t/InputObjects.t
1401 lib/Pod/t/Select.t
1402 lib/Pod/t/Usage.t
4f3a742d
DR
1403 lib/Pod/t/utils.t
1404 lib/SelectSaver.{pm,t}
1405 lib/Symbol.{pm,t}
1406 lib/Thread.{pm,t}
1407 lib/Tie/Array.pm
1408 lib/Tie/Array/
1409 lib/Tie/ExtraHash.t
1410 lib/Tie/Handle.pm
1411 lib/Tie/Handle/
2af3c4b9 1412 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1413 lib/Tie/Scalar.{pm,t}
1414 lib/Tie/StdHandle.pm
1415 lib/Tie/SubstrHash.{pm,t}
1416 lib/Time/gmtime.{pm,t}
1417 lib/Time/localtime.{pm,t}
1418 lib/Time/tm.pm
1419 lib/UNIVERSAL.pm
1420 lib/Unicode/README
2af3c4b9 1421 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1422 lib/User/grent.{pm,t}
1423 lib/User/pwent.{pm,t}
2af3c4b9 1424 lib/_charnames.pm
4f3a742d
DR
1425 lib/blib.{pm,t}
1426 lib/bytes.{pm,t}
1427 lib/bytes_heavy.pl
1428 lib/charnames.{pm,t}
1429 lib/dbm_filter_util.pl
1430 lib/deprecate.pm
2af3c4b9 1431 lib/diagnostics.{pm,t}
4f3a742d
DR
1432 lib/dumpvar.{pl,t}
1433 lib/feature.{pm,t}
1434 lib/feature/
1435 lib/filetest.{pm,t}
1436 lib/h2ph.t
1437 lib/h2xs.t
1438 lib/integer.{pm,t}
1439 lib/less.{pm,t}
1440 lib/locale.{pm,t}
1441 lib/open.{pm,t}
1442 lib/overload/numbers.pm
1443 lib/overloading.{pm,t}
2af3c4b9 1444 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1445 lib/perl5db.{pl,t}
1446 lib/perl5db/
2af3c4b9 1447 lib/sigtrap.{pm,t}
4f3a742d
DR
1448 lib/sort.{pm,t}
1449 lib/strict.{pm,t}
1450 lib/subs.{pm,t}
1451 lib/unicore/
1452 lib/utf8.{pm,t}
1453 lib/utf8_heavy.pl
1454 lib/vars{.pm,.t,_carp.t}
1455 lib/vmsish.{pm,t}
1456 ],
4f3a742d 1457 },
462ea751 1458);
b128a327 1459
97556ec3 1460# legacy CPAN flag
4f3a742d 1461for ( values %Modules ) {
97556ec3
GA
1462 $_->{CPAN} = !!$_->{DISTRIBUTION};
1463}
1464
099bebb1
SH
1465# legacy UPSTREAM flag
1466for ( keys %Modules ) {
1467 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1468 next if exists $Modules{$_}{UPSTREAM};
1469
1470 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1471 $Modules{$_}{UPSTREAM} = 'blead';
1472 }
1473 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1474 $Modules{$_}{UPSTREAM} = 'cpan';
1475 }
1476 else {
1477 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1478 }
1479}
1480
d350de41 1481# legacy MAINTAINER field
099bebb1 1482for ( keys %Modules ) {
b3dcf775 1483 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1484 next if exists $Modules{$_}{MAINTAINER};
1485
1486 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1487 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1488 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1489 }
099bebb1
SH
1490 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1491 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1492 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1493 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1494 }
099bebb1
SH
1495 else {
1496 warn "No DISTRIBUTION for non-blead module $_";
1497 }
d350de41
SH
1498}
1499
b128a327 15001;