This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[PATCH] Upgrade to threads::shared 1.45
[perl5.git] / Porting / Maintainers.pl
CommitLineData
1f00b0d6 1#!perl
c9fe4ea1
JH
2# A simple listing of core files that have specific maintainers,
3# or at least someone that can be called an "interested party".
4# Also, a "module" does not necessarily mean a CPAN module, it
5# might mean a file or files or a subdirectory.
6# Most (but not all) of the modules have dual lives in the core
97556ec3 7# and in CPAN.
b128a327 8
0cf51544
JH
9package Maintainers;
10
cdad3b53 11use utf8;
9b9b4b79
NC
12use File::Glob qw(:case);
13
2c95b6e4
DM
14# IGNORABLE: files which, if they appear in the root of a CPAN
15# distribution, need not appear in core (i.e. core-cpan-diff won't
16# complain if it can't find them)
17
18@IGNORABLE = qw(
19 .cvsignore .dualLivedDiffConfig .gitignore
20 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
d4e90f16 21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying
01b177dd
CBW
22 cpanfile CREDITS dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE
23 Makefile.PL MANIFEST MANIFEST.SKIP META.json META.yml MYMETA.json
24 MYMETA.yml NEW NOTES perlcritic.rc ppport.h README README.PATCHING
6dab8563 25 SIGNATURE THANKS TODO Todo VERSION WHATSNEW .perlcriticrc.perltidyrc
2c95b6e4
DM
26);
27
e30e10b5 28# Each entry in the %Modules hash roughly represents a distribution,
97556ec3 29# except when DISTRIBUTION is set, where it *exactly* represents a single
e30e10b5
DM
30# CPAN distribution.
31
32# The keys of %Modules are human descriptions of the distributions, and
33# may not exactly match a module or distribution name. Distributions
34# which have an obvious top-level module associated with them will usually
35# have a key named for that module, e.g. 'Archive::Extract' for
36# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
37# on the name of the distribution, e.g. 'Locale-Codes' for
38# Locale-Codes-N.NN.tar.gz'.
d350de41 39
099bebb1
SH
40# UPSTREAM indicates where patches should go. This is generally now
41# inferred from the FILES: modules with files in dist/, ext/ and lib/
42# are understood to have UPSTREAM 'blead', meaning that the copy of the
43# module in the blead sources is to be considered canonical, while
44# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
45# meaning that the module on CPAN is to be patched first.
46
b3dcf775
SH
47# MAINTAINER has previously been used to indicate who the current maintainer
48# of the module is, but this is no longer stated explicitly. It is now
49# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
50# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
501bd44a 51# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.96.tar.gz'.
b3dcf775
SH
52# (PAUSE's View Permissions page may be consulted to find other authors who
53# have owner or co-maint permissions for the module in question.)
d350de41 54
e30e10b5
DM
55# FILES is a list of filenames, glob patterns, and directory
56# names to be recursed down, which collectively generate a complete list
57# of the files associated with the distribution.
58
e1466347
JC
59# BUGS is an email or url to post bug reports. For modules with
60# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
61# appears to automatically provide a URL for CPAN modules; any value
62# given here overrides the default:
63# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
64
a55d270d
DM
65# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
66# included in core are derived from. Note that the file's version may not
67# necessarily match the newest version on CPAN.
68
2c95b6e4
DM
69# EXCLUDED is a list of files to be excluded from a CPAN tarball before
70# comparing the remaining contents with core. Each item can either be a
71# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
72# It defaults to the empty list.
73
d43babf1 74# CUSTOMIZED is a list of files that have been customized within the
24b68a05
DG
75# Perl core. Use this whenever patching a cpan upstream distribution
76# or whenever we expect to have a file that differs from the tarball.
77# If the file in blead matches the file in the tarball from CPAN,
78# Porting/core-cpan-diff will warn about it, as it indicates an expected
fae38280 79# customization might have been lost when updating from upstream. The
f81a37f2
SH
80# path should be relative to the distribution directory. If the upstream
81# distribution should be modified to incorporate the change then be sure
82# to raise a ticket for it on rt.cpan.org and add a comment alongside the
83# list of CUSTOMIZED files noting the ticket number.
d43babf1 84
ab87ca4d
DG
85# DEPRECATED contains the *first* version of Perl in which the module
86# was considered deprecated. It should only be present if the module is
87# actually deprecated. Such modules should use deprecated.pm to
88# issue a warning if used. E.g.:
89#
90# use if $] >= 5.011, 'deprecate';
91#
92
2c95b6e4 93# MAP is a hash that maps CPAN paths to their core equivalents.
47e01c32 94# Each key represents a string prefix, with longest prefixes checked
2c95b6e4
DM
95# first. The first match causes that prefix to be replaced with the
96# corresponding key. For example, with the following MAP:
613f422f 97# {
4f3a742d
DR
98# 'lib/' => 'lib/',
99# '' => 'lib/Foo/',
2c95b6e4
DM
100# },
101#
102# these files are mapped as shown:
103#
104# README becomes lib/Foo/README
613f422f 105# lib/Foo.pm becomes lib/Foo.pm
2c95b6e4
DM
106#
107# The default is dependent on the type of module.
108# For distributions which appear to be stored under ext/, it defaults to:
109#
110# { '' => 'ext/Foo-Bar/' }
111#
112# otherwise, it's
113#
613f422f 114# {
4f3a742d
DR
115# 'lib/' => 'lib/',
116# '' => 'lib/Foo/Bar/',
2c95b6e4
DM
117# }
118
b128a327
JH
119%Modules = (
120
4f3a742d 121 'Archive::Tar' => {
501bd44a 122 'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.96.tar.gz',
4f3a742d 123 'FILES' => q[cpan/Archive-Tar],
4f3a742d
DR
124 'BUGS' => 'bug-archive-tar@rt.cpan.org',
125 },
126
127 'Attribute::Handlers' => {
e9742164 128 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
4f3a742d 129 'FILES' => q[dist/Attribute-Handlers],
4f3a742d
DR
130 },
131
4f3a742d 132 'autodie' => {
ff4ad1c0 133 'DISTRIBUTION' => 'PJF/autodie-2.22.tar.gz',
4f3a742d
DR
134 'FILES' => q[cpan/autodie],
135 'EXCLUDED' => [
273225d4 136 qr{benchmarks},
4f3a742d
DR
137 # All these tests depend upon external
138 # modules that don't exist when we're
139 # building the core. Hence, they can
140 # never run, and should not be merged.
ff4ad1c0
SH
141 qw( t/author-critic.t
142 t/boilerplate.t
4f3a742d
DR
143 t/critic.t
144 t/fork.t
145 t/kwalitee.t
146 t/lex58.t
147 t/pod-coverage.t
148 t/pod.t
273225d4
CBW
149 t/release-pod-coverage.t
150 t/release-pod-syntax.t
4f3a742d
DR
151 t/socket.t
152 t/system.t
153 )
154 ],
a1a6b6b3 155 'CUSTOMIZED' => [
dd9a180e
CB
156 # Waiting to be merged upstream: see CPAN RT#87237
157 qw( t/utf8_open.t ),
a1a6b6b3 158 ],
4f3a742d
DR
159 },
160
161 'AutoLoader' => {
dff36865 162 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
4f3a742d
DR
163 'FILES' => q[cpan/AutoLoader],
164 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
165 },
166
167 'autouse' => {
adac38df 168 'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
4f3a742d
DR
169 'FILES' => q[dist/autouse],
170 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
171 },
172
4f3a742d 173 'B::Debug' => {
b8e5d789 174 'DISTRIBUTION' => 'RURBAN/B-Debug-1.19.tar.gz',
4f3a742d
DR
175 'FILES' => q[cpan/B-Debug],
176 'EXCLUDED' => ['t/pod.t'],
4f3a742d
DR
177 },
178
4f3a742d 179 'base' => {
7af2899e 180 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
4f3a742d 181 'FILES' => q[dist/base],
4f3a742d
DR
182 },
183
4f3a742d 184 'bignum' => {
168d28a2 185 'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
4f3a742d
DR
186 'FILES' => q[dist/bignum],
187 'EXCLUDED' => [
188 qr{^inc/Module/},
189 qw( t/pod.t
190 t/pod_cov.t
191 ),
192 ],
4f3a742d
DR
193 },
194
195 'Carp' => {
cc24d4fc 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.32.tar.gz',
4f3a742d 197 'FILES' => q[dist/Carp],
4f3a742d
DR
198 },
199
200 'CGI' => {
a2b3762a 201 'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.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 ],
4f3a742d
DR
210 },
211
4f3a742d 212 'Compress::Raw::Bzip2' => {
42106a15 213 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.063.tar.gz',
4f3a742d
DR
214 'FILES' => q[cpan/Compress-Raw-Bzip2],
215 'EXCLUDED' => [
216 qr{^t/Test/},
217 'bzip2-src/bzip2-cpp.patch',
218 ],
4f3a742d
DR
219 },
220
221 'Compress::Raw::Zlib' => {
df4abfca 222 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.063.tar.gz',
4f3a742d
DR
223
224 'FILES' => q[cpan/Compress-Raw-Zlib],
225 'EXCLUDED' => [
84c82da4 226 qr{^examples/},
4f3a742d
DR
227 qr{^t/Test/},
228 qw( t/000prereq.t
229 t/99pod.t
230 ),
231 ],
4f3a742d
DR
232 },
233
4b07058c 234 'Config::Perl::V' => {
89e01640 235 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
4b07058c 236 'FILES' => q[cpan/Config-Perl-V],
1fe0c842 237 'EXCLUDED' => ['examples/show-v.pl'],
4b07058c
RS
238 },
239
4f3a742d 240 'constant' => {
e2943784 241 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
4f3a742d
DR
242 'FILES' => q[dist/constant],
243 'EXCLUDED' => [
244 qw( t/00-load.t
245 t/more-tests.t
246 t/pod-coverage.t
247 t/pod.t
248 eg/synopsis.pl
249 ),
250 ],
4f3a742d
DR
251 },
252
253 'CPAN' => {
bfae5bde 254 'DISTRIBUTION' => 'ANDK/CPAN-2.03-TRIAL.tar.gz',
4f3a742d
DR
255 'FILES' => q[cpan/CPAN],
256 'EXCLUDED' => [
257 qr{^distroprefs/},
258 qr{^inc/Test/},
259 qr{^t/CPAN/authors/},
260 qw( lib/CPAN/Admin.pm
6156383d 261 scripts/cpan-mirrors
bfae5bde 262 PAUSE2015.pub
4f3a742d
DR
263 SlayMakefile
264 t/00signature.t
265 t/04clean_load.t
266 t/12cpan.t
267 t/13tarzip.t
268 t/14forkbomb.t
269 t/30shell.coverage
270 t/30shell.t
271 t/31sessions.t
272 t/41distribution.t
273 t/42distroprefs.t
6156383d 274 t/44cpanmeta.t
4f3a742d
DR
275 t/43distroprefspref.t
276 t/50pod.t
277 t/51pod.t
278 t/52podcover.t
279 t/60credentials.t
280 t/70_critic.t
bfae5bde 281 t/71_minimumversion.t
4f3a742d
DR
282 t/CPAN/CpanTestDummies-1.55.pm
283 t/CPAN/TestConfig.pm
284 t/CPAN/TestMirroredBy
285 t/CPAN/TestPatch.txt
286 t/CPAN/modules/02packages.details.txt
287 t/CPAN/modules/03modlist.data
6156383d 288 t/data/META-dynamic.json
4f3a742d 289 t/data/META-dynamic.yml
6156383d 290 t/data/META-static.json
4f3a742d 291 t/data/META-static.yml
6156383d
SH
292 t/data/MYMETA.json
293 t/data/MYMETA.yml
4f3a742d
DR
294 t/local_utils.pm
295 t/perlcriticrc
296 t/yaml_code.yml
297 ),
298 ],
4f3a742d
DR
299 },
300
278337cd
CBW
301 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
302 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
4f3a742d 303 'CPAN::Meta' => {
229563a9 304 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132830.tar.gz',
4f3a742d
DR
305 'FILES' => q[cpan/CPAN-Meta],
306 'EXCLUDED' => [
ecaff076 307 qw(t/00-compile.t),
7f6e6ca2 308 qw[t/00-report-prereqs.t],
229563a9 309 qr{t/README-data.txt},
4f3a742d
DR
310 qr{^xt},
311 qr{^history},
312 ],
4f3a742d
DR
313 },
314
b6ae0ea7 315 'CPAN::Meta::Requirements' => {
56284aa9 316 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz',
b6ae0ea7
CBW
317 'FILES' => q[cpan/CPAN-Meta-Requirements],
318 'EXCLUDED' => [
319 qw(t/00-compile.t),
c4814040 320 qw(t/00-report-prereqs.t),
b6ae0ea7 321 qr{^xt},
b6ae0ea7 322 ],
b6ae0ea7
CBW
323 },
324
4f3a742d 325 'CPAN::Meta::YAML' => {
9c5cc6d5 326 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.010.tar.gz',
4f3a742d
DR
327 'FILES' => q[cpan/CPAN-Meta-YAML],
328 'EXCLUDED' => [
b3100a1d 329 't/00-compile.t',
4f3a742d
DR
330 't/04_scalar.t', # requires YAML.pm
331 qr{^xt},
332 ],
4f3a742d
DR
333 },
334
335 'Data::Dumper' => {
0fcd5a59 336 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
4f3a742d 337 'FILES' => q[dist/Data-Dumper],
4f3a742d
DR
338 },
339
340 'DB_File' => {
c1c1a1b2 341 'DISTRIBUTION' => 'PMQS/DB_File-1.830.tar.gz',
4f3a742d
DR
342 'FILES' => q[cpan/DB_File],
343 'EXCLUDED' => [
344 qr{^patches/},
345 qw( t/pod.t
346 fallback.h
347 fallback.xs
348 ),
349 ],
4f3a742d
DR
350 },
351
4f3a742d 352 'Devel::PPPort' => {
c74cf62f 353 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
099bebb1
SH
354 # RJBS has asked MHX to have UPSTREAM be 'blead'
355 # (i.e. move this from cpan/ to dist/)
4f3a742d 356 'FILES' => q[cpan/Devel-PPPort],
84c82da4
SH
357 'EXCLUDED' => [
358 'PPPort.pm', # we use PPPort_pm.PL instead
359 'README.md',
360 ]
4f3a742d
DR
361 },
362
97b1d6e6 363 'Devel::SelfStubber' => {
97b1d6e6
SH
364 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
365 'FILES' => q[dist/Devel-SelfStubber],
366 'EXCLUDED' => [qr{^t/release-.*\.t}],
97b1d6e6
SH
367 },
368
4f3a742d 369 'Digest' => {
4f3a742d
DR
370 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
371 'FILES' => q[cpan/Digest],
372 'EXCLUDED' => ['digest-bench'],
4f3a742d
DR
373 },
374
375 'Digest::MD5' => {
aeb2a38c 376 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
4f3a742d
DR
377 'FILES' => q[cpan/Digest-MD5],
378 'EXCLUDED' => ['rfc1321.txt'],
4457d8d1 379 # Waiting to be merged upstream: see CPAN RT#89612
8db65552 380 'CUSTOMIZED' => ['t/files.t'],
4f3a742d
DR
381 },
382
383 'Digest::SHA' => {
96d38a9d 384 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.85.tar.gz',
4f3a742d
DR
385 'FILES' => q[cpan/Digest-SHA],
386 'EXCLUDED' => [
387 qw( t/pod.t
388 t/podcover.t
389 examples/dups
390 ),
391 ],
4f3a742d
DR
392 },
393
4f3a742d 394 'Dumpvalue' => {
f6e46c4d 395 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
4f3a742d
DR
396 'FILES' => q[dist/Dumpvalue],
397 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
398 },
399
4f3a742d 400 'Encode' => {
369b9ffe 401 'DISTRIBUTION' => 'DANKOGAI/Encode-2.55.tar.gz',
4f3a742d 402 'FILES' => q[cpan/Encode],
4f3a742d
DR
403 },
404
405 'encoding::warnings' => {
4f3a742d
DR
406 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
407 'FILES' => q[cpan/encoding-warnings],
408 'EXCLUDED' => [
409 qr{^inc/Module/},
94c85d8e 410 qw(t/0-signature.t),
4f3a742d 411 ],
4f3a742d
DR
412 },
413
4f3a742d 414 'Env' => {
126fc07f 415 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
4f3a742d
DR
416 'FILES' => q[dist/Env],
417 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
418 },
419
4f3a742d 420 'Exporter' => {
b5de49e5 421 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
3110a055 422 'FILES' => q[dist/Exporter],
4f3a742d
DR
423 'EXCLUDED' => [
424 qw( t/pod.t
425 t/use.t
426 ),
427 ],
4f3a742d
DR
428 },
429
430 'ExtUtils::CBuilder' => {
a0e78e9f 431 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280212.tar.gz',
4f3a742d 432 'FILES' => q[dist/ExtUtils-CBuilder],
a0e78e9f
SH
433 'EXCLUDED' => [
434 qw(README.mkdn),
435 qr{^xt},
436 ],
4f3a742d
DR
437 },
438
439 'ExtUtils::Command' => {
044aa601 440 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz',
4f3a742d
DR
441 'FILES' => q[dist/ExtUtils-Command],
442 'EXCLUDED' => [qr{^t/release-}],
4f3a742d
DR
443 },
444
445 'ExtUtils::Constant' => {
4f3a742d
DR
446
447 # Nick has confirmed that while we have diverged from CPAN,
448 # this package isn't primarily maintained in core
449 # Another release will happen "Sometime"
450 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
451 'FILES' => q[cpan/ExtUtils-Constant],
452 'EXCLUDED' => [
453 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
454 examples/perl_keyword.pl
455 examples/perl_regcomp_posix_keyword.pl
456 ),
457 ],
4f3a742d
DR
458 },
459
460 'ExtUtils::Install' => {
4f3a742d
DR
461 'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
462 'FILES' => q[dist/ExtUtils-Install],
463 'EXCLUDED' => [
464 qw( t/lib/Test/Builder.pm
465 t/lib/Test/Builder/Module.pm
466 t/lib/Test/More.pm
467 t/lib/Test/Simple.pm
468 t/pod-coverage.t
469 t/pod.t
470 ),
471 ],
4f3a742d
DR
472 },
473
474 'ExtUtils::MakeMaker' => {
6e1d3801 475 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.82.tar.gz',
4f3a742d
DR
476 'FILES' => q[cpan/ExtUtils-MakeMaker],
477 'EXCLUDED' => [
478 qr{^t/lib/Test/},
479 qr{^(bundled|my)/},
480 qr{^t/Liblist_Kid.t},
481 qr{^t/liblist/},
78fd4358 482 qr{^\.perlcriticrc},
84c82da4
SH
483 'PATCHING',
484 'README.packaging',
4f3a742d 485 ],
4f3a742d
DR
486 },
487
488 'ExtUtils::Manifest' => {
6db8f88e 489 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz',
4f3a742d
DR
490 'FILES' => q[dist/ExtUtils-Manifest],
491 'EXCLUDED' => [qr(t/release-.*\.t)],
4f3a742d
DR
492 },
493
494 'ExtUtils::ParseXS' => {
c0bf20e0 495 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.22.tar.gz',
4f3a742d 496 'FILES' => q[dist/ExtUtils-ParseXS],
4f3a742d
DR
497 },
498
4f3a742d 499 'File::Fetch' => {
2900b141 500 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.44.tar.gz',
4f3a742d 501 'FILES' => q[cpan/File-Fetch],
4f3a742d
DR
502 },
503
4f3a742d 504 'File::Path' => {
8f65b4cd 505 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
4f3a742d
DR
506 'FILES' => q[cpan/File-Path],
507 'EXCLUDED' => [
508 qw( eg/setup-extra-tests
509 t/pod.t
510 )
511 ],
512 'MAP' => {
513 '' => 'cpan/File-Path/lib/File/',
514 't/' => 'cpan/File-Path/t/',
515 },
4f3a742d
DR
516 },
517
4f3a742d 518 'File::Temp' => {
3d5f905f 519 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
4f3a742d
DR
520 'FILES' => q[cpan/File-Temp],
521 'EXCLUDED' => [
522 qw( misc/benchmark.pl
523 misc/results.txt
524 ),
814e893f
CBW
525 qw[t/00-report-prereqs.t],
526 qr{^xt},
4f3a742d 527 ],
4f3a742d
DR
528 },
529
4f3a742d 530 'Filter::Simple' => {
c3958279 531 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
4f3a742d
DR
532 'FILES' => q[dist/Filter-Simple],
533 'EXCLUDED' => [
4f3a742d
DR
534 qr{^demo/}
535 ],
4f3a742d
DR
536 },
537
538 'Filter::Util::Call' => {
d8b87a9b 539 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
4f3a742d
DR
540 'FILES' => q[cpan/Filter-Util-Call
541 pod/perlfilter.pod
542 ],
543 'EXCLUDED' => [
544 qr{^decrypt/},
545 qr{^examples/},
546 qr{^Exec/},
547 qr{^lib/Filter/},
548 qr{^tee/},
549 qw( Call/Makefile.PL
550 Call/ppport.h
551 Call/typemap
552 mytest
553 t/cpp.t
554 t/decrypt.t
555 t/exec.t
556 t/order.t
4f3a742d
DR
557 t/sh.t
558 t/tee.t
533d93cc
SH
559 t/z_kwalitee.t
560 t/z_meta.t
561 t/z_perl_minimum_version.t
562 t/z_pod-coverage.t
563 t/z_pod.t
4f3a742d
DR
564 ),
565 ],
566 'MAP' => {
567 'Call/' => 'cpan/Filter-Util-Call/',
568 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
569 'perlfilter.pod' => 'pod/perlfilter.pod',
570 '' => 'cpan/Filter-Util-Call/',
571 },
4f3a742d
DR
572 },
573
4f3a742d 574 'Getopt::Long' => {
7867c822 575 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz',
4f3a742d
DR
576 'FILES' => q[cpan/Getopt-Long],
577 'EXCLUDED' => [
578 qr{^examples/},
579 qw( perl-Getopt-Long.spec
580 lib/newgetopt.pl
974d5816 581 t/gol-compat.t
4f3a742d
DR
582 ),
583 ],
4f3a742d
DR
584 },
585
4f3a742d 586 'HTTP::Tiny' => {
c010de1f 587 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.037.tar.gz',
4f3a742d
DR
588 'FILES' => q[cpan/HTTP-Tiny],
589 'EXCLUDED' => [
4403b774 590 't/00-compile.t',
fcfb9f49 591 't/00-report-prereqs.t',
4f3a742d 592 't/200_live.t',
44347bc3 593 't/200_live_local_ip.t',
fcfb9f49 594 't/210_live_ssl.t',
4f3a742d
DR
595 qr/^eg/,
596 qr/^xt/
597 ],
4f3a742d
DR
598 },
599
600 'I18N::Collate' => {
4f3a742d
DR
601 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
602 'FILES' => q[dist/I18N-Collate],
603 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
604 },
605
4f3a742d 606 'I18N::LangTags' => {
4f3a742d 607 'FILES' => q[dist/I18N-LangTags],
4f3a742d
DR
608 },
609
610 'if' => {
4f3a742d
DR
611 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
612 'FILES' => q[dist/if],
4f3a742d
DR
613 },
614
615 'IO' => {
4f3a742d
DR
616 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
617 'FILES' => q[dist/IO/],
618 'EXCLUDED' => ['t/test.pl'],
4f3a742d
DR
619 },
620
621 'IO-Compress' => {
e5784b74 622 'DISTRIBUTION' => 'PMQS/IO-Compress-2.063.tar.gz',
4f3a742d 623 'FILES' => q[cpan/IO-Compress],
84c82da4
SH
624 'EXCLUDED' => [
625 qr{^examples/},
626 qr{^t/Test/},
627 't/010examples-bzip2.t',
628 't/010examples-zlib.t',
629 't/cz-05examples.t',
630 ],
4f3a742d
DR
631 },
632
633 'IO::Zlib' => {
4f3a742d
DR
634 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
635 'FILES' => q[cpan/IO-Zlib],
4f3a742d
DR
636 },
637
638 'IPC::Cmd' => {
7d88c327 639 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.86.tar.gz',
4f3a742d 640 'FILES' => q[cpan/IPC-Cmd],
4f3a742d
DR
641 },
642
4f3a742d 643 'IPC::SysV' => {
dd0df890 644 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
4f3a742d
DR
645 'FILES' => q[cpan/IPC-SysV],
646 'EXCLUDED' => [
647 qw( const-c.inc
648 const-xs.inc
649 ),
650 ],
4f3a742d
DR
651 },
652
653 'JSON::PP' => {
be08498a 654 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz',
4f3a742d 655 'FILES' => q[cpan/JSON-PP],
4f3a742d
DR
656 },
657
658 'lib' => {
4f3a742d
DR
659 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
660 'FILES' => q[dist/lib/],
661 'EXCLUDED' => [
662 qw( forPAUSE/lib.pm
663 t/00pod.t
664 ),
665 ],
4f3a742d
DR
666 },
667
668 'libnet' => {
07513bb4 669 'DISTRIBUTION' => 'SHAY/libnet-1.23.tar.gz',
4f3a742d
DR
670 'FILES' => q[cpan/libnet],
671 'EXCLUDED' => [
672 qw( Configure
673 install-nomake
4f3a742d 674 ),
84c82da4 675 qr(^demos/),
4f3a742d 676 ],
f81a37f2
SH
677 # Customized for perl since we cannot use either an auto-generated
678 # script or the version in the CPAN distro.
4f3a742d 679 'CUSTOMIZED' => ['Makefile.PL'],
4f3a742d
DR
680 },
681
682 'Locale-Codes' => {
94eda824 683 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.27.tar.gz',
4f3a742d
DR
684 'FILES' => q[cpan/Locale-Codes],
685 'EXCLUDED' => [
84c82da4
SH
686 qw( README.first
687 t/pod_coverage.t
4f3a742d
DR
688 t/pod.t),
689 qr{^t/runtests},
690 qr{^t/runtests\.bat},
691 qr{^internal/},
692 qr{^examples/},
693 ],
4f3a742d
DR
694 },
695
696 'Locale::Maketext' => {
f318c24d 697 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
4f3a742d
DR
698 'FILES' => q[dist/Locale-Maketext],
699 'EXCLUDED' => [
700 qw(
701 perlcriticrc
702 t/00_load.t
703 t/pod.t
704 ),
705 ],
4f3a742d
DR
706 },
707
708 'Locale::Maketext::Simple' => {
4f3a742d
DR
709 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
710 'FILES' => q[cpan/Locale-Maketext-Simple],
4f3a742d
DR
711 },
712
4f3a742d 713 'Math::BigInt' => {
4f3a742d
DR
714 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
715 'FILES' => q[dist/Math-BigInt],
716 'EXCLUDED' => [
717 qr{^inc/},
718 qr{^examples/},
719 qw( t/00sig.t
720 t/01load.t
721 t/02pod.t
722 t/03podcov.t
723 ),
724 ],
4f3a742d
DR
725 },
726
727 'Math::BigInt::FastCalc' => {
4f3a742d
DR
728 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
729 'FILES' => q[dist/Math-BigInt-FastCalc],
730 'EXCLUDED' => [
731 qr{^inc/},
732 qw( t/00sig.t
733 t/01load.t
734 t/02pod.t
735 t/03podcov.t
736 ),
737
738 # instead we use the versions of these test
739 # files that come with Math::BigInt:
740 qw( t/bigfltpm.inc
741 t/bigfltpm.t
742 t/bigintpm.inc
743 t/bigintpm.t
744 t/mbimbf.inc
745 t/mbimbf.t
746 ),
747 ],
4f3a742d
DR
748 },
749
750 'Math::BigRat' => {
4f3a742d
DR
751 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
752 'FILES' => q[dist/Math-BigRat],
753 'EXCLUDED' => [
754 qr{^inc/},
755 qw( t/00sig.t
756 t/01load.t
757 t/02pod.t
758 t/03podcov.t
759 ),
760 ],
4f3a742d
DR
761 },
762
763 'Math::Complex' => {
04ae1553 764 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
4f3a742d
DR
765 'FILES' => q[cpan/Math-Complex],
766 'EXCLUDED' => [
767 qw( t/pod.t
768 t/pod-coverage.t
769 ),
770 ],
4f3a742d
DR
771 },
772
773 'Memoize' => {
8114efa0 774 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
4f3a742d
DR
775 'FILES' => q[cpan/Memoize],
776 'EXCLUDED' => ['article.html'],
4f3a742d
DR
777 },
778
779 'MIME::Base64' => {
43f93048 780 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
4f3a742d
DR
781 'FILES' => q[cpan/MIME-Base64],
782 'EXCLUDED' => ['t/bad-sv.t'],
4f3a742d
DR
783 },
784
785 #
786 # To update Module-Build in blead see
236cbe8d 787 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
4f3a742d 788 #
462ea751 789
4f3a742d 790 'Module::Build' => {
18b2aa6a 791 'DISTRIBUTION' => 'LEONT/Module-Build-0.4200.tar.gz',
4f3a742d
DR
792 'FILES' => q[cpan/Module-Build],
793 'EXCLUDED' => [
794 qw( t/par.t
795 t/signature.t
796 ),
797 qr{^contrib/},
4f3a742d
DR
798 qr{^inc},
799 ],
f81a37f2 800 # Generated file, not part of the CPAN distro:
fae38280 801 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
47369ecd 802 'DEPRECATED' => '5.019000',
4f3a742d
DR
803 },
804
805 'Module::CoreList' => {
bd99d29d 806 'DISTRIBUTION' => 'BINGOS/Module-CoreList-3.00.tar.gz',
4f3a742d 807 'FILES' => q[dist/Module-CoreList],
4f3a742d
DR
808 },
809
810 'Module::Load' => {
ba9b1d71 811 'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
4f3a742d 812 'FILES' => q[cpan/Module-Load],
4f3a742d
DR
813 },
814
815 'Module::Load::Conditional' => {
6c52f6c9 816 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.58.tar.gz',
4f3a742d 817 'FILES' => q[cpan/Module-Load-Conditional],
4f3a742d
DR
818 },
819
820 'Module::Loaded' => {
4f3a742d
DR
821 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
822 'FILES' => q[cpan/Module-Loaded],
4f3a742d
DR
823 },
824
825 'Module::Metadata' => {
d477c82b 826 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz',
4f3a742d
DR
827 'FILES' => q[cpan/Module-Metadata],
828 'EXCLUDED' => [
829 qr{^maint},
830 qr{^xt},
831 ],
4f3a742d
DR
832 },
833
4f3a742d 834 'Net::Ping' => {
4e0aac35 835 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
4f3a742d 836 'FILES' => q[dist/Net-Ping],
4e0aac35
MM
837 'EXCLUDED' => [
838 qr{^.travis.yml},
839 qr{^README.md},
840 ],
4f3a742d
DR
841 },
842
843 'NEXT' => {
4f3a742d
DR
844 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
845 'FILES' => q[cpan/NEXT],
846 'EXCLUDED' => [qr{^demo/}],
4f3a742d
DR
847 },
848
4f3a742d 849 'Package::Constants' => {
348e937b 850 'DISTRIBUTION' => 'BINGOS/Package-Constants-0.04.tar.gz',
4f3a742d 851 'FILES' => q[cpan/Package-Constants],
23b56f29 852 'DEPRECATED' => '5.019006',
4f3a742d
DR
853 },
854
855 'Params::Check' => {
8b21fa03 856 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
4f3a742d 857 'FILES' => q[cpan/Params-Check],
4f3a742d
DR
858 },
859
860 'parent' => {
11100026 861 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz',
4f3a742d 862 'FILES' => q[cpan/parent],
4f3a742d
DR
863 },
864
865 'Parse::CPAN::Meta' => {
7d7e3722 866 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4409.tar.gz',
4f3a742d 867 'FILES' => q[cpan/Parse-CPAN-Meta],
342e4710
CBW
868 'EXCLUDED' => [
869 qw(t/00-compile.t),
870 qw[t/00-report-prereqs.t],
871 qr{^xt},
872 ],
4f3a742d
DR
873 },
874
875 'PathTools' => {
061a8e13 876 'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
4f3a742d
DR
877 'FILES' => q[dist/Cwd],
878 'EXCLUDED' => [qr{^t/lib/Test/}],
4f3a742d
DR
879
880 # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
881 # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
882 # that the leafname of some file corresponds with the pathname of the
883 # directory.
884 },
885
97b1d6e6 886 'Perl::OSType' => {
e9d1f52f 887 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.006.tar.gz',
97b1d6e6 888 'FILES' => q[cpan/Perl-OSType],
765955c0 889 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
97b1d6e6
SH
890 },
891
97b1d6e6 892 'perlfaq' => {
97b1d6e6
SH
893 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz',
894 'FILES' => q[cpan/perlfaq],
895 'EXCLUDED' => [
896 qw( t/release-pod-syntax.t
897 t/release-eol.t
898 t/release-no-tabs.t
899 )
900 ],
97b1d6e6
SH
901 },
902
4f3a742d 903 'PerlIO::via::QuotedPrint' => {
7e286960 904 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
4f3a742d 905 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
f81a37f2
SH
906
907 # Waiting to be merged upstream: see CPAN RT#54047
908 'CUSTOMIZED' => [
909 qw( t/QuotedPrint.t
910 ),
911 ],
912
4f3a742d
DR
913 },
914
0c501878 915 'Pod::Checker' => {
0c501878
CBW
916 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
917 'FILES' => q[cpan/Pod-Checker],
0c501878
CBW
918 },
919
4f3a742d 920 'Pod::Escapes' => {
4f3a742d
DR
921 'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
922 'FILES' => q[cpan/Pod-Escapes],
4f3a742d
DR
923 },
924
4f3a742d 925 'Pod::Parser' => {
9a031c8e 926 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
4f3a742d 927 'FILES' => q[cpan/Pod-Parser],
4f3a742d
DR
928 },
929
930 'Pod::Perldoc' => {
cb1974ba 931 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.20.tar.gz',
00e518b3 932 'FILES' => q[cpan/Pod-Perldoc],
4f3a742d
DR
933
934 # in blead, the perldoc executable is generated by perldoc.PL
935 # instead
936 # XXX We can and should fix this, but clean up the DRY-failure in utils
937 # first
938 'EXCLUDED' => ['perldoc'],
4f3a742d
DR
939 },
940
941 'Pod::Simple' => {
b5ae6e74 942 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
4f3a742d 943 'FILES' => q[cpan/Pod-Simple],
4f3a742d
DR
944 },
945
0c501878 946 'Pod::Usage' => {
2ed39982 947 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
0c501878 948 'FILES' => q[cpan/Pod-Usage],
0c501878
CBW
949 },
950
4f3a742d 951 'podlators' => {
b52cde68 952 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
4f3a742d
DR
953 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
954
955 # The perl distribution has pod2man.PL and pod2text.PL, which are
956 # run to create pod2man and pod2text, while the CPAN distribution
957 # just has the post-generated pod2man and pod2text files.
958 # The following entries attempt to codify that odd fact.
959 'CUSTOMIZED' => [
960 qw( scripts/pod2man.PL
961 scripts/pod2text.PL
4f3a742d
DR
962 ),
963 ],
964 'MAP' => {
965 '' => 'cpan/podlators/',
966 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL',
967 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
968
969 # this file lives outside the cpan/ directory
970 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
971 },
4f3a742d
DR
972 },
973
4f3a742d 974 'Safe' => {
e739c653 975 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
4f3a742d 976 'FILES' => q[dist/Safe],
4f3a742d
DR
977 },
978
979 'Scalar-List-Utils' => {
98eca5fa 980 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.35.tar.gz',
4f3a742d 981 'FILES' => q[cpan/List-Util],
4f3a742d
DR
982 },
983
4f3a742d 984 'Search::Dict' => {
0b0a7092 985 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
4f3a742d 986 'FILES' => q[dist/Search-Dict],
4f3a742d
DR
987 },
988
989 'SelfLoader' => {
c3958279 990 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
4f3a742d
DR
991 'FILES' => q[dist/SelfLoader],
992 'EXCLUDED' => ['t/00pod.t'],
4f3a742d
DR
993 },
994
4f3a742d 995 'Socket' => {
538c5178 996 'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz',
4f3a742d 997 'FILES' => q[cpan/Socket],
4f3a742d
DR
998 },
999
1000 'Storable' => {
8371a44d 1001 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
4f3a742d 1002 'FILES' => q[dist/Storable],
4f3a742d
DR
1003 },
1004
4f3a742d 1005 'Sys::Syslog' => {
848ca32c 1006 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
4f3a742d
DR
1007 'FILES' => q[cpan/Sys-Syslog],
1008 'EXCLUDED' => [
1009 qr{^eg/},
84c82da4
SH
1010 qw( README.win32
1011 t/data-validation.t
4f3a742d
DR
1012 t/distchk.t
1013 t/pod.t
1014 t/podcover.t
1015 t/podspell.t
1016 t/portfs.t
1017 win32/PerlLog.RES
4f3a742d
DR
1018 ),
1019 ],
4f3a742d
DR
1020 },
1021
1022 'Term::ANSIColor' => {
522ce57f 1023 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
4f3a742d
DR
1024 'FILES' => q[cpan/Term-ANSIColor],
1025 'EXCLUDED' => [
92f80b37
CBW
1026 qr{^examples/},
1027 qr{^t/data/},
1028 qw( t/aliases-env.t
1029 t/critic.t
1030 t/minimum-version.t
1031 t/pod-spelling.t
1032 t/pod-coverage.t
4f3a742d 1033 t/pod.t
92f80b37
CBW
1034 t/strict.t
1035 t/synopsis.t
4f3a742d
DR
1036 ),
1037 ],
4f3a742d
DR
1038 },
1039
1040 'Term::Cap' => {
63dc8a94 1041 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz',
4f3a742d 1042 'FILES' => q[cpan/Term-Cap],
4f3a742d
DR
1043 },
1044
1045 'Term::Complete' => {
4f3a742d
DR
1046 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1047 'FILES' => q[dist/Term-Complete],
1048 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1049 },
1050
1051 'Term::ReadLine' => {
75ad3638 1052 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
4f3a742d
DR
1053 'FILES' => q[dist/Term-ReadLine],
1054 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1055 },
1056
4f3a742d 1057 'Test' => {
1c22e001 1058 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
4f3a742d 1059 'FILES' => q[cpan/Test],
4f3a742d
DR
1060 },
1061
1062 'Test::Harness' => {
406e3fef 1063 'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz',
4f3a742d
DR
1064 'FILES' => q[cpan/Test-Harness],
1065 'EXCLUDED' => [
1066 qr{^examples/},
1067 qr{^inc/},
1068 qr{^t/lib/Test/},
1069 qr{^xt/},
1070 qw( Changes-2.64
8db65552 1071 MANIFEST.CUMMULATIVE
4f3a742d
DR
1072 NotBuild.PL
1073 HACKING.pod
1074 perlcriticrc
8db65552 1075 t/000-load.t
4f3a742d
DR
1076 t/lib/if.pm
1077 ),
1078 ],
4f3a742d
DR
1079 },
1080
1081 'Test::Simple' => {
6dab8563 1082 'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz',
4f3a742d
DR
1083 'FILES' => q[cpan/Test-Simple],
1084 'EXCLUDED' => [
6dab8563 1085 qr{^t/xt},
4f3a742d
DR
1086 qw( .perlcriticrc
1087 .perltidyrc
84c82da4
SH
1088 examples/indent.pl
1089 examples/subtest.t
4f3a742d
DR
1090 t/00compile.t
1091 t/pod.t
1092 t/pod-coverage.t
1093 t/Builder/reset_outputs.t
1094 lib/Test/Builder/IO/Scalar.pm
1095 ),
1096 ],
4f3a742d
DR
1097 },
1098
1099 'Text::Abbrev' => {
5e96eee9 1100 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
4f3a742d
DR
1101 'FILES' => q[dist/Text-Abbrev],
1102 'EXCLUDED' => [qr{^t/release-.*\.t}],
4f3a742d
DR
1103 },
1104
1105 'Text::Balanced' => {
4f3a742d
DR
1106 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1107 'FILES' => q[cpan/Text-Balanced],
1108 'EXCLUDED' => [
1109 qw( t/97_meta.t
1110 t/98_pod.t
1111 t/99_pmv.t
1112 ),
1113 ],
f81a37f2
SH
1114
1115 # Waiting to be merged upstream: see CPAN RT#87788
b5d178c9
SH
1116 'CUSTOMIZED' => [
1117 qw( t/01_compile.t
1118 t/02_extbrk.t
1119 t/03_extcbk.t
1120 t/04_extdel.t
1121 t/05_extmul.t
1122 t/06_extqlk.t
1123 t/07_exttag.t
1124 t/08_extvar.t
1125 t/09_gentag.t
1126 ),
1127 ],
f81a37f2 1128
4f3a742d
DR
1129 },
1130
1131 'Text::ParseWords' => {
33954ec3 1132 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
4f3a742d 1133 'FILES' => q[cpan/Text-ParseWords],
4f3a742d 1134
f81a37f2
SH
1135 # Waiting to be merged upstream: see CPAN RT#50929
1136 'CUSTOMIZED' => [
1137 qw( t/ParseWords.t
1138 t/taint.t
1139 ),
1140 ],
1141
4f3a742d
DR
1142 # For the benefit of make_ext.pl, we have to have this accessible:
1143 'MAP' => {
1144 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1145 '' => 'cpan/Text-ParseWords/',
1146 },
4f3a742d
DR
1147 },
1148
4f3a742d 1149 'Text-Tabs+Wrap' => {
83aea42c 1150 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
4f3a742d 1151 'FILES' => q[cpan/Text-Tabs],
e7b92d54
SH
1152 'EXCLUDED' => [
1153 qr/^lib\.old/,
1154 't/dnsparks.t', # see af6492bf9e
4f3a742d 1155 ],
e7b92d54
SH
1156 'MAP' => {
1157 '' => 'cpan/Text-Tabs/',
ab2a3ce2
SH
1158 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1159 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
e7b92d54 1160 },
4f3a742d
DR
1161 },
1162
1163 'Thread::Queue' => {
c7bac10a 1164 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
4f3a742d
DR
1165 'FILES' => q[dist/Thread-Queue],
1166 'EXCLUDED' => [
1fd4700e
JH
1167 qr{^examples/},
1168 qw( t/00_load.t
4f3a742d
DR
1169 t/99_pod.t
1170 t/test.pl
1171 ),
1172 ],
4f3a742d
DR
1173 },
1174
1175 'Thread::Semaphore' => {
4f3a742d
DR
1176 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1177 'FILES' => q[dist/Thread-Semaphore],
1178 'EXCLUDED' => [
1179 qw( examples/semaphore.pl
1180 t/00_load.t
1181 t/99_pod.t
1182 t/test.pl
1183 ),
1184 ],
4f3a742d
DR
1185 },
1186
1187 'threads' => {
6d76e7fc 1188 'DISTRIBUTION' => 'JDHEDDEN/threads-1.89.tar.gz',
4f3a742d
DR
1189 'FILES' => q[dist/threads],
1190 'EXCLUDED' => [
1191 qr{^examples/},
1192 qw( t/pod.t
1193 t/test.pl
1194 threads.h
1195 ),
1196 ],
4f3a742d
DR
1197 },
1198
1199 'threads::shared' => {
4a557207 1200 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.45.tar.gz',
4f3a742d
DR
1201 'FILES' => q[dist/threads-shared],
1202 'EXCLUDED' => [
1203 qw( examples/class.pl
1204 shared.h
1205 t/pod.t
1206 t/test.pl
1207 ),
1208 ],
4f3a742d
DR
1209 },
1210
1211 'Tie::File' => {
c0504019
TR
1212 'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1213 'FILES' => q[dist/Tie-File],
4f3a742d
DR
1214 },
1215
4f3a742d 1216 'Tie::RefHash' => {
4f3a742d
DR
1217 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1218 'FILES' => q[cpan/Tie-RefHash],
4f3a742d
DR
1219 },
1220
1221 'Time::HiRes' => {
0f0eae2c 1222 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
4f3a742d 1223 'FILES' => q[cpan/Time-HiRes],
4f3a742d
DR
1224 },
1225
1226 'Time::Local' => {
62e824cf 1227 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
4f3a742d
DR
1228 'FILES' => q[cpan/Time-Local],
1229 'EXCLUDED' => [
62e824cf 1230 qr{^t/release-.*\.t},
4f3a742d 1231 ],
4f3a742d
DR
1232 },
1233
1234 'Time::Piece' => {
9bc7f50b 1235 'DISTRIBUTION' => 'RJBS/Time-Piece-1.23.tar.gz',
4f3a742d 1236 'FILES' => q[cpan/Time-Piece],
4f3a742d
DR
1237 },
1238
1239 'Unicode::Collate' => {
8c1c815e 1240 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.02.tar.gz',
4f3a742d
DR
1241 'FILES' => q[cpan/Unicode-Collate],
1242 'EXCLUDED' => [
1243 qr{N$},
1244 qr{^data/},
1245 qr{^gendata/},
1246 qw( disableXS
1247 enableXS
1248 mklocale
1249 ),
1250 ],
4f3a742d
DR
1251 },
1252
1253 'Unicode::Normalize' => {
65e3945f 1254 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz',
4f3a742d
DR
1255 'FILES' => q[cpan/Unicode-Normalize],
1256 'EXCLUDED' => [
1257 qw( MANIFEST.N
1258 Normalize.pmN
1259 disableXS
1260 enableXS
1261 ),
1262 ],
4f3a742d
DR
1263 },
1264
4f3a742d 1265 'version' => {
5565c738 1266 'DISTRIBUTION' => 'JPEACOCK/version-0.9904.tar.gz',
fb794281 1267 'FILES' => q[cpan/version],
4f3a742d 1268 'EXCLUDED' => [
4f3a742d
DR
1269 qr{^vutil/},
1270 'lib/version/typemap',
1271 't/survey_locales',
1272 'vperl/vpp.pm',
1273 ],
f81a37f2
SH
1274
1275 # Waiting to be merged upstream: see CPAN RT#87513
1276 'CUSTOMIZED' => [
1277 qw( lib/version.pm
f81a37f2 1278 t/07locale.t
5565c738 1279 t/08_corelist.t
f81a37f2
SH
1280 ),
1281 ],
1282
099bebb1 1283 # Remove this (so it reverts to 'cpan') when [cpan #88458] is resolved
631e7974 1284 'UPSTREAM' => 'blead',
4f3a742d
DR
1285 },
1286
4f3a742d 1287 'warnings' => {
099bebb1 1288 'FILES' => q[
4f3a742d 1289 lib/warnings
099bebb1
SH
1290 lib/warnings.{pm,t}
1291 regen/warnings.pl
4f3a742d 1292 t/lib/warnings
099bebb1 1293 ],
4f3a742d
DR
1294 },
1295
4f3a742d 1296 'Win32' => {
7772d855 1297 'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
4f3a742d 1298 'FILES' => q[cpan/Win32],
4f3a742d
DR
1299 },
1300
1301 'Win32API::File' => {
113b1f2c 1302 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
4f3a742d
DR
1303 'FILES' => q[cpan/Win32API-File],
1304 'EXCLUDED' => [
1305 qr{^ex/},
1306 't/pod.t',
1307 ],
4f3a742d
DR
1308 },
1309
4f3a742d 1310 'XSLoader' => {
681a49bf 1311 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
4f3a742d
DR
1312 'FILES' => q[dist/XSLoader],
1313 'EXCLUDED' => [
1314 qr{^eg/},
57f9caa0
SH
1315 qw( t/00-load.t
1316 t/01-api.t
1317 t/distchk.t
1318 t/pod.t
4f3a742d
DR
1319 t/podcover.t
1320 t/portfs.t
1321 ),
1322 'XSLoader.pm', # we use XSLoader_pm.PL
1323 ],
4f3a742d
DR
1324 },
1325
462ea751
DM
1326 # this pseudo-module represents all the files under ext/ and lib/
1327 # that aren't otherwise claimed. This means that the following two
1328 # commands will check that every file under ext/ and lib/ is
1329 # accounted for, and that there are no duplicates:
1330 #
1331 # perl Porting/Maintainers --checkmani lib ext
d8ada404 1332 # perl Porting/Maintainers --checkmani
462ea751 1333
4f3a742d 1334 '_PERLLIB' => {
2af3c4b9 1335 'FILES' => q[
09213599 1336 ext/B/
2af3c4b9
SH
1337 ext/Devel-Peek/
1338 ext/DynaLoader/
1339 ext/Errno/
7b4d95f7 1340 ext/ExtUtils-Miniperl/
2af3c4b9
SH
1341 ext/Fcntl/
1342 ext/File-DosGlob/
1343 ext/File-Find/
1344 ext/File-Glob/
1345 ext/FileCache/
1346 ext/GDBM_File/
1347 ext/Hash-Util-FieldHash/
1348 ext/Hash-Util/
1349 ext/I18N-Langinfo/
1350 ext/IPC-Open3/
1351 ext/NDBM_File/
1352 ext/ODBM_File/
1353 ext/Opcode/
1354 ext/POSIX/
1355 ext/PerlIO-encoding/
1356 ext/PerlIO-mmap/
1357 ext/PerlIO-scalar/
1358 ext/PerlIO-via/
1359 ext/Pod-Functions/
1360 ext/Pod-Html/
1361 ext/SDBM_File/
1362 ext/Sys-Hostname/
1363 ext/Tie-Hash-NamedCapture/
1364 ext/Tie-Memoize/
b3dcf775 1365 ext/VMS-DCLsym/
2af3c4b9 1366 ext/VMS-Filespec/
b3dcf775
SH
1367 ext/VMS-Stdio/
1368 ext/Win32CORE/
4f3a742d 1369 ext/XS-APItest/
2af3c4b9
SH
1370 ext/XS-Typemap/
1371 ext/arybase/
1372 ext/attributes/
1373 ext/mro/
1374 ext/re/
1375 lib/AnyDBM_File.{pm,t}
1376 lib/Benchmark.{pm,t}
7263d211 1377 lib/B/Deparse{.pm,.t,-core.t}
4f3a742d 1378 lib/CORE.pod
2af3c4b9 1379 lib/Class/Struct.{pm,t}
4f3a742d
DR
1380 lib/Config.t
1381 lib/Config/Extensions.{pm,t}
1382 lib/DB.{pm,t}
2af3c4b9
SH
1383 lib/DBM_Filter.pm
1384 lib/DBM_Filter/
1385 lib/DirHandle.{pm,t}
1386 lib/English.{pm,t}
4f3a742d
DR
1387 lib/ExtUtils/Embed.pm
1388 lib/ExtUtils/XSSymSet.pm
1389 lib/ExtUtils/t/Embed.t
1390 lib/ExtUtils/typemap
2af3c4b9
SH
1391 lib/File/Basename.{pm,t}
1392 lib/File/Compare.{pm,t}
1393 lib/File/Copy.{pm,t}
1394 lib/File/stat{.pm,.t,-7896.t}
1395 lib/FileHandle.{pm,t}
1396 lib/FindBin.{pm,t}
1397 lib/Getopt/Std.{pm,t}
4f3a742d
DR
1398 lib/Internals.t
1399 lib/Net/hostent.{pm,t}
1400 lib/Net/netent.{pm,t}
1401 lib/Net/protoent.{pm,t}
1402 lib/Net/servent.{pm,t}
2af3c4b9 1403 lib/PerlIO.pm
4f3a742d
DR
1404 lib/Pod/t/InputObjects.t
1405 lib/Pod/t/Select.t
1406 lib/Pod/t/Usage.t
4f3a742d
DR
1407 lib/Pod/t/utils.t
1408 lib/SelectSaver.{pm,t}
1409 lib/Symbol.{pm,t}
1410 lib/Thread.{pm,t}
1411 lib/Tie/Array.pm
1412 lib/Tie/Array/
1413 lib/Tie/ExtraHash.t
1414 lib/Tie/Handle.pm
1415 lib/Tie/Handle/
2af3c4b9 1416 lib/Tie/Hash.{pm,t}
4f3a742d
DR
1417 lib/Tie/Scalar.{pm,t}
1418 lib/Tie/StdHandle.pm
1419 lib/Tie/SubstrHash.{pm,t}
1420 lib/Time/gmtime.{pm,t}
1421 lib/Time/localtime.{pm,t}
1422 lib/Time/tm.pm
1423 lib/UNIVERSAL.pm
1424 lib/Unicode/README
2af3c4b9 1425 lib/Unicode/UCD.{pm,t}
4f3a742d
DR
1426 lib/User/grent.{pm,t}
1427 lib/User/pwent.{pm,t}
2af3c4b9 1428 lib/_charnames.pm
4f3a742d
DR
1429 lib/blib.{pm,t}
1430 lib/bytes.{pm,t}
1431 lib/bytes_heavy.pl
1432 lib/charnames.{pm,t}
1433 lib/dbm_filter_util.pl
1434 lib/deprecate.pm
2af3c4b9 1435 lib/diagnostics.{pm,t}
4f3a742d
DR
1436 lib/dumpvar.{pl,t}
1437 lib/feature.{pm,t}
1438 lib/feature/
1439 lib/filetest.{pm,t}
1440 lib/h2ph.t
1441 lib/h2xs.t
1442 lib/integer.{pm,t}
1443 lib/less.{pm,t}
1444 lib/locale.{pm,t}
1445 lib/open.{pm,t}
1446 lib/overload/numbers.pm
1447 lib/overloading.{pm,t}
2af3c4b9 1448 lib/overload{.pm,.t,64.t}
4f3a742d
DR
1449 lib/perl5db.{pl,t}
1450 lib/perl5db/
2af3c4b9 1451 lib/sigtrap.{pm,t}
4f3a742d
DR
1452 lib/sort.{pm,t}
1453 lib/strict.{pm,t}
1454 lib/subs.{pm,t}
1455 lib/unicore/
1456 lib/utf8.{pm,t}
1457 lib/utf8_heavy.pl
1458 lib/vars{.pm,.t,_carp.t}
1459 lib/vmsish.{pm,t}
1460 ],
4f3a742d 1461 },
462ea751 1462);
b128a327 1463
97556ec3 1464# legacy CPAN flag
4f3a742d 1465for ( values %Modules ) {
97556ec3
GA
1466 $_->{CPAN} = !!$_->{DISTRIBUTION};
1467}
1468
099bebb1
SH
1469# legacy UPSTREAM flag
1470for ( keys %Modules ) {
1471 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1472 next if exists $Modules{$_}{UPSTREAM};
1473
1474 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1475 $Modules{$_}{UPSTREAM} = 'blead';
1476 }
1477 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1478 $Modules{$_}{UPSTREAM} = 'cpan';
1479 }
1480 else {
1481 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1482 }
1483}
1484
d350de41 1485# legacy MAINTAINER field
099bebb1 1486for ( keys %Modules ) {
b3dcf775 1487 # Keep any existing MAINTAINER flag so that "overrides" can be applied
099bebb1
SH
1488 next if exists $Modules{$_}{MAINTAINER};
1489
1490 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1491 $Modules{$_}{MAINTAINER} = 'P5P';
872818ae 1492 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
d350de41 1493 }
099bebb1
SH
1494 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1495 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1496 $Modules{$_}{MAINTAINER} = $pause_id;
d350de41
SH
1497 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1498 }
099bebb1
SH
1499 else {
1500 warn "No DISTRIBUTION for non-blead module $_";
1501 }
d350de41
SH
1502}
1503
b128a327 15041;