This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade CPAN from version 2.05-TRIAL2 to 2.05
[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' => {
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' => {
b582f7a3 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.3301.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' => {
ddfe1c93 255 'DISTRIBUTION' => 'ANDK/CPAN-2.05.tar.gz',
4f3a742d
DR
256 'FILES' => q[cpan/CPAN],
257 'EXCLUDED' => [
258 qr{^distroprefs/},
259 qr{^inc/Test/},
45a13884
SH
260 qr{^t/CPAN/},
261 qr{^t/data/},
4f3a742d 262 qw( lib/CPAN/Admin.pm
6156383d 263 scripts/cpan-mirrors
bfae5bde 264 PAUSE2015.pub
4f3a742d
DR
265 SlayMakefile
266 t/00signature.t
267 t/04clean_load.t
268 t/12cpan.t
269 t/13tarzip.t
270 t/14forkbomb.t
271 t/30shell.coverage
272 t/30shell.t
273 t/31sessions.t
274 t/41distribution.t
275 t/42distroprefs.t
276 t/43distroprefspref.t
45a13884 277 t/44cpanmeta.t
4f3a742d
DR
278 t/50pod.t
279 t/51pod.t
280 t/52podcover.t
281 t/60credentials.t
282 t/70_critic.t
bfae5bde 283 t/71_minimumversion.t
4f3a742d
DR
284 t/local_utils.pm
285 t/perlcriticrc
286 t/yaml_code.yml
287 ),
288 ],
4f3a742d
DR
289 },
290
278337cd
CBW
291 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
292 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 293 'CPAN::Meta' => {
a138b25a 294 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.140640.tar.gz',
4f3a742d
DR
295 'FILES' => q[cpan/CPAN-Meta],
296 'EXCLUDED' => [
7f6e6ca2 297 qw[t/00-report-prereqs.t],
229563a9 298 qr{t/README-data.txt},
4f3a742d
DR
299 qr{^xt},
300 qr{^history},
301 ],
4f3a742d
DR
302 },
303
b6ae0ea7 304 'CPAN::Meta::Requirements' => {
56284aa9 305 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
306 'FILES' => q[cpan/CPAN-Meta-Requirements],
307 'EXCLUDED' => [
308 qw(t/00-compile.t),
c4814040 309 qw(t/00-report-prereqs.t),
b6ae0ea7 310 qr{^xt},
b6ae0ea7 311 ],
b6ae0ea7
CBW
312 },
313
4f3a742d 314 'CPAN::Meta::YAML' => {
7857dbc4 315 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz',
4f3a742d
DR
316 'FILES' => q[cpan/CPAN-Meta-YAML],
317 'EXCLUDED' => [
b3100a1d 318 't/00-compile.t',
2954a1e9 319 't/00-report-prereqs.t',
4f3a742d
DR
320 't/04_scalar.t', # requires YAML.pm
321 qr{^xt},
322 ],
4f3a742d
DR
323 },
324
325 'Data::Dumper' => {
fbfb8de6 326 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.151.tar.gz',
4f3a742d 327 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
328 },
329
330 'DB_File' => {
16f3356e 331 'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz',
4f3a742d
DR
332 'FILES' => q[cpan/DB_File],
333 'EXCLUDED' => [
334 qr{^patches/},
335 qw( t/pod.t
336 fallback.h
337 fallback.xs
338 ),
339 ],
4f3a742d
DR
340 },
341
4f3a742d 342 'Devel::PPPort' => {
8e5dcc37 343 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.22.tar.gz',
099bebb1
SH
344 # RJBS has asked MHX to have UPSTREAM be 'blead'
345 # (i.e. move this from cpan/ to dist/)
4f3a742d 346 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
347 'EXCLUDED' => [
348 'PPPort.pm', # we use PPPort_pm.PL instead
349 'README.md',
350 ]
4f3a742d
DR
351 },
352
97b1d6e6 353 'Devel::SelfStubber' => {
97b1d6e6
SH
354 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
355 'FILES' => q[dist/Devel-SelfStubber],
356 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
357 },
358
4f3a742d 359 'Digest' => {
4f3a742d
DR
360 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
361 'FILES' => q[cpan/Digest],
362 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
363 },
364
365 'Digest::MD5' => {
aeb2a38c 366 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
367 'FILES' => q[cpan/Digest-MD5],
368 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 369 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 370 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
371 },
372
373 'Digest::SHA' => {
626ec6d7 374 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.88.tar.gz',
4f3a742d
DR
375 'FILES' => q[cpan/Digest-SHA],
376 'EXCLUDED' => [
377 qw( t/pod.t
378 t/podcover.t
379 examples/dups
380 ),
381 ],
4f3a742d
DR
382 },
383
4f3a742d 384 'Dumpvalue' => {
f6e46c4d 385 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
386 'FILES' => q[dist/Dumpvalue],
387 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
388 },
389
4f3a742d 390 'Encode' => {
3cd3edd2 391 'DISTRIBUTION' => 'DANKOGAI/Encode-2.57.tar.gz',
4f3a742d 392 'FILES' => q[cpan/Encode],
4f3a742d
DR
393 },
394
395 'encoding::warnings' => {
4f3a742d
DR
396 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
397 'FILES' => q[cpan/encoding-warnings],
398 'EXCLUDED' => [
399 qr{^inc/Module/},
94c85d8e 400 qw(t/0-signature.t),
4f3a742d 401 ],
4f3a742d
DR
402 },
403
4f3a742d 404 'Env' => {
126fc07f 405 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
406 'FILES' => q[dist/Env],
407 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
408 },
409
de84ff2b
RS
410 'experimental' => {
411 'DISTRIBUTION' => 'LEONT/experimental-0.007.tar.gz',
412 'FILES' => q[cpan/experimental],
413 'EXCLUDED' => [
414 qr{^t/release-.*\.t},
415 't/00-compile.t',
416 ],
417 },
418
4f3a742d 419 'Exporter' => {
b5de49e5 420 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
3110a055 421 'FILES' => q[dist/Exporter],
4f3a742d
DR
422 'EXCLUDED' => [
423 qw( t/pod.t
424 t/use.t
425 ),
426 ],
4f3a742d
DR
427 },
428
429 'ExtUtils::CBuilder' => {
d6f4d13d 430 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280216.tar.gz',
4f3a742d 431 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
432 'EXCLUDED' => [
433 qw(README.mkdn),
434 qr{^xt},
435 ],
4f3a742d
DR
436 },
437
438 'ExtUtils::Command' => {
044aa601 439 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
4f3a742d
DR
440 'FILES' => q[dist/ExtUtils-Command],
441 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
442 },
443
444 'ExtUtils::Constant' => {
4f3a742d
DR
445
446 # Nick has confirmed that while we have diverged from CPAN,
447 # this package isn't primarily maintained in core
448 # Another release will happen "Sometime"
449 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
450 'FILES' => q[cpan/ExtUtils-Constant],
451 'EXCLUDED' => [
452 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
453 examples/perl_keyword.pl
454 examples/perl_regcomp_posix_keyword.pl
455 ),
456 ],
4f3a742d
DR
457 },
458
459 'ExtUtils::Install' => {
e694503c 460 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-1.65.tar.gz',
4f3a742d
DR
461 'FILES' => q[dist/ExtUtils-Install],
462 'EXCLUDED' => [
463 qw( t/lib/Test/Builder.pm
464 t/lib/Test/Builder/Module.pm
465 t/lib/Test/More.pm
466 t/lib/Test/Simple.pm
467 t/pod-coverage.t
468 t/pod.t
469 ),
470 ],
4f3a742d
DR
471 },
472
473 'ExtUtils::MakeMaker' => {
a8509e91 474 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.94.tar.gz',
4f3a742d
DR
475 'FILES' => q[cpan/ExtUtils-MakeMaker],
476 'EXCLUDED' => [
477 qr{^t/lib/Test/},
478 qr{^(bundled|my)/},
479 qr{^t/Liblist_Kid.t},
480 qr{^t/liblist/},
78fd4358 481 qr{^\.perlcriticrc},
84c82da4
SH
482 'PATCHING',
483 'README.packaging',
4f3a742d 484 ],
4f3a742d
DR
485 },
486
487 'ExtUtils::Manifest' => {
6db8f88e 488 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
4f3a742d
DR
489 'FILES' => q[dist/ExtUtils-Manifest],
490 'EXCLUDED' => [qr(t/release-.*\.t)],
4f3a742d
DR
491 },
492
493 'ExtUtils::ParseXS' => {
c8131234 494 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
4f3a742d 495 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
496 },
497
4f3a742d 498 'File::Fetch' => {
9d56ca6f 499 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz',
4f3a742d 500 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
501 },
502
4f3a742d 503 'File::Path' => {
8f65b4cd 504 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
505 'FILES' => q[cpan/File-Path],
506 'EXCLUDED' => [
507 qw( eg/setup-extra-tests
508 t/pod.t
509 )
510 ],
511 'MAP' => {
512 '' => 'cpan/File-Path/lib/File/',
513 't/' => 'cpan/File-Path/t/',
514 },
4f3a742d
DR
515 },
516
4f3a742d 517 'File::Temp' => {
3d5f905f 518 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
519 'FILES' => q[cpan/File-Temp],
520 'EXCLUDED' => [
521 qw( misc/benchmark.pl
522 misc/results.txt
523 ),
814e893f
CBW
524 qw[t/00-report-prereqs.t],
525 qr{^xt},
4f3a742d 526 ],
4f3a742d
DR
527 },
528
4f3a742d 529 'Filter::Simple' => {
37ffe967 530 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
4f3a742d
DR
531 'FILES' => q[dist/Filter-Simple],
532 'EXCLUDED' => [
4f3a742d
DR
533 qr{^demo/}
534 ],
4f3a742d
DR
535 },
536
537 'Filter::Util::Call' => {
d8b87a9b 538 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
539 'FILES' => q[cpan/Filter-Util-Call
540 pod/perlfilter.pod
541 ],
542 'EXCLUDED' => [
543 qr{^decrypt/},
544 qr{^examples/},
545 qr{^Exec/},
546 qr{^lib/Filter/},
547 qr{^tee/},
548 qw( Call/Makefile.PL
549 Call/ppport.h
550 Call/typemap
551 mytest
552 t/cpp.t
553 t/decrypt.t
554 t/exec.t
555 t/order.t
4f3a742d
DR
556 t/sh.t
557 t/tee.t
533d93cc
SH
558 t/z_kwalitee.t
559 t/z_meta.t
560 t/z_perl_minimum_version.t
561 t/z_pod-coverage.t
562 t/z_pod.t
4f3a742d
DR
563 ),
564 ],
565 'MAP' => {
566 'Call/' => 'cpan/Filter-Util-Call/',
567 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
568 'perlfilter.pod' => 'pod/perlfilter.pod',
569 '' => 'cpan/Filter-Util-Call/',
570 },
4f3a742d
DR
571 },
572
4f3a742d 573 'Getopt::Long' => {
7867c822 574 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
575 'FILES' => q[cpan/Getopt-Long],
576 'EXCLUDED' => [
577 qr{^examples/},
578 qw( perl-Getopt-Long.spec
579 lib/newgetopt.pl
974d5816 580 t/gol-compat.t
4f3a742d
DR
581 ),
582 ],
4f3a742d
DR
583 },
584
4f3a742d 585 'HTTP::Tiny' => {
56e97147 586 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.043.tar.gz',
4f3a742d
DR
587 'FILES' => q[cpan/HTTP-Tiny],
588 'EXCLUDED' => [
fcfb9f49 589 't/00-report-prereqs.t',
4f3a742d 590 't/200_live.t',
44347bc3 591 't/200_live_local_ip.t',
fcfb9f49 592 't/210_live_ssl.t',
4f3a742d
DR
593 qr/^eg/,
594 qr/^xt/
595 ],
4f3a742d
DR
596 },
597
598 'I18N::Collate' => {
4f3a742d
DR
599 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
600 'FILES' => q[dist/I18N-Collate],
601 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
602 },
603
4f3a742d 604 'I18N::LangTags' => {
4f3a742d 605 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
606 },
607
608 'if' => {
4f3a742d
DR
609 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
610 'FILES' => q[dist/if],
4f3a742d
DR
611 },
612
613 'IO' => {
4f3a742d
DR
614 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
615 'FILES' => q[dist/IO/],
616 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
617 },
618
619 'IO-Compress' => {
149b3664 620 'DISTRIBUTION' => 'PMQS/IO-Compress-2.064.tar.gz',
4f3a742d 621 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
622 'EXCLUDED' => [
623 qr{^examples/},
624 qr{^t/Test/},
625 't/010examples-bzip2.t',
626 't/010examples-zlib.t',
627 't/cz-05examples.t',
628 ],
4f3a742d
DR
629 },
630
74a30e96 631 'IO::Socket::IP' => {
f728ea12 632 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.29.tar.gz',
74a30e96
CBW
633 'FILES' => q[cpan/IO-Socket-IP],
634 'EXCLUDED' => [
635 qr{^examples/},
636 ],
637 },
638
4f3a742d 639 'IO::Zlib' => {
4f3a742d
DR
640 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
641 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
642 },
643
644 'IPC::Cmd' => {
9c213c25 645 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz',
4f3a742d 646 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
647 },
648
4f3a742d 649 'IPC::SysV' => {
dd0df890 650 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
651 'FILES' => q[cpan/IPC-SysV],
652 'EXCLUDED' => [
653 qw( const-c.inc
654 const-xs.inc
655 ),
656 ],
4f3a742d
DR
657 },
658
659 'JSON::PP' => {
be08498a 660 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d 661 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
662 },
663
664 'lib' => {
4f3a742d
DR
665 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
666 'FILES' => q[dist/lib/],
667 'EXCLUDED' => [
668 qw( forPAUSE/lib.pm
669 t/00pod.t
670 ),
671 ],
4f3a742d
DR
672 },
673
674 'libnet' => {
487a122b 675 'DISTRIBUTION' => 'SHAY/libnet-1.25.tar.gz',
4f3a742d
DR
676 'FILES' => q[cpan/libnet],
677 'EXCLUDED' => [
678 qw( Configure
679 install-nomake
4f3a742d 680 ),
84c82da4 681 qr(^demos/),
4f3a742d 682 ],
f81a37f2
SH
683 # Customized for perl since we cannot use either an auto-generated
684 # script or the version in the CPAN distro.
4f3a742d 685 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
686 },
687
688 'Locale-Codes' => {
d07feb8f 689 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.30.tar.gz',
4f3a742d
DR
690 'FILES' => q[cpan/Locale-Codes],
691 'EXCLUDED' => [
84c82da4 692 qw( README.first
8eadc45b 693 t/pod_coverage.ign
84c82da4 694 t/pod_coverage.t
4f3a742d
DR
695 t/pod.t),
696 qr{^t/runtests},
697 qr{^t/runtests\.bat},
698 qr{^internal/},
699 qr{^examples/},
700 ],
4f3a742d
DR
701 },
702
703 'Locale::Maketext' => {
f318c24d 704 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
4f3a742d
DR
705 'FILES' => q[dist/Locale-Maketext],
706 'EXCLUDED' => [
707 qw(
708 perlcriticrc
709 t/00_load.t
710 t/pod.t
711 ),
712 ],
4f3a742d
DR
713 },
714
715 'Locale::Maketext::Simple' => {
4f3a742d
DR
716 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
717 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
718 },
719
4f3a742d 720 'Math::BigInt' => {
4f3a742d
DR
721 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
722 'FILES' => q[dist/Math-BigInt],
723 'EXCLUDED' => [
724 qr{^inc/},
725 qr{^examples/},
726 qw( t/00sig.t
727 t/01load.t
728 t/02pod.t
729 t/03podcov.t
730 ),
731 ],
4f3a742d
DR
732 },
733
734 'Math::BigInt::FastCalc' => {
4f3a742d
DR
735 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
736 'FILES' => q[dist/Math-BigInt-FastCalc],
737 'EXCLUDED' => [
738 qr{^inc/},
739 qw( t/00sig.t
740 t/01load.t
741 t/02pod.t
742 t/03podcov.t
743 ),
744
745 # instead we use the versions of these test
746 # files that come with Math::BigInt:
747 qw( t/bigfltpm.inc
748 t/bigfltpm.t
749 t/bigintpm.inc
750 t/bigintpm.t
751 t/mbimbf.inc
752 t/mbimbf.t
753 ),
754 ],
4f3a742d
DR
755 },
756
757 'Math::BigRat' => {
4f3a742d
DR
758 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
759 'FILES' => q[dist/Math-BigRat],
760 'EXCLUDED' => [
761 qr{^inc/},
762 qw( t/00sig.t
763 t/01load.t
764 t/02pod.t
765 t/03podcov.t
766 ),
767 ],
4f3a742d
DR
768 },
769
770 'Math::Complex' => {
04ae1553 771 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
772 'FILES' => q[cpan/Math-Complex],
773 'EXCLUDED' => [
774 qw( t/pod.t
775 t/pod-coverage.t
776 ),
777 ],
4f3a742d
DR
778 },
779
780 'Memoize' => {
8114efa0 781 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
782 'FILES' => q[cpan/Memoize],
783 'EXCLUDED' => ['article.html'],
4f3a742d
DR
784 },
785
786 'MIME::Base64' => {
43f93048 787 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
788 'FILES' => q[cpan/MIME-Base64],
789 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
790 },
791
792 #
793 # To update Module-Build in blead see
236cbe8d 794 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
4f3a742d 795 #
462ea751 796
4f3a742d 797 'Module::Build' => {
3a3ee363 798 'DISTRIBUTION' => 'LEONT/Module-Build-0.4205.tar.gz',
4f3a742d
DR
799 'FILES' => q[cpan/Module-Build],
800 'EXCLUDED' => [
801 qw( t/par.t
802 t/signature.t
803 ),
804 qr{^contrib/},
4f3a742d
DR
805 qr{^inc},
806 ],
de29d724
SH
807 # Generated file, not part of the CPAN distro:
808 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
47369ecd 809 'DEPRECATED' => '5.019000',
4f3a742d
DR
810 },
811
812 'Module::CoreList' => {
f9bf2504 813 'DISTRIBUTION' => 'BINGOS/Module-CoreList-3.09.tar.gz',
4f3a742d 814 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
815 },
816
817 'Module::Load' => {
58572ed8 818 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
4f3a742d 819 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
820 },
821
822 'Module::Load::Conditional' => {
05553066 823 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.62.tar.gz',
4f3a742d 824 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
825 },
826
827 'Module::Loaded' => {
4f3a742d
DR
828 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
829 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
830 },
831
832 'Module::Metadata' => {
d477c82b 833 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
834 'FILES' => q[cpan/Module-Metadata],
835 'EXCLUDED' => [
836 qr{^maint},
837 qr{^xt},
838 ],
4f3a742d
DR
839 },
840
4f3a742d 841 'Net::Ping' => {
4e0aac35 842 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 843 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
844 'EXCLUDED' => [
845 qr{^.travis.yml},
846 qr{^README.md},
847 ],
4f3a742d
DR
848 },
849
850 'NEXT' => {
4f3a742d
DR
851 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
852 'FILES' => q[cpan/NEXT],
853 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
854 },
855
4f3a742d 856 'Package::Constants' => {
348e937b 857 'DISTRIBUTION' => 'BINGOS/Package-Constants-0.04.tar.gz',
4f3a742d 858 'FILES' => q[cpan/Package-Constants],
23b56f29 859 'DEPRECATED' => '5.019006',
4f3a742d
DR
860 },
861
862 'Params::Check' => {
8b21fa03 863 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 864 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
865 },
866
867 'parent' => {
11100026 868 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 869 'FILES' => q[cpan/parent],
4f3a742d
DR
870 },
871
872 'Parse::CPAN::Meta' => {
a2fd2fa0 873 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz',
4f3a742d 874 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710 875 'EXCLUDED' => [
342e4710
CBW
876 qw[t/00-report-prereqs.t],
877 qr{^xt},
878 ],
4f3a742d
DR
879 },
880
881 'PathTools' => {
061a8e13 882 'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
cb8c8458 883 'FILES' => q[dist/PathTools],
4f3a742d 884 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
885 },
886
97b1d6e6 887 'Perl::OSType' => {
6f974f68 888 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.007.tar.gz',
97b1d6e6 889 'FILES' => q[cpan/Perl-OSType],
765955c0 890 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
891 },
892
97b1d6e6 893 'perlfaq' => {
97b1d6e6
SH
894 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
895 'FILES' => q[cpan/perlfaq],
896 'EXCLUDED' => [
897 qw( t/release-pod-syntax.t
898 t/release-eol.t
899 t/release-no-tabs.t
900 )
901 ],
97b1d6e6
SH
902 },
903
4f3a742d 904 'PerlIO::via::QuotedPrint' => {
7e286960 905 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 906 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
907
908 # Waiting to be merged upstream: see CPAN RT#54047
909 'CUSTOMIZED' => [
910 qw( t/QuotedPrint.t
911 ),
912 ],
913
4f3a742d
DR
914 },
915
0c501878 916 'Pod::Checker' => {
0c501878
CBW
917 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
918 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
919 },
920
4f3a742d 921 'Pod::Escapes' => {
38d111ed 922 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.06.tar.gz',
4f3a742d 923 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
924 },
925
4f3a742d 926 'Pod::Parser' => {
299a4f3d 927 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.62.tar.gz',
4f3a742d 928 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
929 },
930
931 'Pod::Perldoc' => {
f1d5d40b 932 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.23.tar.gz',
00e518b3 933 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d 934
fa884b76
DM
935 # Note that we use the CPAN-provided Makefile.PL, since it
936 # contains special handling of the installation of perldoc.pod
937
938 # In blead, the perldoc executable is generated by perldoc.PL
4f3a742d
DR
939 # instead
940 # XXX We can and should fix this, but clean up the DRY-failure in utils
941 # first
942 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
943 },
944
945 'Pod::Simple' => {
b5ae6e74 946 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 947 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
948 },
949
0c501878 950 'Pod::Usage' => {
2ed39982 951 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 952 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
953 },
954
4f3a742d 955 'podlators' => {
b52cde68 956 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
957 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
958
959 # The perl distribution has pod2man.PL and pod2text.PL, which are
960 # run to create pod2man and pod2text, while the CPAN distribution
961 # just has the post-generated pod2man and pod2text files.
962 # The following entries attempt to codify that odd fact.
963 'CUSTOMIZED' => [
964 qw( scripts/pod2man.PL
965 scripts/pod2text.PL
4f3a742d
DR
966 ),
967 ],
968 'MAP' => {
969 '' => 'cpan/podlators/',
970 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
971 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
972
973 # this file lives outside the cpan/ directory
974 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
975 },
4f3a742d
DR
976 },
977
4f3a742d 978 'Safe' => {
e739c653 979 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 980 'FILES' => q[dist/Safe],
4f3a742d
DR
981 },
982
983 'Scalar-List-Utils' => {
6fbeaf2c 984 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.38.tar.gz',
cb8c8458 985 'FILES' => q[cpan/Scalar-List-Utils],
4f3a742d
DR
986 },
987
4f3a742d 988 'Search::Dict' => {
0b0a7092 989 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 990 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
991 },
992
993 'SelfLoader' => {
c3958279 994 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
995 'FILES' => q[dist/SelfLoader],
996 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
997 },
998
4f3a742d 999 'Socket' => {
538c5178 1000 'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz',
4f3a742d 1001 'FILES' => q[cpan/Socket],
4f3a742d
DR
1002 },
1003
1004 'Storable' => {
8371a44d 1005 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d 1006 'FILES' => q[dist/Storable],
4f3a742d
DR
1007 },
1008
4f3a742d 1009 'Sys::Syslog' => {
848ca32c 1010 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1011 'FILES' => q[cpan/Sys-Syslog],
1012 'EXCLUDED' => [
1013 qr{^eg/},
84c82da4
SH
1014 qw( README.win32
1015 t/data-validation.t
4f3a742d
DR
1016 t/distchk.t
1017 t/pod.t
1018 t/podcover.t
1019 t/podspell.t
1020 t/portfs.t
1021 win32/PerlLog.RES
4f3a742d
DR
1022 ),
1023 ],
4f3a742d
DR
1024 },
1025
1026 'Term::ANSIColor' => {
522ce57f 1027 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1028 'FILES' => q[cpan/Term-ANSIColor],
1029 'EXCLUDED' => [
92f80b37
CBW
1030 qr{^examples/},
1031 qr{^t/data/},
1032 qw( t/aliases-env.t
1033 t/critic.t
1034 t/minimum-version.t
1035 t/pod-spelling.t
1036 t/pod-coverage.t
4f3a742d 1037 t/pod.t
92f80b37
CBW
1038 t/strict.t
1039 t/synopsis.t
4f3a742d
DR
1040 ),
1041 ],
4f3a742d
DR
1042 },
1043
1044 'Term::Cap' => {
63dc8a94 1045 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1046 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1047 },
1048
1049 'Term::Complete' => {
4f3a742d
DR
1050 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1051 'FILES' => q[dist/Term-Complete],
1052 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1053 },
1054
1055 'Term::ReadLine' => {
75ad3638 1056 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1057 'FILES' => q[dist/Term-ReadLine],
1058 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1059 },
1060
4f3a742d 1061 'Test' => {
1c22e001 1062 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1063 'FILES' => q[cpan/Test],
4f3a742d
DR
1064 },
1065
1066 'Test::Harness' => {
406e3fef 1067 'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz',
4f3a742d
DR
1068 'FILES' => q[cpan/Test-Harness],
1069 'EXCLUDED' => [
1070 qr{^examples/},
1071 qr{^inc/},
1072 qr{^t/lib/Test/},
1073 qr{^xt/},
1074 qw( Changes-2.64
8db65552 1075 MANIFEST.CUMMULATIVE
4f3a742d
DR
1076 NotBuild.PL
1077 HACKING.pod
1078 perlcriticrc
8db65552 1079 t/000-load.t
4f3a742d
DR
1080 t/lib/if.pm
1081 ),
1082 ],
4f3a742d
DR
1083 },
1084
1085 'Test::Simple' => {
6dab8563 1086 'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz',
4f3a742d
DR
1087 'FILES' => q[cpan/Test-Simple],
1088 'EXCLUDED' => [
6dab8563 1089 qr{^t/xt},
4f3a742d
DR
1090 qw( .perlcriticrc
1091 .perltidyrc
84c82da4
SH
1092 examples/indent.pl
1093 examples/subtest.t
4f3a742d
DR
1094 t/00compile.t
1095 t/pod.t
1096 t/pod-coverage.t
1097 t/Builder/reset_outputs.t
1098 lib/Test/Builder/IO/Scalar.pm
1099 ),
1100 ],
4f3a742d
DR
1101 },
1102
1103 'Text::Abbrev' => {
5e96eee9 1104 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1105 'FILES' => q[dist/Text-Abbrev],
1106 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1107 },
1108
1109 'Text::Balanced' => {
4f3a742d
DR
1110 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1111 'FILES' => q[cpan/Text-Balanced],
1112 'EXCLUDED' => [
1113 qw( t/97_meta.t
1114 t/98_pod.t
1115 t/99_pmv.t
1116 ),
1117 ],
f81a37f2
SH
1118
1119 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1120 'CUSTOMIZED' => [
1121 qw( t/01_compile.t
1122 t/02_extbrk.t
1123 t/03_extcbk.t
1124 t/04_extdel.t
1125 t/05_extmul.t
1126 t/06_extqlk.t
1127 t/07_exttag.t
1128 t/08_extvar.t
1129 t/09_gentag.t
1130 ),
1131 ],
f81a37f2 1132
4f3a742d
DR
1133 },
1134
1135 'Text::ParseWords' => {
33954ec3 1136 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1137 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1138
f81a37f2
SH
1139 # Waiting to be merged upstream: see CPAN RT#50929
1140 'CUSTOMIZED' => [
1141 qw( t/ParseWords.t
1142 t/taint.t
1143 ),
1144 ],
1145
4f3a742d
DR
1146 # For the benefit of make_ext.pl, we have to have this accessible:
1147 'MAP' => {
1148 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1149 '' => 'cpan/Text-ParseWords/',
1150 },
4f3a742d
DR
1151 },
1152
4f3a742d 1153 'Text-Tabs+Wrap' => {
83aea42c 1154 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1155 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1156 'EXCLUDED' => [
1157 qr/^lib\.old/,
1158 't/dnsparks.t', # see af6492bf9e
4f3a742d 1159 ],
e7b92d54
SH
1160 'MAP' => {
1161 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1162 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1163 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1164 },
4f3a742d
DR
1165 },
1166
4e75700d
AC
1167 # Jerry Hedden does take patches that are applied to blead first, even
1168 # though that can be hard to discern from the Git history; so it's
1169 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1170 # to be under dist/ rather than cpan/
4f3a742d 1171 'Thread::Queue' => {
4e75700d 1172 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.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' => {
7432779b 1314 'DISTRIBUTION' => "JDB/Win32-0.49.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;