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