This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump Locale-Codes from 3.40 to 3.42
[perl5.git] / Porting / Maintainers.pl
... / ...
CommitLineData
1#!perl
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
7# and in CPAN.
8
9package Maintainers;
10
11use utf8;
12use File::Glob qw(:case);
13
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 .perlcriticrc .perltidyrc
20 .travis.yml ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING CONTRIBUTING.md
22 CONTRIBUTING.mkdn COPYING Copying cpanfile CREDITS dist.ini GOALS HISTORY
23 INSTALL INSTALL.SKIP LICENCE LICENSE Makefile.PL MANIFEST MANIFEST.SKIP
24 META.json META.yml MYMETA.json MYMETA.yml NEW NEWS NOTES perlcritic.rc
25 ppport.h README README.md README.pod README.PATCHING SIGNATURE THANKS TODO
26 Todo VERSION WHATSNEW
27);
28
29# Each entry in the %Modules hash roughly represents a distribution,
30# except when DISTRIBUTION is set, where it *exactly* represents a single
31# CPAN distribution.
32
33# The keys of %Modules are human descriptions of the distributions, and
34# may not exactly match a module or distribution name. Distributions
35# which have an obvious top-level module associated with them will usually
36# have a key named for that module, e.g. 'Archive::Extract' for
37# Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
38# on the name of the distribution, e.g. 'Locale-Codes' for
39# Locale-Codes-N.NN.tar.gz'.
40
41# UPSTREAM indicates where patches should go. This is generally now
42# inferred from the FILES: modules with files in dist/, ext/ and lib/
43# are understood to have UPSTREAM 'blead', meaning that the copy of the
44# module in the blead sources is to be considered canonical, while
45# modules with files in cpan/ are understood to have UPSTREAM 'cpan',
46# meaning that the module on CPAN is to be patched first.
47
48# MAINTAINER has previously been used to indicate who the current maintainer
49# of the module is, but this is no longer stated explicitly. It is now
50# understood to be either the Perl 5 Porters if UPSTREAM is 'blead', or else
51# the CPAN author whose PAUSE user ID forms the first part of the DISTRIBUTION
52# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-2.00.tar.gz'.
53# (PAUSE's View Permissions page may be consulted to find other authors who
54# have owner or co-maint permissions for the module in question.)
55
56# FILES is a list of filenames, glob patterns, and directory
57# names to be recursed down, which collectively generate a complete list
58# of the files associated with the distribution.
59
60# BUGS is an email or url to post bug reports. For modules with
61# UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
62# appears to automatically provide a URL for CPAN modules; any value
63# given here overrides the default:
64# http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
65
66# DISTRIBUTION names the tarball on CPAN which (allegedly) the files
67# included in core are derived from. Note that the file's version may not
68# necessarily match the newest version on CPAN.
69
70# EXCLUDED is a list of files to be excluded from a CPAN tarball before
71# comparing the remaining contents with core. Each item can either be a
72# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
73# It defaults to the empty list.
74
75# CUSTOMIZED is a list of files that have been customized within the
76# Perl core. Use this whenever patching a cpan upstream distribution
77# or whenever we expect to have a file that differs from the tarball.
78# If the file in blead matches the file in the tarball from CPAN,
79# Porting/core-cpan-diff will warn about it, as it indicates an expected
80# customization might have been lost when updating from upstream. The
81# path should be relative to the distribution directory. If the upstream
82# distribution should be modified to incorporate the change then be sure
83# to raise a ticket for it on rt.cpan.org and add a comment alongside the
84# list of CUSTOMIZED files noting the ticket number.
85
86# DEPRECATED contains the *first* version of Perl in which the module
87# was considered deprecated. It should only be present if the module is
88# actually deprecated. Such modules should use deprecated.pm to
89# issue a warning if used. E.g.:
90#
91# use if $] >= 5.011, 'deprecate';
92#
93
94# MAP is a hash that maps CPAN paths to their core equivalents.
95# Each key represents a string prefix, with longest prefixes checked
96# first. The first match causes that prefix to be replaced with the
97# corresponding key. For example, with the following MAP:
98# {
99# 'lib/' => 'lib/',
100# '' => 'lib/Foo/',
101# },
102#
103# these files are mapped as shown:
104#
105# README becomes lib/Foo/README
106# lib/Foo.pm becomes lib/Foo.pm
107#
108# The default is dependent on the type of module.
109# For distributions which appear to be stored under ext/, it defaults to:
110#
111# { '' => 'ext/Foo-Bar/' }
112#
113# otherwise, it's
114#
115# {
116# 'lib/' => 'lib/',
117# '' => 'lib/Foo/Bar/',
118# }
119
120%Modules = (
121
122 'Archive::Tar' => {
123 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.18.tar.gz',
124 'FILES' => q[cpan/Archive-Tar],
125 'BUGS' => 'bug-archive-tar@rt.cpan.org',
126 'EXCLUDED' => [
127 qw(t/07_ptardiff.t),
128 ],
129 },
130
131 'Attribute::Handlers' => {
132 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz',
133 'FILES' => q[dist/Attribute-Handlers],
134 },
135
136 'autodie' => {
137 'DISTRIBUTION' => 'PJF/autodie-2.29.tar.gz',
138 'FILES' => q[cpan/autodie],
139 'EXCLUDED' => [
140 qr{benchmarks},
141 qr{README\.md},
142 # All these tests depend upon external
143 # modules that don't exist when we're
144 # building the core. Hence, they can
145 # never run, and should not be merged.
146 qw( t/author-critic.t
147 t/critic.t
148 t/fork.t
149 t/kwalitee.t
150 t/lex58.t
151 t/pod-coverage.t
152 t/pod.t
153 t/release-pod-coverage.t
154 t/release-pod-syntax.t
155 t/socket.t
156 t/system.t
157 )
158 ],
159 # CPAN RT 105344
160 'CUSTOMIZED' => [ qw[ t/mkdir.t ] ],
161 },
162
163 'AutoLoader' => {
164 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz',
165 'FILES' => q[cpan/AutoLoader],
166 'EXCLUDED' => ['t/00pod.t'],
167 },
168
169 'autouse' => {
170 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz',
171 'FILES' => q[dist/autouse],
172 'EXCLUDED' => [qr{^t/release-.*\.t}],
173 },
174
175 'B::Debug' => {
176 'DISTRIBUTION' => 'RURBAN/B-Debug-1.23.tar.gz',
177 'FILES' => q[cpan/B-Debug],
178 'EXCLUDED' => ['t/pod.t'],
179 },
180
181 'base' => {
182 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz',
183 'FILES' => q[dist/base],
184 'CUSTOMIZED' => [
185 # https://rt.perl.org/Ticket/Display.html?id=127834
186 qw( lib/base.pm )
187 ],
188 },
189
190 'bignum' => {
191 'DISTRIBUTION' => 'PJACKLAM/bignum-0.44.tar.gz',
192 'FILES' => q[cpan/bignum],
193 'EXCLUDED' => [
194 qr{^inc/Module/},
195 qr{^t/author-},
196 qw( t/00sig.t
197 t/01load.t
198 t/02pod.t
199 t/03podcov.t
200 ),
201 ],
202 },
203
204 'Carp' => {
205 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz',
206 'FILES' => q[dist/Carp],
207 },
208
209 'Compress::Raw::Bzip2' => {
210 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.069.tar.gz',
211 'FILES' => q[cpan/Compress-Raw-Bzip2],
212 'EXCLUDED' => [
213 qr{^t/Test/},
214 'bzip2-src/bzip2-const.patch',
215 'bzip2-src/bzip2-cpp.patch',
216 'bzip2-src/bzip2-unsigned.patch',
217 ],
218 },
219
220 'Compress::Raw::Zlib' => {
221 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.069.tar.gz',
222
223 'FILES' => q[cpan/Compress-Raw-Zlib],
224 'EXCLUDED' => [
225 qr{^examples/},
226 qr{^t/Test/},
227 qw( t/000prereq.t
228 t/99pod.t
229 ),
230 ],
231 },
232
233 'Config::Perl::V' => {
234 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.27.tgz',
235 'FILES' => q[cpan/Config-Perl-V],
236 'EXCLUDED' => [qw(
237 examples/show-v.pl
238 )],
239 },
240
241 'constant' => {
242 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz',
243 'FILES' => q[dist/constant],
244 'EXCLUDED' => [
245 qw( t/00-load.t
246 t/more-tests.t
247 t/pod-coverage.t
248 t/pod.t
249 eg/synopsis.pl
250 ),
251 ],
252 },
253
254 'CPAN' => {
255 'DISTRIBUTION' => 'ANDK/CPAN-2.14.tar.gz',
256 'FILES' => q[cpan/CPAN],
257 'EXCLUDED' => [
258 qr{^distroprefs/},
259 qr{^inc/Test/},
260 qr{^t/CPAN/},
261 qr{^t/data/},
262 qr{^t/97-},
263 qw( lib/CPAN/Admin.pm
264 scripts/cpan-mirrors
265 PAUSE2015.pub
266 SlayMakefile
267 t/00signature.t
268 t/04clean_load.t
269 t/12cpan.t
270 t/13tarzip.t
271 t/14forkbomb.t
272 t/30shell.coverage
273 t/30shell.t
274 t/31sessions.t
275 t/41distribution.t
276 t/42distroprefs.t
277 t/43distroprefspref.t
278 t/44cpanmeta.t
279 t/50pod.t
280 t/51pod.t
281 t/52podcover.t
282 t/60credentials.t
283 t/70_critic.t
284 t/71_minimumversion.t
285 t/local_utils.pm
286 t/perlcriticrc
287 t/yaml_code.yml
288 ),
289 ],
290 'CUSTOMIZED' => [
291 # CVE-2016-1238
292 qw(
293 lib/App/Cpan.pm lib/CPAN.pm scripts/cpan
294 )
295 ],
296 },
297
298 # Note: When updating CPAN-Meta the META.* files will need to be regenerated
299 # perl -Icpan/CPAN-Meta/lib Porting/makemeta
300 'CPAN::Meta' => {
301 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz',
302 'FILES' => q[cpan/CPAN-Meta],
303 'EXCLUDED' => [
304 qw[t/00-report-prereqs.t
305 t/00-report-prereqs.dd
306 ],
307 qr{^xt},
308 qr{^history},
309 ],
310 },
311
312 'CPAN::Meta::Requirements' => {
313 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz',
314 'FILES' => q[cpan/CPAN-Meta-Requirements],
315 'EXCLUDED' => [
316 qw(t/00-report-prereqs.t),
317 qw(t/00-report-prereqs.dd),
318 qw(t/version-cleanup.t),
319 qr{^xt},
320 ],
321 },
322
323 'CPAN::Meta::YAML' => {
324 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz',
325 'FILES' => q[cpan/CPAN-Meta-YAML],
326 'EXCLUDED' => [
327 't/00-report-prereqs.t',
328 't/00-report-prereqs.dd',
329 qr{^xt},
330 ],
331 },
332
333 'Data::Dumper' => {
334 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.161.tar.gz',
335 'FILES' => q[dist/Data-Dumper],
336 },
337
338 'DB_File' => {
339 'DISTRIBUTION' => 'PMQS/DB_File-1.838.tar.gz',
340 'FILES' => q[cpan/DB_File],
341 'EXCLUDED' => [
342 qr{^patches/},
343 qw( t/pod.t
344 fallback.h
345 fallback.xs
346 ),
347 ],
348 },
349
350 'Devel::PPPort' => {
351 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.35.tar.gz',
352 # RJBS has asked MHX to have UPSTREAM be 'blead'
353 # (i.e. move this from cpan/ to dist/)
354 'FILES' => q[cpan/Devel-PPPort],
355 'EXCLUDED' => [
356 'PPPort.pm', # we use PPPort_pm.PL instead
357 ]
358 },
359
360 'Devel::SelfStubber' => {
361 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
362 'FILES' => q[dist/Devel-SelfStubber],
363 'EXCLUDED' => [qr{^t/release-.*\.t}],
364 },
365
366 'Digest' => {
367 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
368 'FILES' => q[cpan/Digest],
369 'EXCLUDED' => ['digest-bench'],
370 'CUSTOMIZED' => [
371 # CVE-2016-1238
372 qw( Digest.pm )
373 ],
374 },
375
376 'Digest::MD5' => {
377 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz',
378 'FILES' => q[cpan/Digest-MD5],
379 'EXCLUDED' => ['rfc1321.txt'],
380 },
381
382 'Digest::SHA' => {
383 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.96.tar.gz',
384 'FILES' => q[cpan/Digest-SHA],
385 'EXCLUDED' => [
386 qw( t/pod.t
387 t/podcover.t
388 examples/dups
389 ),
390 ],
391 },
392
393 'Dumpvalue' => {
394 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
395 'FILES' => q[dist/Dumpvalue],
396 'EXCLUDED' => [qr{^t/release-.*\.t}],
397 },
398
399 'Encode' => {
400 'DISTRIBUTION' => 'DANKOGAI/Encode-2.88.tar.gz',
401 'FILES' => q[cpan/Encode],
402 'CUSTOMIZED' => [ qw(Unicode/Unicode.pm) ],
403 },
404
405 'encoding::warnings' => {
406 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
407 'FILES' => q[dist/encoding-warnings],
408 'EXCLUDED' => [
409 qr{^inc/Module/},
410 qw(t/0-signature.t),
411 ],
412 },
413
414 'Env' => {
415 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
416 'FILES' => q[dist/Env],
417 'EXCLUDED' => [qr{^t/release-.*\.t}],
418 },
419
420 'experimental' => {
421 'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
422 'FILES' => q[cpan/experimental],
423 'EXCLUDED' => [qr{^xt/}],
424 },
425
426 'Exporter' => {
427 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz',
428 'FILES' => q[dist/Exporter],
429 'EXCLUDED' => [
430 qw( t/pod.t
431 t/use.t
432 ),
433 ],
434 },
435
436 'ExtUtils::CBuilder' => {
437 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
438 'FILES' => q[dist/ExtUtils-CBuilder],
439 'EXCLUDED' => [
440 qw(README.mkdn),
441 qr{^xt},
442 ],
443 },
444
445 'ExtUtils::Constant' => {
446
447 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
448 'FILES' => q[cpan/ExtUtils-Constant],
449 'EXCLUDED' => [
450 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
451 examples/perl_keyword.pl
452 examples/perl_regcomp_posix_keyword.pl
453 ),
454 ],
455 # cc37ebcee3 to fix VMS failure
456 'CUSTOMIZED' => [ qw(t/Constant.t) ],
457 },
458
459 'ExtUtils::Install' => {
460 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
461 'FILES' => q[cpan/ExtUtils-Install],
462 'EXCLUDED' => [
463 qw( t/lib/Test/Builder.pm
464 t/lib/Test/Builder/Module.pm
465 t/lib/Test/More.pm
466 t/lib/Test/Simple.pm
467 t/pod-coverage.t
468 t/pod.t
469 ),
470 ],
471 },
472
473 'ExtUtils::MakeMaker' => {
474 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.24.tar.gz',
475 'FILES' => q[cpan/ExtUtils-MakeMaker],
476 'EXCLUDED' => [
477 qr{^t/lib/Test/},
478 qr{^(bundled|my)/},
479 qr{^t/Liblist_Kid.t},
480 qr{^t/liblist/},
481 qr{^\.perlcriticrc},
482 'PATCHING',
483 'README.packaging',
484 'lib/ExtUtils/MakeMaker/version/vpp.pm',
485 ],
486 },
487
488 'ExtUtils::Manifest' => {
489 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz',
490 'FILES' => q[cpan/ExtUtils-Manifest],
491 'EXCLUDED' => [
492 qr(^t/00-report-prereqs),
493 qr(^xt/)
494 ],
495 },
496
497 'ExtUtils::ParseXS' => {
498 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
499 'FILES' => q[dist/ExtUtils-ParseXS],
500 },
501
502 'File::Fetch' => {
503 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.52.tar.gz',
504 'FILES' => q[cpan/File-Fetch],
505 },
506
507 'File::Path' => {
508 'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
509 'FILES' => q[cpan/File-Path],
510 'EXCLUDED' => [
511 qw(t/Path-Class.t),
512 qr{^xt/},
513 ],
514 # https://github.com/rpcme/File-Path/pull/34
515 'CUSTOMIZED' => [ qw( lib/File/Path.pm t/Path_win32.t ) ],
516 },
517
518 'File::Temp' => {
519 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz',
520 'FILES' => q[cpan/File-Temp],
521 'EXCLUDED' => [
522 qw( misc/benchmark.pl
523 misc/results.txt
524 ),
525 qw[t/00-report-prereqs.t],
526 qr{^xt},
527 ],
528 },
529
530 'Filter::Simple' => {
531 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
532 'FILES' => q[dist/Filter-Simple],
533 'EXCLUDED' => [
534 qr{^demo/}
535 ],
536 },
537
538 'Filter::Util::Call' => {
539 'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
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
557 t/sh.t
558 t/tee.t
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
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 },
572 },
573
574 'Getopt::Long' => {
575 'DISTRIBUTION' => 'JV/Getopt-Long-2.49.1.tar.gz',
576 'FILES' => q[cpan/Getopt-Long],
577 'EXCLUDED' => [
578 qr{^examples/},
579 qw( perl-Getopt-Long.spec
580 lib/newgetopt.pl
581 t/gol-compat.t
582 ),
583 ],
584 },
585
586 'HTTP::Tiny' => {
587 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.070.tar.gz',
588 'FILES' => q[cpan/HTTP-Tiny],
589 'EXCLUDED' => [
590 't/00-report-prereqs.t',
591 't/00-report-prereqs.dd',
592 't/200_live.t',
593 't/200_live_local_ip.t',
594 't/210_live_ssl.t',
595 qr/^eg/,
596 qr/^xt/
597 ],
598 },
599
600 'I18N::Collate' => {
601 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
602 'FILES' => q[dist/I18N-Collate],
603 'EXCLUDED' => [qr{^t/release-.*\.t}],
604 },
605
606 'I18N::LangTags' => {
607 'FILES' => q[dist/I18N-LangTags],
608 },
609
610 'if' => {
611 'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
612 'FILES' => q[dist/if],
613 },
614
615 'IO' => {
616 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
617 'FILES' => q[dist/IO/],
618 'EXCLUDED' => ['t/test.pl'],
619 },
620
621 'IO-Compress' => {
622 'DISTRIBUTION' => 'PMQS/IO-Compress-2.069.tar.gz',
623 'FILES' => q[cpan/IO-Compress],
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 ],
631 'CUSTOMIZED' => [
632 # CVE-2016-1238
633 qw(
634 bin/zipdetails lib/Compress/Zlib.pm
635 lib/IO/Compress/Adapter/Bzip2.pm
636 lib/IO/Compress/Adapter/Deflate.pm
637 lib/IO/Compress/Adapter/Identity.pm
638 lib/IO/Compress/Base.pm
639 lib/IO/Compress/Base/Common.pm
640 lib/IO/Compress/Bzip2.pm
641 lib/IO/Compress/Deflate.pm
642 lib/IO/Compress/Gzip.pm
643 lib/IO/Compress/Gzip/Constants.pm
644 lib/IO/Compress/RawDeflate.pm
645 lib/IO/Compress/Zip.pm
646 lib/IO/Compress/Zip/Constants.pm
647 lib/IO/Compress/Zlib/Constants.pm
648 lib/IO/Compress/Zlib/Extra.pm
649 lib/IO/Uncompress/Adapter/Bunzip2.pm
650 lib/IO/Uncompress/Adapter/Identity.pm
651 lib/IO/Uncompress/Adapter/Inflate.pm
652 lib/IO/Uncompress/AnyInflate.pm
653 lib/IO/Uncompress/AnyUncompress.pm
654 lib/IO/Uncompress/Base.pm
655 lib/IO/Uncompress/Bunzip2.pm
656 lib/IO/Uncompress/Gunzip.pm
657 lib/IO/Uncompress/Inflate.pm
658 lib/IO/Uncompress/RawInflate.pm
659 lib/IO/Uncompress/Unzip.pm
660 )
661 ],
662 },
663
664 'IO::Socket::IP' => {
665 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.38.tar.gz',
666 'FILES' => q[cpan/IO-Socket-IP],
667 'EXCLUDED' => [
668 qr{^examples/},
669 ],
670 },
671
672 'IO::Zlib' => {
673 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
674 'FILES' => q[cpan/IO-Zlib],
675 },
676
677 'IPC::Cmd' => {
678 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.96.tar.gz',
679 'FILES' => q[cpan/IPC-Cmd],
680 },
681
682 'IPC::SysV' => {
683 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz',
684 'FILES' => q[cpan/IPC-SysV],
685 'EXCLUDED' => [
686 qw( const-c.inc
687 const-xs.inc
688 ),
689 ],
690 },
691
692 'JSON::PP' => {
693 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27400.tar.gz',
694 'FILES' => q[cpan/JSON-PP],
695 'CUSTOMIZED' => [
696 'bin/json_pp', # CVE-2016-1238
697 'lib/JSON/PP.pm', # CVE-2016-1238, CPAN RT 118469
698 't/011_pc_expo.t', # CPAN RT 118469
699 't/018_json_checker.t', # CPAN RT 118469
700 ],
701 },
702
703 'lib' => {
704 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
705 'FILES' => q[dist/lib/],
706 'EXCLUDED' => [
707 qw( forPAUSE/lib.pm
708 t/00pod.t
709 ),
710 ],
711 },
712
713 'libnet' => {
714 'DISTRIBUTION' => 'SHAY/libnet-3.10.tar.gz',
715 'FILES' => q[cpan/libnet],
716 'EXCLUDED' => [
717 qw( Configure
718 t/changes.t
719 t/critic.t
720 t/pod.t
721 t/pod_coverage.t
722 ),
723 qr(^demos/),
724 qr(^t/external/),
725 ],
726 },
727
728 'Locale-Codes' => {
729 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.42.tar.gz',
730 'FILES' => q[cpan/Locale-Codes],
731 'EXCLUDED' => [
732 qw( README.first
733 t/pod_coverage.ign
734 t/pod_coverage.t
735 t/pod.t),
736 qr{^t/runtests},
737 qr{^t/runtests\.bat},
738 qr{^internal/},
739 qr{^examples/},
740 ],
741 },
742
743 'Locale::Maketext' => {
744 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.tar.gz',
745 'FILES' => q[dist/Locale-Maketext],
746 'EXCLUDED' => [
747 qw(
748 perlcriticrc
749 t/00_load.t
750 t/pod.t
751 ),
752 ],
753 },
754
755 'Locale::Maketext::Simple' => {
756 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
757 'FILES' => q[cpan/Locale-Maketext-Simple],
758 'CUSTOMIZED' => [
759 # CVE-2016-1238
760 qw( lib/Locale/Maketext/Simple.pm )
761 ],
762 },
763
764 'Math::BigInt' => {
765 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999802.tar.gz',
766 'FILES' => q[cpan/Math-BigInt],
767 'EXCLUDED' => [
768 qr{^inc/},
769 qr{^examples/},
770 qr{^t/author-},
771 qw( t/00sig.t
772 t/01load.t
773 t/02pod.t
774 t/03podcov.t
775 ),
776 ],
777 },
778
779 'Math::BigInt::FastCalc' => {
780 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5002.tar.gz',
781 'FILES' => q[cpan/Math-BigInt-FastCalc],
782 'EXCLUDED' => [
783 qr{^inc/},
784 qr{^t/author-},
785 qr{^t/Math/BigInt/Lib/TestUtil.pm},
786 qw( t/00sig.t
787 t/01load.t
788 t/02pod.t
789 t/03podcov.t
790 ),
791
792 # instead we use the versions of these test
793 # files that come with Math::BigInt:
794 qw( t/bigfltpm.inc
795 t/bigfltpm.t
796 t/bigintpm.inc
797 t/bigintpm.t
798 t/mbimbf.inc
799 t/mbimbf.t
800 ),
801 ],
802 },
803
804 'Math::BigRat' => {
805 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.260805.tar.gz',
806 'FILES' => q[cpan/Math-BigRat],
807 'EXCLUDED' => [
808 qr{^inc/},
809 qr{^t/author-},
810 qw( t/00sig.t
811 t/01load.t
812 t/02pod.t
813 t/03podcov.t
814 ),
815 ],
816 },
817
818 'Math::Complex' => {
819 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
820 'FILES' => q[cpan/Math-Complex],
821 'CUSTOMIZED' => [
822 'lib/Math/Complex.pm', # CPAN RT 118467
823 't/Complex.t', # CPAN RT 118467
824 't/Trig.t', # CPAN RT 118467
825 ],
826 'EXCLUDED' => [
827 qw( t/pod.t
828 t/pod-coverage.t
829 ),
830 ],
831 },
832
833 'Memoize' => {
834 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
835 'FILES' => q[cpan/Memoize],
836 'EXCLUDED' => ['article.html'],
837 'CUSTOMIZED' => [
838 # CVE-2016-1238
839 qw( Memoize.pm )
840 ],
841 },
842
843 'MIME::Base64' => {
844 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz',
845 'FILES' => q[cpan/MIME-Base64],
846 'EXCLUDED' => ['t/bad-sv.t'],
847 },
848
849 'Module::CoreList' => {
850 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20161120.tar.gz',
851 'FILES' => q[dist/Module-CoreList],
852 },
853
854 'Module::Load' => {
855 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz',
856 'FILES' => q[cpan/Module-Load],
857 },
858
859 'Module::Load::Conditional' => {
860 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz',
861 'FILES' => q[cpan/Module-Load-Conditional],
862 },
863
864 'Module::Loaded' => {
865 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
866 'FILES' => q[cpan/Module-Loaded],
867 },
868
869 'Module::Metadata' => {
870 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000033.tar.gz',
871 'FILES' => q[cpan/Module-Metadata],
872 'EXCLUDED' => [
873 qw(t/00-report-prereqs.t),
874 qw(t/00-report-prereqs.dd),
875 qr{weaver.ini},
876 qr{^xt},
877 ],
878 },
879
880 'Net::Ping' => {
881 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.55.tar.gz',
882 'FILES' => q[dist/Net-Ping],
883 'EXCLUDED' => [
884 qw(README.md.PL),
885 qw(t/020_external.t),
886 qw(t/600_pod.t),
887 qw(t/601_pod-coverage.t),
888 ],
889 'CUSTOMIZED' => [
890 qw( t/000_load.t t/001_new.t t/010_pingecho.t t/500_ping_icmp.t),
891 ],
892
893 },
894
895 'NEXT' => {
896 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
897 'FILES' => q[cpan/NEXT],
898 'EXCLUDED' => [qr{^demo/}],
899 },
900
901 'Params::Check' => {
902 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
903 'FILES' => q[cpan/Params-Check],
904 },
905
906 'parent' => {
907 'DISTRIBUTION' => 'CORION/parent-0.236.tar.gz',
908 'FILES' => q[cpan/parent],
909 'EXCLUDED' => [
910 qr{^xt}
911 ],
912 },
913
914 'PathTools' => {
915 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
916 'FILES' => q[dist/PathTools],
917 'EXCLUDED' => [
918 qr{^t/lib/Test/},
919 qw( t/rel2abs_vs_symlink.t),
920 ],
921 },
922
923 'Perl::OSType' => {
924 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz',
925 'FILES' => q[cpan/Perl-OSType],
926 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}],
927 },
928
929 'perlfaq' => {
930 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz',
931 'FILES' => q[cpan/perlfaq],
932 'EXCLUDED' => [
933 qw( inc/CreateQuestionList.pm
934 inc/perlfaq.tt
935 t/00-compile.t),
936 qr{^xt/},
937 ],
938 },
939
940 'PerlIO::via::QuotedPrint' => {
941 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz',
942 'FILES' => q[cpan/PerlIO-via-QuotedPrint],
943 },
944
945 'Pod::Checker' => {
946 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz',
947 'FILES' => q[cpan/Pod-Checker],
948 'CUSTOMIZED' => [ qw[
949 t/pod/contains_bad_pod.xr
950 t/pod/selfcheck.t
951 t/pod/testcmp.pl
952 t/pod/testpchk.pl
953 ] ],
954 },
955
956 'Pod::Escapes' => {
957 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz',
958 'FILES' => q[cpan/Pod-Escapes],
959 },
960
961 'Pod::Parser' => {
962 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz',
963 'FILES' => q[cpan/Pod-Parser],
964 },
965
966 'Pod::Perldoc' => {
967 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.27.tar.gz',
968 'FILES' => q[cpan/Pod-Perldoc],
969
970 # Note that we use the CPAN-provided Makefile.PL, since it
971 # contains special handling of the installation of perldoc.pod
972
973 'EXCLUDED' => [
974 # In blead, the perldoc executable is generated by perldoc.PL
975 # instead
976 # XXX We can and should fix this, but clean up the DRY-failure in
977 # utils first
978 'perldoc',
979
980 # https://rt.cpan.org/Ticket/Display.html?id=116827
981 't/02_module_pod_output.t'
982 ],
983 },
984
985 'Pod::Simple' => {
986 'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.32.tar.gz',
987 'FILES' => q[cpan/Pod-Simple],
988 },
989
990 'Pod::Usage' => {
991 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz',
992 'FILES' => q[cpan/Pod-Usage],
993 },
994
995 'podlators' => {
996 'DISTRIBUTION' => 'RRA/podlators-4.09.tar.gz',
997 'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
998 'EXCLUDED' => [
999 qr{^docs/metadata/},
1000 ],
1001
1002 'MAP' => {
1003 '' => 'cpan/podlators/',
1004 # this file lives outside the cpan/ directory
1005 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1006 },
1007 },
1008
1009 'Safe' => {
1010 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
1011 'FILES' => q[dist/Safe],
1012 },
1013
1014 'Scalar-List-Utils' => {
1015 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.46.tar.gz',
1016 'FILES' => q[cpan/Scalar-List-Utils],
1017 'CUSTOMIZED' => [
1018 'lib/List/Util.pm', # CPAN RT 118470
1019 'lib/List/Util/XS.pm', # CPAN RT 118470
1020 'lib/Scalar/Util.pm', # CPAN RT 118470
1021 'lib/Sub/Util.pm', # CPAN RT 118470
1022 't/lln.t', # CPAN RT 118470
1023 't/uniq.t', # CPAN RT 118470
1024 ],
1025 },
1026
1027 'Search::Dict' => {
1028 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
1029 'FILES' => q[dist/Search-Dict],
1030 },
1031
1032 'SelfLoader' => {
1033 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1034 'FILES' => q[dist/SelfLoader],
1035 'EXCLUDED' => ['t/00pod.t'],
1036 },
1037
1038 'Socket' => {
1039 'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
1040 'FILES' => q[cpan/Socket],
1041
1042 # https://rt.cpan.org/Ticket/Display.html?id=106797
1043 # https://rt.cpan.org/Ticket/Display.html?id=107058
1044 # https://rt.cpan.org/Ticket/Display.html?id=111707
1045 'CUSTOMIZED' => [ qw[ Socket.pm Socket.xs ] ],
1046 },
1047
1048 'Storable' => {
1049 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz',
1050 'FILES' => q[dist/Storable],
1051 'EXCLUDED' => [
1052 qr{^t/compat/},
1053 ],
1054 },
1055
1056 'Sys::Syslog' => {
1057 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz',
1058 'FILES' => q[cpan/Sys-Syslog],
1059 'EXCLUDED' => [
1060 qr{^eg/},
1061 qw( README.win32
1062 t/data-validation.t
1063 t/distchk.t
1064 t/pod.t
1065 t/podcover.t
1066 t/podspell.t
1067 t/portfs.t
1068 win32/PerlLog.RES
1069 ),
1070 ],
1071 },
1072
1073 'Term::ANSIColor' => {
1074 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz',
1075 'FILES' => q[cpan/Term-ANSIColor],
1076 'EXCLUDED' => [
1077 qr{^docs/},
1078 qr{^examples/},
1079 qr{^t/data/},
1080 qr{^t/docs/},
1081 qr{^t/style/},
1082 qw( t/module/aliases-env.t ),
1083 ],
1084 },
1085
1086 'Term::Cap' => {
1087 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz',
1088 'FILES' => q[cpan/Term-Cap],
1089 },
1090
1091 'Term::Complete' => {
1092 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1093 'FILES' => q[dist/Term-Complete],
1094 'EXCLUDED' => [qr{^t/release-.*\.t}],
1095 },
1096
1097 'Term::ReadLine' => {
1098 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz',
1099 'FILES' => q[dist/Term-ReadLine],
1100 'EXCLUDED' => [qr{^t/release-.*\.t}],
1101 },
1102
1103 'Test' => {
1104 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
1105 'FILES' => q[dist/Test],
1106 },
1107
1108 'Test::Harness' => {
1109 'DISTRIBUTION' => 'LEONT/Test-Harness-3.36.tar.gz',
1110 'FILES' => q[cpan/Test-Harness],
1111 'EXCLUDED' => [
1112 qr{^examples/},
1113 qr{^xt/},
1114 qw( Changes-2.64
1115 MANIFEST.CUMMULATIVE
1116 HACKING.pod
1117 perlcriticrc
1118 t/000-load.t
1119 t/lib/if.pm
1120 ),
1121 ],
1122 'CUSTOMIZED' => [
1123 # CVE-2016-1238
1124 qw(
1125 bin/prove lib/App/Prove.pm lib/App/Prove/State.pm
1126 lib/App/Prove/State/Result.pm
1127 lib/App/Prove/State/Result/Test.pm
1128 lib/TAP/Base.pm lib/TAP/Formatter/Base.pm
1129 lib/TAP/Formatter/Color.pm
1130 lib/TAP/Formatter/Console.pm
1131 lib/TAP/Formatter/Console/ParallelSession.pm
1132 lib/TAP/Formatter/Console/Session.pm
1133 lib/TAP/Formatter/File.pm
1134 lib/TAP/Formatter/File/Session.pm
1135 lib/TAP/Formatter/Session.pm lib/TAP/Harness.pm
1136 lib/TAP/Harness/Env.pm lib/TAP/Object.pm
1137 lib/TAP/Parser.pm lib/TAP/Parser/Aggregator.pm
1138 lib/TAP/Parser/Grammar.pm
1139 lib/TAP/Parser/Iterator.pm
1140 lib/TAP/Parser/Iterator/Array.pm
1141 lib/TAP/Parser/Iterator/Process.pm
1142 lib/TAP/Parser/Iterator/Stream.pm
1143 lib/TAP/Parser/IteratorFactory.pm
1144 lib/TAP/Parser/Multiplexer.pm
1145 lib/TAP/Parser/Result.pm
1146 lib/TAP/Parser/Result/Bailout.pm
1147 lib/TAP/Parser/Result/Comment.pm
1148 lib/TAP/Parser/Result/Plan.pm
1149 lib/TAP/Parser/Result/Pragma.pm
1150 lib/TAP/Parser/Result/Test.pm
1151 lib/TAP/Parser/Result/Unknown.pm
1152 lib/TAP/Parser/Result/Version.pm
1153 lib/TAP/Parser/Result/YAML.pm
1154 lib/TAP/Parser/ResultFactory.pm
1155 lib/TAP/Parser/Scheduler.pm
1156 lib/TAP/Parser/Scheduler/Job.pm
1157 lib/TAP/Parser/Scheduler/Spinner.pm
1158 lib/TAP/Parser/Source.pm
1159 lib/TAP/Parser/SourceHandler.pm
1160 lib/TAP/Parser/SourceHandler/Executable.pm
1161 lib/TAP/Parser/SourceHandler/File.pm
1162 lib/TAP/Parser/SourceHandler/Handle.pm
1163 lib/TAP/Parser/SourceHandler/Perl.pm
1164 lib/TAP/Parser/SourceHandler/RawTAP.pm
1165 lib/TAP/Parser/YAMLish/Reader.pm
1166 lib/TAP/Parser/YAMLish/Writer.pm
1167 lib/Test/Harness.pm
1168 )
1169 ],
1170 },
1171
1172 'Test::Simple' => {
1173 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302067.tar.gz',
1174 'FILES' => q[cpan/Test-Simple],
1175 'EXCLUDED' => [
1176 qr{^examples/},
1177 qr{^xt/},
1178 qw( appveyor.yml
1179 perltidyrc
1180 t/00compile.t
1181 t/00-report.t
1182 t/zzz-check-breaks.t
1183 ),
1184 ],
1185 },
1186
1187 'Text::Abbrev' => {
1188 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
1189 'FILES' => q[dist/Text-Abbrev],
1190 'EXCLUDED' => [qr{^t/release-.*\.t}],
1191 },
1192
1193 'Text::Balanced' => {
1194 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz',
1195 'FILES' => q[cpan/Text-Balanced],
1196 'EXCLUDED' => [
1197 qw( t/97_meta.t
1198 t/98_pod.t
1199 t/99_pmv.t
1200 ),
1201 ],
1202 },
1203
1204 'Text::ParseWords' => {
1205 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz',
1206 'FILES' => q[cpan/Text-ParseWords],
1207 },
1208
1209 'Text-Tabs+Wrap' => {
1210 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
1211 'FILES' => q[cpan/Text-Tabs],
1212 'EXCLUDED' => [
1213 qr/^lib\.old/,
1214 't/dnsparks.t', # see af6492bf9e
1215 ],
1216 'MAP' => {
1217 '' => 'cpan/Text-Tabs/',
1218 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1219 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
1220 },
1221 },
1222
1223 # Jerry Hedden does take patches that are applied to blead first, even
1224 # though that can be hard to discern from the Git history; so it's
1225 # correct for this (and Thread::Semaphore, threads, and threads::shared)
1226 # to be under dist/ rather than cpan/
1227 'Thread::Queue' => {
1228 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.11.tar.gz',
1229 'FILES' => q[dist/Thread-Queue],
1230 'EXCLUDED' => [
1231 qr{^examples/},
1232 qw( t/00_load.t
1233 t/99_pod.t
1234 t/test.pl
1235 ),
1236 ],
1237 },
1238
1239 'Thread::Semaphore' => {
1240 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz',
1241 'FILES' => q[dist/Thread-Semaphore],
1242 'EXCLUDED' => [
1243 qw( examples/semaphore.pl
1244 t/00_load.t
1245 t/99_pod.t
1246 t/test.pl
1247 ),
1248 ],
1249 },
1250
1251 'threads' => {
1252 'DISTRIBUTION' => 'JDHEDDEN/threads-2.09.tar.gz',
1253 'FILES' => q[dist/threads],
1254 'EXCLUDED' => [
1255 qr{^examples/},
1256 qw( t/pod.t
1257 t/test.pl
1258 threads.h
1259 ),
1260 ],
1261 },
1262
1263 'threads::shared' => {
1264 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.52.tar.gz',
1265 'FILES' => q[dist/threads-shared],
1266 'EXCLUDED' => [
1267 qw( examples/class.pl
1268 shared.h
1269 t/pod.t
1270 t/test.pl
1271 ),
1272 ],
1273 },
1274
1275 'Tie::File' => {
1276 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz',
1277 'FILES' => q[dist/Tie-File],
1278 },
1279
1280 'Tie::RefHash' => {
1281 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1282 'FILES' => q[cpan/Tie-RefHash],
1283 },
1284
1285 'Time::HiRes' => {
1286 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9741.tar.gz',
1287 'FILES' => q[dist/Time-HiRes],
1288 },
1289
1290 'Time::Local' => {
1291 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz',
1292 'FILES' => q[cpan/Time-Local],
1293 'EXCLUDED' => [
1294 qr{^xt/},
1295 qw( perlcriticrc
1296 perltidyrc
1297 tidyall.ini
1298 t/00-report-prereqs.t
1299 t/00-report-prereqs.dd
1300 ),
1301 ],
1302 },
1303
1304 'Time::Piece' => {
1305 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
1306 'FILES' => q[cpan/Time-Piece],
1307 },
1308
1309 'Unicode::Collate' => {
1310 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.19.tar.gz',
1311 'FILES' => q[cpan/Unicode-Collate],
1312 'EXCLUDED' => [
1313 qr{N$},
1314 qr{^data/},
1315 qr{^gendata/},
1316 qw( disableXS
1317 enableXS
1318 mklocale
1319 ),
1320 ],
1321 },
1322
1323 'Unicode::Normalize' => {
1324 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz',
1325 'FILES' => q[dist/Unicode-Normalize],
1326 'EXCLUDED' => [
1327 qw( MANIFEST.N
1328 Normalize.pmN
1329 disableXS
1330 enableXS
1331 ),
1332 ],
1333 },
1334
1335 'version' => {
1336 'DISTRIBUTION' => 'JPEACOCK/version-0.9917.tar.gz',
1337 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc],
1338 'EXCLUDED' => [
1339 qr{^vutil/lib/},
1340 'vutil/Makefile.PL',
1341 'vutil/ppport.h',
1342 'vutil/vxs.xs',
1343 't/00impl-pp.t',
1344 't/survey_locales',
1345 'vperl/vpp.pm',
1346 ],
1347
1348 # When adding the CPAN-distributed files for version.pm, it is necessary
1349 # to delete an entire block out of lib/version.pm, since that code is
1350 # only necessary with the CPAN release.
1351 'CUSTOMIZED' => [
1352 qw( lib/version.pm
1353 ),
1354 ],
1355
1356 'MAP' => {
1357 'vutil/' => '',
1358 '' => 'cpan/version/',
1359 },
1360 },
1361
1362 'warnings' => {
1363 'FILES' => q[
1364 lib/warnings
1365 lib/warnings.{pm,t}
1366 regen/warnings.pl
1367 t/lib/warnings
1368 ],
1369 },
1370
1371 'Win32' => {
1372 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
1373 'FILES' => q[cpan/Win32],
1374 },
1375
1376 'Win32API::File' => {
1377 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz',
1378 'FILES' => q[cpan/Win32API-File],
1379 'EXCLUDED' => [
1380 qr{^ex/},
1381 ],
1382 },
1383
1384 'XSLoader' => {
1385 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz',
1386 'FILES' => q[dist/XSLoader],
1387 'EXCLUDED' => [
1388 qr{^eg/},
1389 qw( t/00-load.t
1390 t/01-api.t
1391 t/distchk.t
1392 t/pod.t
1393 t/podcover.t
1394 t/portfs.t
1395 ),
1396 'XSLoader.pm', # we use XSLoader_pm.PL
1397 ],
1398 },
1399
1400 # this pseudo-module represents all the files under ext/ and lib/
1401 # that aren't otherwise claimed. This means that the following two
1402 # commands will check that every file under ext/ and lib/ is
1403 # accounted for, and that there are no duplicates:
1404 #
1405 # perl Porting/Maintainers --checkmani lib ext
1406 # perl Porting/Maintainers --checkmani
1407
1408 '_PERLLIB' => {
1409 'FILES' => q[
1410 ext/Amiga-ARexx/
1411 ext/Amiga-Exec/
1412 ext/B/
1413 ext/Devel-Peek/
1414 ext/DynaLoader/
1415 ext/Errno/
1416 ext/ExtUtils-Miniperl/
1417 ext/Fcntl/
1418 ext/File-DosGlob/
1419 ext/File-Find/
1420 ext/File-Glob/
1421 ext/FileCache/
1422 ext/GDBM_File/
1423 ext/Hash-Util-FieldHash/
1424 ext/Hash-Util/
1425 ext/I18N-Langinfo/
1426 ext/IPC-Open3/
1427 ext/NDBM_File/
1428 ext/ODBM_File/
1429 ext/Opcode/
1430 ext/POSIX/
1431 ext/PerlIO-encoding/
1432 ext/PerlIO-mmap/
1433 ext/PerlIO-scalar/
1434 ext/PerlIO-via/
1435 ext/Pod-Functions/
1436 ext/Pod-Html/
1437 ext/SDBM_File/
1438 ext/Sys-Hostname/
1439 ext/Tie-Hash-NamedCapture/
1440 ext/Tie-Memoize/
1441 ext/VMS-DCLsym/
1442 ext/VMS-Filespec/
1443 ext/VMS-Stdio/
1444 ext/Win32CORE/
1445 ext/XS-APItest/
1446 ext/XS-Typemap/
1447 ext/arybase/
1448 ext/attributes/
1449 ext/mro/
1450 ext/re/
1451 lib/AnyDBM_File.{pm,t}
1452 lib/Benchmark.{pm,t}
1453 lib/B/Deparse{.pm,.t,-*.t}
1454 lib/B/Op_private.pm
1455 lib/CORE.pod
1456 lib/Class/Struct.{pm,t}
1457 lib/Config.t
1458 lib/Config/Extensions.{pm,t}
1459 lib/DB.{pm,t}
1460 lib/DBM_Filter.pm
1461 lib/DBM_Filter/
1462 lib/DirHandle.{pm,t}
1463 lib/English.{pm,t}
1464 lib/ExtUtils/Embed.pm
1465 lib/ExtUtils/XSSymSet.pm
1466 lib/ExtUtils/t/Embed.t
1467 lib/ExtUtils/typemap
1468 lib/File/Basename.{pm,t}
1469 lib/File/Compare.{pm,t}
1470 lib/File/Copy.{pm,t}
1471 lib/File/stat{.pm,.t,-7896.t}
1472 lib/FileHandle.{pm,t}
1473 lib/FindBin.{pm,t}
1474 lib/Getopt/Std.{pm,t}
1475 lib/Internals.pod
1476 lib/Internals.t
1477 lib/meta_notation.{pm,t}
1478 lib/Net/hostent.{pm,t}
1479 lib/Net/netent.{pm,t}
1480 lib/Net/protoent.{pm,t}
1481 lib/Net/servent.{pm,t}
1482 lib/PerlIO.pm
1483 lib/Pod/t/InputObjects.t
1484 lib/Pod/t/Select.t
1485 lib/Pod/t/Usage.t
1486 lib/Pod/t/utils.t
1487 lib/SelectSaver.{pm,t}
1488 lib/Symbol.{pm,t}
1489 lib/Thread.{pm,t}
1490 lib/Tie/Array.pm
1491 lib/Tie/Array/
1492 lib/Tie/ExtraHash.t
1493 lib/Tie/Handle.pm
1494 lib/Tie/Handle/
1495 lib/Tie/Hash.{pm,t}
1496 lib/Tie/Scalar.{pm,t}
1497 lib/Tie/StdHandle.pm
1498 lib/Tie/SubstrHash.{pm,t}
1499 lib/Time/gmtime.{pm,t}
1500 lib/Time/localtime.{pm,t}
1501 lib/Time/tm.pm
1502 lib/UNIVERSAL.pm
1503 lib/Unicode/README
1504 lib/Unicode/UCD.{pm,t}
1505 lib/User/grent.{pm,t}
1506 lib/User/pwent.{pm,t}
1507 lib/_charnames.pm
1508 lib/blib.{pm,t}
1509 lib/bytes.{pm,t}
1510 lib/bytes_heavy.pl
1511 lib/charnames.{pm,t}
1512 lib/dbm_filter_util.pl
1513 lib/deprecate.pm
1514 lib/diagnostics.{pm,t}
1515 lib/dumpvar.{pl,t}
1516 lib/feature.{pm,t}
1517 lib/feature/
1518 lib/filetest.{pm,t}
1519 lib/h2ph.t
1520 lib/h2xs.t
1521 lib/integer.{pm,t}
1522 lib/less.{pm,t}
1523 lib/locale.{pm,t}
1524 lib/locale_threads.t
1525 lib/open.{pm,t}
1526 lib/overload/numbers.pm
1527 lib/overloading.{pm,t}
1528 lib/overload{.pm,.t,64.t}
1529 lib/perl5db.{pl,t}
1530 lib/perl5db/
1531 lib/perlbug.t
1532 lib/sigtrap.{pm,t}
1533 lib/sort.{pm,t}
1534 lib/strict.{pm,t}
1535 lib/subs.{pm,t}
1536 lib/unicore/
1537 lib/utf8.{pm,t}
1538 lib/utf8_heavy.pl
1539 lib/vars{.pm,.t,_carp.t}
1540 lib/vmsish.{pm,t}
1541 ],
1542 },
1543);
1544
1545# legacy CPAN flag
1546for ( values %Modules ) {
1547 $_->{CPAN} = !!$_->{DISTRIBUTION};
1548}
1549
1550# legacy UPSTREAM flag
1551for ( keys %Modules ) {
1552 # Keep any existing UPSTREAM flag so that "overrides" can be applied
1553 next if exists $Modules{$_}{UPSTREAM};
1554
1555 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) {
1556 $Modules{$_}{UPSTREAM} = 'blead';
1557 }
1558 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) {
1559 $Modules{$_}{UPSTREAM} = 'cpan';
1560 }
1561 else {
1562 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}";
1563 }
1564}
1565
1566# legacy MAINTAINER field
1567for ( keys %Modules ) {
1568 # Keep any existing MAINTAINER flag so that "overrides" can be applied
1569 next if exists $Modules{$_}{MAINTAINER};
1570
1571 if ($Modules{$_}{UPSTREAM} eq 'blead') {
1572 $Modules{$_}{MAINTAINER} = 'P5P';
1573 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>';
1574 }
1575 elsif (exists $Modules{$_}{DISTRIBUTION}) {
1576 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{};
1577 $Modules{$_}{MAINTAINER} = $pause_id;
1578 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>";
1579 }
1580 else {
1581 warn "No DISTRIBUTION for non-blead module $_";
1582 }
1583}
1584
15851;