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