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 20 ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL 21 CHANGELOG ChangeLog Changelog CHANGES Changes CONTRIBUTING COPYING Copying 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 25 SIGNATURE THANKS TODO Todo VERSION WHATSNEW .perlcriticrc.perltidyrc 26); 27 28# Each entry in the %Modules hash roughly represents a distribution, 29# except when DISTRIBUTION is set, where it *exactly* represents a single 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'. 39 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 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 51# value, e.g. 'BINGOS' in the case of 'BINGOS/Archive-Tar-1.96.tar.gz'. 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.) 54 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 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 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 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 74# CUSTOMIZED is a list of files that have been customized within the 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 79# customization might have been lost when updating from upstream. The 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. 84 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 93# MAP is a hash that maps CPAN paths to their core equivalents. 94# Each key represents a string prefix, with longest prefixes checked 95# first. The first match causes that prefix to be replaced with the 96# corresponding key. For example, with the following MAP: 97# { 98# 'lib/' => 'lib/', 99# '' => 'lib/Foo/', 100# }, 101# 102# these files are mapped as shown: 103# 104# README becomes lib/Foo/README 105# lib/Foo.pm becomes lib/Foo.pm 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# 114# { 115# 'lib/' => 'lib/', 116# '' => 'lib/Foo/Bar/', 117# } 118 119%Modules = ( 120 121 'Archive::Tar' => { 122 'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.96.tar.gz', 123 'FILES' => q[cpan/Archive-Tar], 124 'BUGS' => 'bug-archive-tar@rt.cpan.org', 125 }, 126 127 'Attribute::Handlers' => { 128 'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.96.tar.gz', 129 'FILES' => q[dist/Attribute-Handlers], 130 }, 131 132 'autodie' => { 133 'DISTRIBUTION' => 'PJF/autodie-2.23.tar.gz', 134 'FILES' => q[cpan/autodie], 135 'EXCLUDED' => [ 136 qr{benchmarks}, 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. 141 qw( t/author-critic.t 142 t/boilerplate.t 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 149 t/release-pod-coverage.t 150 t/release-pod-syntax.t 151 t/socket.t 152 t/system.t 153 ) 154 ], 155 'CUSTOMIZED' => [ 156 # Waiting to be merged upstream: see CPAN RT#87237 157 qw( t/utf8_open.t ), 158 ], 159 }, 160 161 'AutoLoader' => { 162 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz', 163 'FILES' => q[cpan/AutoLoader], 164 'EXCLUDED' => ['t/00pod.t'], 165 }, 166 167 'autouse' => { 168 'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz', 169 'FILES' => q[dist/autouse], 170 'EXCLUDED' => [qr{^t/release-.*\.t}], 171 }, 172 173 'B::Debug' => { 174 'DISTRIBUTION' => 'RURBAN/B-Debug-1.19.tar.gz', 175 'FILES' => q[cpan/B-Debug], 176 'EXCLUDED' => ['t/pod.t'], 177 }, 178 179 'base' => { 180 'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz', 181 'FILES' => q[dist/base], 182 }, 183 184 'bignum' => { 185 'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz', 186 'FILES' => q[dist/bignum], 187 'EXCLUDED' => [ 188 qr{^inc/Module/}, 189 qw( t/pod.t 190 t/pod_cov.t 191 ), 192 ], 193 }, 194 195 'Carp' => { 196 'DISTRIBUTION' => 'ZEFRAM/Carp-1.3301.tar.gz', 197 'FILES' => q[dist/Carp], 198 }, 199 200 'CGI' => { 201 'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.65.tar.gz', 202 'FILES' => q[cpan/CGI], 203 'EXCLUDED' => [ 204 qr{^examples/}, 205 qw( cgi_docs.html 206 t/gen-tests/gen-start-end-tags.pl 207 t/fast.t 208 ), 209 ], 210 'DEPRECATED' => '5.019007', 211 }, 212 213 'Compress::Raw::Bzip2' => { 214 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.064.tar.gz', 215 'FILES' => q[cpan/Compress-Raw-Bzip2], 216 'EXCLUDED' => [ 217 qr{^t/Test/}, 218 'bzip2-src/bzip2-cpp.patch', 219 ], 220 }, 221 222 'Compress::Raw::Zlib' => { 223 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.065.tar.gz', 224 225 'FILES' => q[cpan/Compress-Raw-Zlib], 226 'EXCLUDED' => [ 227 qr{^examples/}, 228 qr{^t/Test/}, 229 qw( t/000prereq.t 230 t/99pod.t 231 ), 232 ], 233 }, 234 235 'Config::Perl::V' => { 236 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.22.tgz', 237 'FILES' => q[cpan/Config-Perl-V], 238 'EXCLUDED' => [qw( 239 examples/show-v.pl 240 t/00_pod.t 241 t/01_pod.t 242 )], 243 }, 244 245 'constant' => { 246 'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz', 247 'FILES' => q[dist/constant], 248 'EXCLUDED' => [ 249 qw( t/00-load.t 250 t/more-tests.t 251 t/pod-coverage.t 252 t/pod.t 253 eg/synopsis.pl 254 ), 255 ], 256 }, 257 258 'CPAN' => { 259 'DISTRIBUTION' => 'ANDK/CPAN-2.05.tar.gz', 260 'FILES' => q[cpan/CPAN], 261 'EXCLUDED' => [ 262 qr{^distroprefs/}, 263 qr{^inc/Test/}, 264 qr{^t/CPAN/}, 265 qr{^t/data/}, 266 qw( lib/CPAN/Admin.pm 267 scripts/cpan-mirrors 268 PAUSE2015.pub 269 SlayMakefile 270 t/00signature.t 271 t/04clean_load.t 272 t/12cpan.t 273 t/13tarzip.t 274 t/14forkbomb.t 275 t/30shell.coverage 276 t/30shell.t 277 t/31sessions.t 278 t/41distribution.t 279 t/42distroprefs.t 280 t/43distroprefspref.t 281 t/44cpanmeta.t 282 t/50pod.t 283 t/51pod.t 284 t/52podcover.t 285 t/60credentials.t 286 t/70_critic.t 287 t/71_minimumversion.t 288 t/local_utils.pm 289 t/perlcriticrc 290 t/yaml_code.yml 291 ), 292 ], 293 # Waiting to be merged upstream: see pull request #83 294 'CUSTOMIZED' => [ 295 qw( lib/CPAN/Author.pm 296 lib/CPAN/CacheMgr.pm 297 lib/CPAN/FTP.pm 298 lib/CPAN/HTTP/Client.pm 299 lib/CPAN/HandleConfig.pm 300 lib/CPAN/Index.pm 301 lib/CPAN/LWP/UserAgent.pm 302 lib/CPAN/Mirrors.pm 303 ), 304 ], 305 }, 306 307 # Note: When updating CPAN-Meta the META.* files will need to be regenerated 308 # perl -Icpan/CPAN-Meta/lib Porting/makemeta 309 'CPAN::Meta' => { 310 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.140640.tar.gz', 311 'FILES' => q[cpan/CPAN-Meta], 312 'EXCLUDED' => [ 313 qw[t/00-report-prereqs.t], 314 qr{t/README-data.txt}, 315 qr{^xt}, 316 qr{^history}, 317 ], 318 }, 319 320 'CPAN::Meta::Requirements' => { 321 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz', 322 'FILES' => q[cpan/CPAN-Meta-Requirements], 323 'EXCLUDED' => [ 324 qw(t/00-compile.t), 325 qw(t/00-report-prereqs.t), 326 qr{^xt}, 327 ], 328 }, 329 330 'CPAN::Meta::YAML' => { 331 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz', 332 'FILES' => q[cpan/CPAN-Meta-YAML], 333 'EXCLUDED' => [ 334 't/00-compile.t', 335 't/00-report-prereqs.t', 336 't/04_scalar.t', # requires YAML.pm 337 qr{^xt}, 338 ], 339 }, 340 341 'Data::Dumper' => { 342 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.151.tar.gz', 343 'FILES' => q[dist/Data-Dumper], 344 }, 345 346 'DB_File' => { 347 'DISTRIBUTION' => 'PMQS/DB_File-1.831.tar.gz', 348 'FILES' => q[cpan/DB_File], 349 'EXCLUDED' => [ 350 qr{^patches/}, 351 qw( t/pod.t 352 fallback.h 353 fallback.xs 354 ), 355 ], 356 }, 357 358 'Devel::PPPort' => { 359 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz', 360 # RJBS has asked MHX to have UPSTREAM be 'blead' 361 # (i.e. move this from cpan/ to dist/) 362 'FILES' => q[cpan/Devel-PPPort], 363 'EXCLUDED' => [ 364 'PPPort.pm', # we use PPPort_pm.PL instead 365 'README.md', 366 ] 367 }, 368 369 'Devel::SelfStubber' => { 370 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz', 371 'FILES' => q[dist/Devel-SelfStubber], 372 'EXCLUDED' => [qr{^t/release-.*\.t}], 373 }, 374 375 'Digest' => { 376 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz', 377 'FILES' => q[cpan/Digest], 378 'EXCLUDED' => ['digest-bench'], 379 }, 380 381 'Digest::MD5' => { 382 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz', 383 'FILES' => q[cpan/Digest-MD5], 384 'EXCLUDED' => ['rfc1321.txt'], 385 # Waiting to be merged upstream: see CPAN RT#89612 386 'CUSTOMIZED' => ['t/files.t'], 387 }, 388 389 'Digest::SHA' => { 390 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.88.tar.gz', 391 'FILES' => q[cpan/Digest-SHA], 392 'EXCLUDED' => [ 393 qw( t/pod.t 394 t/podcover.t 395 examples/dups 396 ), 397 ], 398 }, 399 400 'Dumpvalue' => { 401 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz', 402 'FILES' => q[dist/Dumpvalue], 403 'EXCLUDED' => [qr{^t/release-.*\.t}], 404 }, 405 406 'Encode' => { 407 'DISTRIBUTION' => 'DANKOGAI/Encode-2.60.tar.gz', 408 'FILES' => q[cpan/Encode], 409 'CUSTOMIZED' => [ 410 # Waiting to be merged upstream: see CPAN RT#95130 and 411 # Message-Id: <201405062058.s46KwdCZ013775@m-l.org> 412 qw( 413 Byte/Makefile.PL 414 CN/Makefile.PL 415 EBCDIC/Makefile.PL 416 Encode.pm 417 Encode.xs 418 Encode/Makefile_PL.e2x 419 JP/Makefile.PL 420 KR/Makefile.PL 421 Symbol/Makefile.PL 422 TW/Makefile.PL 423 bin/enc2xs 424 ), 425 ], 426 427 }, 428 429 'encoding::warnings' => { 430 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz', 431 'FILES' => q[cpan/encoding-warnings], 432 'EXCLUDED' => [ 433 qr{^inc/Module/}, 434 qw(t/0-signature.t), 435 ], 436 }, 437 438 'Env' => { 439 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz', 440 'FILES' => q[dist/Env], 441 'EXCLUDED' => [qr{^t/release-.*\.t}], 442 }, 443 444 'experimental' => { 445 'DISTRIBUTION' => 'LEONT/experimental-0.007.tar.gz', 446 'FILES' => q[cpan/experimental], 447 'EXCLUDED' => [ 448 qr{^t/release-.*\.t}, 449 't/00-compile.t', 450 ], 451 }, 452 453 'Exporter' => { 454 'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz', 455 'FILES' => q[dist/Exporter], 456 'EXCLUDED' => [ 457 qw( t/pod.t 458 t/use.t 459 ), 460 ], 461 }, 462 463 'ExtUtils::CBuilder' => { 464 'DISTRIBUTION' => 'AMBS/ExtUtils/ExtUtils-CBuilder-0.280216.tar.gz', 465 'FILES' => q[dist/ExtUtils-CBuilder], 466 'EXCLUDED' => [ 467 qw(README.mkdn), 468 qr{^xt}, 469 ], 470 }, 471 472 'ExtUtils::Command' => { 473 'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.18.tar.gz', 474 'FILES' => q[dist/ExtUtils-Command], 475 'EXCLUDED' => [qr{^t/release-}], 476 }, 477 478 'ExtUtils::Constant' => { 479 480 # Nick has confirmed that while we have diverged from CPAN, 481 # this package isn't primarily maintained in core 482 # Another release will happen "Sometime" 483 'DISTRIBUTION' => '', #'NWCLARK/ExtUtils-Constant-0.16.tar.gz', 484 'FILES' => q[cpan/ExtUtils-Constant], 485 'EXCLUDED' => [ 486 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm 487 examples/perl_keyword.pl 488 examples/perl_regcomp_posix_keyword.pl 489 ), 490 ], 491 }, 492 493 'ExtUtils::Install' => { 494 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-1.67.tar.gz', 495 'FILES' => q[dist/ExtUtils-Install], 496 'EXCLUDED' => [ 497 qw( t/lib/Test/Builder.pm 498 t/lib/Test/Builder/Module.pm 499 t/lib/Test/More.pm 500 t/lib/Test/Simple.pm 501 t/pod-coverage.t 502 t/pod.t 503 ), 504 ], 505 }, 506 507 'ExtUtils::MakeMaker' => { 508 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.98.tar.gz', 509 'FILES' => q[cpan/ExtUtils-MakeMaker], 510 'EXCLUDED' => [ 511 qr{^t/lib/Test/}, 512 qr{^(bundled|my)/}, 513 qr{^t/Liblist_Kid.t}, 514 qr{^t/liblist/}, 515 qr{^\.perlcriticrc}, 516 'PATCHING', 517 'README.packaging', 518 ], 519 }, 520 521 'ExtUtils::Manifest' => { 522 'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.63.tar.gz', 523 'FILES' => q[dist/ExtUtils-Manifest], 524 'EXCLUDED' => [qr(t/release-.*\.t)], 525 }, 526 527 'ExtUtils::ParseXS' => { 528 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz', 529 'FILES' => q[dist/ExtUtils-ParseXS], 530 }, 531 532 'File::Fetch' => { 533 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz', 534 'FILES' => q[cpan/File-Fetch], 535 }, 536 537 'File::Path' => { 538 'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz', 539 'FILES' => q[cpan/File-Path], 540 'EXCLUDED' => [ 541 qw( eg/setup-extra-tests 542 t/pod.t 543 ) 544 ], 545 'MAP' => { 546 '' => 'cpan/File-Path/lib/File/', 547 't/' => 'cpan/File-Path/t/', 548 }, 549 }, 550 551 'File::Temp' => { 552 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz', 553 'FILES' => q[cpan/File-Temp], 554 'EXCLUDED' => [ 555 qw( misc/benchmark.pl 556 misc/results.txt 557 ), 558 qw[t/00-report-prereqs.t], 559 qr{^xt}, 560 ], 561 }, 562 563 'Filter::Simple' => { 564 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz', 565 'FILES' => q[dist/Filter-Simple], 566 'EXCLUDED' => [ 567 qr{^demo/} 568 ], 569 }, 570 571 'Filter::Util::Call' => { 572 'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz', 573 'FILES' => q[cpan/Filter-Util-Call 574 pod/perlfilter.pod 575 ], 576 'EXCLUDED' => [ 577 qr{^decrypt/}, 578 qr{^examples/}, 579 qr{^Exec/}, 580 qr{^lib/Filter/}, 581 qr{^tee/}, 582 qw( Call/Makefile.PL 583 Call/ppport.h 584 Call/typemap 585 mytest 586 t/cpp.t 587 t/decrypt.t 588 t/exec.t 589 t/order.t 590 t/sh.t 591 t/tee.t 592 t/z_kwalitee.t 593 t/z_meta.t 594 t/z_perl_minimum_version.t 595 t/z_pod-coverage.t 596 t/z_pod.t 597 ), 598 ], 599 'MAP' => { 600 'Call/' => 'cpan/Filter-Util-Call/', 601 'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl', 602 'perlfilter.pod' => 'pod/perlfilter.pod', 603 '' => 'cpan/Filter-Util-Call/', 604 }, 605 }, 606 607 'Getopt::Long' => { 608 'DISTRIBUTION' => 'JV/Getopt-Long-2.42.tar.gz', 609 'FILES' => q[cpan/Getopt-Long], 610 'EXCLUDED' => [ 611 qr{^examples/}, 612 qw( perl-Getopt-Long.spec 613 lib/newgetopt.pl 614 t/gol-compat.t 615 ), 616 ], 617 }, 618 619 'HTTP::Tiny' => { 620 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.043.tar.gz', 621 'FILES' => q[cpan/HTTP-Tiny], 622 'EXCLUDED' => [ 623 't/00-report-prereqs.t', 624 't/200_live.t', 625 't/200_live_local_ip.t', 626 't/210_live_ssl.t', 627 qr/^eg/, 628 qr/^xt/ 629 ], 630 }, 631 632 'I18N::Collate' => { 633 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz', 634 'FILES' => q[dist/I18N-Collate], 635 'EXCLUDED' => [qr{^t/release-.*\.t}], 636 }, 637 638 'I18N::LangTags' => { 639 'FILES' => q[dist/I18N-LangTags], 640 }, 641 642 'if' => { 643 'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz', 644 'FILES' => q[dist/if], 645 }, 646 647 'IO' => { 648 'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz', 649 'FILES' => q[dist/IO/], 650 'EXCLUDED' => ['t/test.pl'], 651 }, 652 653 'IO-Compress' => { 654 'DISTRIBUTION' => 'PMQS/IO-Compress-2.064.tar.gz', 655 'FILES' => q[cpan/IO-Compress], 656 'EXCLUDED' => [ 657 qr{^examples/}, 658 qr{^t/Test/}, 659 't/010examples-bzip2.t', 660 't/010examples-zlib.t', 661 't/cz-05examples.t', 662 ], 663 }, 664 665 'IO::Socket::IP' => { 666 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.29.tar.gz', 667 'FILES' => q[cpan/IO-Socket-IP], 668 'EXCLUDED' => [ 669 qr{^examples/}, 670 ], 671 }, 672 673 'IO::Zlib' => { 674 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz', 675 'FILES' => q[cpan/IO-Zlib], 676 }, 677 678 'IPC::Cmd' => { 679 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz', 680 'FILES' => q[cpan/IPC-Cmd], 681 }, 682 683 'IPC::SysV' => { 684 'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz', 685 'FILES' => q[cpan/IPC-SysV], 686 'EXCLUDED' => [ 687 qw( const-c.inc 688 const-xs.inc 689 ), 690 ], 691 }, 692 693 'JSON::PP' => { 694 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27203.tar.gz', 695 'FILES' => q[cpan/JSON-PP], 696 }, 697 698 'lib' => { 699 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz', 700 'FILES' => q[dist/lib/], 701 'EXCLUDED' => [ 702 qw( forPAUSE/lib.pm 703 t/00pod.t 704 ), 705 ], 706 }, 707 708 'libnet' => { 709 'DISTRIBUTION' => 'SHAY/libnet-1.25.tar.gz', 710 'FILES' => q[cpan/libnet], 711 'EXCLUDED' => [ 712 qw( Configure 713 install-nomake 714 ), 715 qr(^demos/), 716 ], 717 # Customized for perl since we cannot use either an auto-generated 718 # script or the version in the CPAN distro. 719 'CUSTOMIZED' => ['Makefile.PL'], 720 }, 721 722 'Locale-Codes' => { 723 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.30.tar.gz', 724 'FILES' => q[cpan/Locale-Codes], 725 'EXCLUDED' => [ 726 qw( README.first 727 t/pod_coverage.ign 728 t/pod_coverage.t 729 t/pod.t), 730 qr{^t/runtests}, 731 qr{^t/runtests\.bat}, 732 qr{^internal/}, 733 qr{^examples/}, 734 ], 735 }, 736 737 'Locale::Maketext' => { 738 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz', 739 'FILES' => q[dist/Locale-Maketext], 740 'EXCLUDED' => [ 741 qw( 742 perlcriticrc 743 t/00_load.t 744 t/pod.t 745 ), 746 ], 747 }, 748 749 'Locale::Maketext::Simple' => { 750 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz', 751 'FILES' => q[cpan/Locale-Maketext-Simple], 752 }, 753 754 'Math::BigInt' => { 755 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz', 756 'FILES' => q[dist/Math-BigInt], 757 'EXCLUDED' => [ 758 qr{^inc/}, 759 qr{^examples/}, 760 qw( t/00sig.t 761 t/01load.t 762 t/02pod.t 763 t/03podcov.t 764 ), 765 ], 766 }, 767 768 'Math::BigInt::FastCalc' => { 769 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz', 770 'FILES' => q[dist/Math-BigInt-FastCalc], 771 'EXCLUDED' => [ 772 qr{^inc/}, 773 qw( t/00sig.t 774 t/01load.t 775 t/02pod.t 776 t/03podcov.t 777 ), 778 779 # instead we use the versions of these test 780 # files that come with Math::BigInt: 781 qw( t/bigfltpm.inc 782 t/bigfltpm.t 783 t/bigintpm.inc 784 t/bigintpm.t 785 t/mbimbf.inc 786 t/mbimbf.t 787 ), 788 ], 789 }, 790 791 'Math::BigRat' => { 792 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz', 793 'FILES' => q[dist/Math-BigRat], 794 'EXCLUDED' => [ 795 qr{^inc/}, 796 qw( t/00sig.t 797 t/01load.t 798 t/02pod.t 799 t/03podcov.t 800 ), 801 ], 802 }, 803 804 'Math::Complex' => { 805 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz', 806 'FILES' => q[cpan/Math-Complex], 807 'EXCLUDED' => [ 808 qw( t/pod.t 809 t/pod-coverage.t 810 ), 811 ], 812 }, 813 814 'Memoize' => { 815 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz', 816 'FILES' => q[cpan/Memoize], 817 'EXCLUDED' => ['article.html'], 818 }, 819 820 'MIME::Base64' => { 821 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz', 822 'FILES' => q[cpan/MIME-Base64], 823 'EXCLUDED' => ['t/bad-sv.t'], 824 }, 825 826 # 827 # To update Module-Build in blead see 828 # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod 829 # 830 831 'Module::Build' => { 832 'DISTRIBUTION' => 'LEONT/Module-Build-0.4205.tar.gz', 833 'FILES' => q[cpan/Module-Build], 834 'EXCLUDED' => [ 835 qw( t/par.t 836 t/signature.t 837 ), 838 qr{^contrib/}, 839 qr{^inc}, 840 ], 841 # Generated file, not part of the CPAN distro: 842 'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'], 843 'DEPRECATED' => '5.019000', 844 }, 845 846 'Module::CoreList' => { 847 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150720.tar.gz', 848 'FILES' => q[dist/Module-CoreList], 849 }, 850 851 'Module::Load' => { 852 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz', 853 'FILES' => q[cpan/Module-Load], 854 }, 855 856 'Module::Load::Conditional' => { 857 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.62.tar.gz', 858 'FILES' => q[cpan/Module-Load-Conditional], 859 }, 860 861 'Module::Loaded' => { 862 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz', 863 'FILES' => q[cpan/Module-Loaded], 864 }, 865 866 'Module::Metadata' => { 867 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000019.tar.gz', 868 'FILES' => q[cpan/Module-Metadata], 869 'EXCLUDED' => [ 870 qr{^maint}, 871 qr{^xt}, 872 ], 873 }, 874 875 'Net::Ping' => { 876 'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz', 877 'FILES' => q[dist/Net-Ping], 878 'EXCLUDED' => [ 879 qr{^.travis.yml}, 880 qr{^README.md}, 881 ], 882 }, 883 884 'NEXT' => { 885 'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz', 886 'FILES' => q[cpan/NEXT], 887 'EXCLUDED' => [qr{^demo/}], 888 }, 889 890 'Package::Constants' => { 891 'DISTRIBUTION' => 'BINGOS/Package-Constants-0.04.tar.gz', 892 'FILES' => q[cpan/Package-Constants], 893 'DEPRECATED' => '5.019006', 894 }, 895 896 'Params::Check' => { 897 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz', 898 'FILES' => q[cpan/Params-Check], 899 }, 900 901 'parent' => { 902 'DISTRIBUTION' => 'CORION/parent-0.228.tar.gz', 903 'FILES' => q[cpan/parent], 904 }, 905 906 'Parse::CPAN::Meta' => { 907 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz', 908 'FILES' => q[cpan/Parse-CPAN-Meta], 909 'EXCLUDED' => [ 910 qw[t/00-report-prereqs.t], 911 qr{^xt}, 912 ], 913 }, 914 915 'PathTools' => { 916 'DISTRIBUTION' => 'SMUELLER/PathTools-3.47.tar.gz', 917 'FILES' => q[dist/PathTools], 918 'EXCLUDED' => [qr{^t/lib/Test/}], 919 }, 920 921 'Perl::OSType' => { 922 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.007.tar.gz', 923 'FILES' => q[cpan/Perl-OSType], 924 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}], 925 }, 926 927 'perlfaq' => { 928 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150044.tar.gz', 929 'FILES' => q[cpan/perlfaq], 930 'EXCLUDED' => [ 931 qw( t/release-pod-syntax.t 932 t/release-eol.t 933 t/release-no-tabs.t 934 ) 935 ], 936 }, 937 938 'PerlIO::via::QuotedPrint' => { 939 'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz', 940 'FILES' => q[cpan/PerlIO-via-QuotedPrint], 941 942 # Waiting to be merged upstream: see CPAN RT#54047 943 'CUSTOMIZED' => [ 944 qw( t/QuotedPrint.t 945 ), 946 ], 947 948 }, 949 950 'Pod::Checker' => { 951 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz', 952 'FILES' => q[cpan/Pod-Checker], 953 }, 954 955 'Pod::Escapes' => { 956 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.06.tar.gz', 957 'FILES' => q[cpan/Pod-Escapes], 958 }, 959 960 'Pod::Parser' => { 961 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.62.tar.gz', 962 'FILES' => q[cpan/Pod-Parser], 963 # Waiting to be merged upstream: see CPAN RT#101847 964 'CUSTOMIZED' => [ qw( lib/Pod/PlainText.pm) ], 965 }, 966 967 'Pod::Perldoc' => { 968 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.23.tar.gz', 969 'FILES' => q[cpan/Pod-Perldoc], 970 971 # Note that we use the CPAN-provided Makefile.PL, since it 972 # contains special handling of the installation of perldoc.pod 973 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 utils 977 # first 978 'EXCLUDED' => ['perldoc'], 979 }, 980 981 'Pod::Simple' => { 982 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz', 983 'FILES' => q[cpan/Pod-Simple], 984 }, 985 986 'Pod::Usage' => { 987 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz', 988 'FILES' => q[cpan/Pod-Usage], 989 }, 990 991 'podlators' => { 992 'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz', 993 'FILES' => q[cpan/podlators pod/perlpodstyle.pod], 994 995 # The perl distribution has pod2man.PL and pod2text.PL, which are 996 # run to create pod2man and pod2text, while the CPAN distribution 997 # just has the post-generated pod2man and pod2text files. 998 # The following entries attempt to codify that odd fact. 999 'CUSTOMIZED' => [ 1000 qw( scripts/pod2man.PL 1001 scripts/pod2text.PL 1002 ), 1003 ], 1004 'MAP' => { 1005 '' => 'cpan/podlators/', 1006 'scripts/pod2man' => 'cpan/podlators/scripts/pod2man.PL', 1007 'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL', 1008 1009 # this file lives outside the cpan/ directory 1010 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod', 1011 }, 1012 }, 1013 1014 'Safe' => { 1015 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz', 1016 'FILES' => q[dist/Safe], 1017 }, 1018 1019 'Scalar-List-Utils' => { 1020 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.38.tar.gz', 1021 'FILES' => q[cpan/Scalar-List-Utils], 1022 }, 1023 1024 'Search::Dict' => { 1025 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz', 1026 'FILES' => q[dist/Search-Dict], 1027 }, 1028 1029 'SelfLoader' => { 1030 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz', 1031 'FILES' => q[dist/SelfLoader], 1032 'EXCLUDED' => ['t/00pod.t'], 1033 }, 1034 1035 'Socket' => { 1036 'DISTRIBUTION' => 'PEVANS/Socket-2.013.tar.gz', 1037 'FILES' => q[cpan/Socket], 1038 }, 1039 1040 'Storable' => { 1041 'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz', 1042 'FILES' => q[dist/Storable], 1043 }, 1044 1045 'Sys::Syslog' => { 1046 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz', 1047 'FILES' => q[cpan/Sys-Syslog], 1048 'EXCLUDED' => [ 1049 qr{^eg/}, 1050 qw( README.win32 1051 t/data-validation.t 1052 t/distchk.t 1053 t/pod.t 1054 t/podcover.t 1055 t/podspell.t 1056 t/portfs.t 1057 win32/PerlLog.RES 1058 ), 1059 ], 1060 }, 1061 1062 'Term::ANSIColor' => { 1063 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz', 1064 'FILES' => q[cpan/Term-ANSIColor], 1065 'EXCLUDED' => [ 1066 qr{^examples/}, 1067 qr{^t/data/}, 1068 qw( t/aliases-env.t 1069 t/critic.t 1070 t/minimum-version.t 1071 t/pod-spelling.t 1072 t/pod-coverage.t 1073 t/pod.t 1074 t/strict.t 1075 t/synopsis.t 1076 ), 1077 ], 1078 }, 1079 1080 'Term::Cap' => { 1081 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.15.tar.gz', 1082 'FILES' => q[cpan/Term-Cap], 1083 }, 1084 1085 'Term::Complete' => { 1086 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz', 1087 'FILES' => q[dist/Term-Complete], 1088 'EXCLUDED' => [qr{^t/release-.*\.t}], 1089 }, 1090 1091 'Term::ReadLine' => { 1092 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz', 1093 'FILES' => q[dist/Term-ReadLine], 1094 'EXCLUDED' => [qr{^t/release-.*\.t}], 1095 }, 1096 1097 'Test' => { 1098 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz', 1099 'FILES' => q[cpan/Test], 1100 }, 1101 1102 'Test::Harness' => { 1103 'DISTRIBUTION' => 'LEONT/Test-Harness-3.30.tar.gz', 1104 'FILES' => q[cpan/Test-Harness], 1105 'EXCLUDED' => [ 1106 qr{^examples/}, 1107 qr{^inc/}, 1108 qr{^t/lib/Test/}, 1109 qr{^xt/}, 1110 qw( Changes-2.64 1111 MANIFEST.CUMMULATIVE 1112 NotBuild.PL 1113 HACKING.pod 1114 perlcriticrc 1115 t/000-load.t 1116 t/lib/if.pm 1117 ), 1118 ], 1119 }, 1120 1121 'Test::Simple' => { 1122 'DISTRIBUTION' => 'RJBS/Test-Simple-1.001002.tar.gz', 1123 'FILES' => q[cpan/Test-Simple], 1124 'EXCLUDED' => [ 1125 qr{^t/xt}, 1126 qw( .perlcriticrc 1127 .perltidyrc 1128 examples/indent.pl 1129 examples/subtest.t 1130 t/00compile.t 1131 t/pod.t 1132 t/pod-coverage.t 1133 t/Builder/reset_outputs.t 1134 lib/Test/Builder/IO/Scalar.pm 1135 ), 1136 ], 1137 }, 1138 1139 'Text::Abbrev' => { 1140 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz', 1141 'FILES' => q[dist/Text-Abbrev], 1142 'EXCLUDED' => [qr{^t/release-.*\.t}], 1143 }, 1144 1145 'Text::Balanced' => { 1146 'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz', 1147 'FILES' => q[cpan/Text-Balanced], 1148 'EXCLUDED' => [ 1149 qw( t/97_meta.t 1150 t/98_pod.t 1151 t/99_pmv.t 1152 ), 1153 ], 1154 1155 # Waiting to be merged upstream: see CPAN RT#87788 1156 'CUSTOMIZED' => [ 1157 qw( t/01_compile.t 1158 t/02_extbrk.t 1159 t/03_extcbk.t 1160 t/04_extdel.t 1161 t/05_extmul.t 1162 t/06_extqlk.t 1163 t/07_exttag.t 1164 t/08_extvar.t 1165 t/09_gentag.t 1166 ), 1167 ], 1168 1169 }, 1170 1171 'Text::ParseWords' => { 1172 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz', 1173 'FILES' => q[cpan/Text-ParseWords], 1174 1175 # Waiting to be merged upstream: see CPAN RT#50929 1176 'CUSTOMIZED' => [ 1177 qw( t/ParseWords.t 1178 t/taint.t 1179 ), 1180 ], 1181 1182 # For the benefit of make_ext.pl, we have to have this accessible: 1183 'MAP' => { 1184 'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm', 1185 '' => 'cpan/Text-ParseWords/', 1186 }, 1187 }, 1188 1189 'Text-Tabs+Wrap' => { 1190 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz', 1191 'FILES' => q[cpan/Text-Tabs], 1192 'EXCLUDED' => [ 1193 qr/^lib\.old/, 1194 't/dnsparks.t', # see af6492bf9e 1195 ], 1196 'MAP' => { 1197 '' => 'cpan/Text-Tabs/', 1198 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm', 1199 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm', 1200 }, 1201 }, 1202 1203 # Jerry Hedden does take patches that are applied to blead first, even 1204 # though that can be hard to discern from the Git history; so it's 1205 # correct for this (and Thread::Semaphore, threads, and threads::shared) 1206 # to be under dist/ rather than cpan/ 1207 'Thread::Queue' => { 1208 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz', 1209 'FILES' => q[dist/Thread-Queue], 1210 'EXCLUDED' => [ 1211 qr{^examples/}, 1212 qw( t/00_load.t 1213 t/99_pod.t 1214 t/test.pl 1215 ), 1216 ], 1217 }, 1218 1219 'Thread::Semaphore' => { 1220 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz', 1221 'FILES' => q[dist/Thread-Semaphore], 1222 'EXCLUDED' => [ 1223 qw( examples/semaphore.pl 1224 t/00_load.t 1225 t/99_pod.t 1226 t/test.pl 1227 ), 1228 ], 1229 }, 1230 1231 'threads' => { 1232 'DISTRIBUTION' => 'JDHEDDEN/threads-1.92.tar.gz', 1233 'FILES' => q[dist/threads], 1234 'EXCLUDED' => [ 1235 qr{^examples/}, 1236 qw( t/pod.t 1237 t/test.pl 1238 threads.h 1239 ), 1240 ], 1241 }, 1242 1243 'threads::shared' => { 1244 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz', 1245 'FILES' => q[dist/threads-shared], 1246 'EXCLUDED' => [ 1247 qw( examples/class.pl 1248 shared.h 1249 t/pod.t 1250 t/test.pl 1251 ), 1252 ], 1253 }, 1254 1255 'Tie::File' => { 1256 'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz', 1257 'FILES' => q[dist/Tie-File], 1258 }, 1259 1260 'Tie::RefHash' => { 1261 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz', 1262 'FILES' => q[cpan/Tie-RefHash], 1263 }, 1264 1265 'Time::HiRes' => { 1266 'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz', 1267 'FILES' => q[cpan/Time-HiRes], 1268 }, 1269 1270 'Time::Local' => { 1271 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz', 1272 'FILES' => q[cpan/Time-Local], 1273 'EXCLUDED' => [ 1274 qr{^t/release-.*\.t}, 1275 ], 1276 }, 1277 1278 'Time::Piece' => { 1279 'DISTRIBUTION' => 'RJBS/Time-Piece-1.27.tar.gz', 1280 'FILES' => q[cpan/Time-Piece], 1281 }, 1282 1283 'Unicode::Collate' => { 1284 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.04.tar.gz', 1285 'FILES' => q[cpan/Unicode-Collate], 1286 'EXCLUDED' => [ 1287 qr{N$}, 1288 qr{^data/}, 1289 qr{^gendata/}, 1290 qw( disableXS 1291 enableXS 1292 mklocale 1293 ), 1294 ], 1295 }, 1296 1297 'Unicode::Normalize' => { 1298 'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.17.tar.gz', 1299 'FILES' => q[cpan/Unicode-Normalize], 1300 'EXCLUDED' => [ 1301 qw( MANIFEST.N 1302 Normalize.pmN 1303 disableXS 1304 enableXS 1305 ), 1306 ], 1307 }, 1308 1309 'version' => { 1310 'DISTRIBUTION' => 'JPEACOCK/version-0.9909.tar.gz', 1311 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc], 1312 'EXCLUDED' => [ 1313 qr{^vutil/lib/}, 1314 'vutil/Makefile.PL', 1315 'vutil/ppport.h', 1316 'vutil/vxs.xs', 1317 't/survey_locales', 1318 ], 1319 1320 # When adding the CPAN-distributed files for version.pm, it is necessary 1321 # to delete an entire block out of lib/version.pm, since that code is 1322 # only necessary with the CPAN release. 1323 'CUSTOMIZED' => [ 1324 qw( lib/version.pm 1325 ), 1326 ], 1327 1328 'MAP' => { 1329 'vperl/' => 'cpan/version/lib/version/', 1330 'vutil/' => '', 1331 '' => 'cpan/version/', 1332 }, 1333 }, 1334 1335 'warnings' => { 1336 'FILES' => q[ 1337 lib/warnings 1338 lib/warnings.{pm,t} 1339 regen/warnings.pl 1340 t/lib/warnings 1341 ], 1342 }, 1343 1344 'Win32' => { 1345 'DISTRIBUTION' => "JDB/Win32-0.49.tar.gz", 1346 'FILES' => q[cpan/Win32], 1347 }, 1348 1349 'Win32API::File' => { 1350 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz', 1351 'FILES' => q[cpan/Win32API-File], 1352 'EXCLUDED' => [ 1353 qr{^ex/}, 1354 't/pod.t', 1355 ], 1356 }, 1357 1358 'XSLoader' => { 1359 'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz', 1360 'FILES' => q[dist/XSLoader], 1361 'EXCLUDED' => [ 1362 qr{^eg/}, 1363 qw( t/00-load.t 1364 t/01-api.t 1365 t/distchk.t 1366 t/pod.t 1367 t/podcover.t 1368 t/portfs.t 1369 ), 1370 'XSLoader.pm', # we use XSLoader_pm.PL 1371 ], 1372 }, 1373 1374 # this pseudo-module represents all the files under ext/ and lib/ 1375 # that aren't otherwise claimed. This means that the following two 1376 # commands will check that every file under ext/ and lib/ is 1377 # accounted for, and that there are no duplicates: 1378 # 1379 # perl Porting/Maintainers --checkmani lib ext 1380 # perl Porting/Maintainers --checkmani 1381 1382 '_PERLLIB' => { 1383 'FILES' => q[ 1384 ext/B/ 1385 ext/Devel-Peek/ 1386 ext/DynaLoader/ 1387 ext/Errno/ 1388 ext/ExtUtils-Miniperl/ 1389 ext/Fcntl/ 1390 ext/File-DosGlob/ 1391 ext/File-Find/ 1392 ext/File-Glob/ 1393 ext/FileCache/ 1394 ext/GDBM_File/ 1395 ext/Hash-Util-FieldHash/ 1396 ext/Hash-Util/ 1397 ext/I18N-Langinfo/ 1398 ext/IPC-Open3/ 1399 ext/NDBM_File/ 1400 ext/ODBM_File/ 1401 ext/Opcode/ 1402 ext/POSIX/ 1403 ext/PerlIO-encoding/ 1404 ext/PerlIO-mmap/ 1405 ext/PerlIO-scalar/ 1406 ext/PerlIO-via/ 1407 ext/Pod-Functions/ 1408 ext/Pod-Html/ 1409 ext/SDBM_File/ 1410 ext/Sys-Hostname/ 1411 ext/Tie-Hash-NamedCapture/ 1412 ext/Tie-Memoize/ 1413 ext/VMS-DCLsym/ 1414 ext/VMS-Filespec/ 1415 ext/VMS-Stdio/ 1416 ext/Win32CORE/ 1417 ext/XS-APItest/ 1418 ext/XS-Typemap/ 1419 ext/arybase/ 1420 ext/attributes/ 1421 ext/mro/ 1422 ext/re/ 1423 lib/AnyDBM_File.{pm,t} 1424 lib/Benchmark.{pm,t} 1425 lib/B/Deparse{.pm,.t,-core.t} 1426 lib/CORE.pod 1427 lib/Class/Struct.{pm,t} 1428 lib/Config.t 1429 lib/Config/Extensions.{pm,t} 1430 lib/DB.{pm,t} 1431 lib/DBM_Filter.pm 1432 lib/DBM_Filter/ 1433 lib/DirHandle.{pm,t} 1434 lib/English.{pm,t} 1435 lib/ExtUtils/Embed.pm 1436 lib/ExtUtils/XSSymSet.pm 1437 lib/ExtUtils/t/Embed.t 1438 lib/ExtUtils/typemap 1439 lib/File/Basename.{pm,t} 1440 lib/File/Compare.{pm,t} 1441 lib/File/Copy.{pm,t} 1442 lib/File/stat{.pm,.t,-7896.t} 1443 lib/FileHandle.{pm,t} 1444 lib/FindBin.{pm,t} 1445 lib/Getopt/Std.{pm,t} 1446 lib/Internals.t 1447 lib/Net/hostent.{pm,t} 1448 lib/Net/netent.{pm,t} 1449 lib/Net/protoent.{pm,t} 1450 lib/Net/servent.{pm,t} 1451 lib/PerlIO.pm 1452 lib/Pod/t/InputObjects.t 1453 lib/Pod/t/Select.t 1454 lib/Pod/t/Usage.t 1455 lib/Pod/t/utils.t 1456 lib/SelectSaver.{pm,t} 1457 lib/Symbol.{pm,t} 1458 lib/Thread.{pm,t} 1459 lib/Tie/Array.pm 1460 lib/Tie/Array/ 1461 lib/Tie/ExtraHash.t 1462 lib/Tie/Handle.pm 1463 lib/Tie/Handle/ 1464 lib/Tie/Hash.{pm,t} 1465 lib/Tie/Scalar.{pm,t} 1466 lib/Tie/StdHandle.pm 1467 lib/Tie/SubstrHash.{pm,t} 1468 lib/Time/gmtime.{pm,t} 1469 lib/Time/localtime.{pm,t} 1470 lib/Time/tm.pm 1471 lib/UNIVERSAL.pm 1472 lib/Unicode/README 1473 lib/Unicode/UCD.{pm,t} 1474 lib/User/grent.{pm,t} 1475 lib/User/pwent.{pm,t} 1476 lib/_charnames.pm 1477 lib/blib.{pm,t} 1478 lib/bytes.{pm,t} 1479 lib/bytes_heavy.pl 1480 lib/charnames.{pm,t} 1481 lib/dbm_filter_util.pl 1482 lib/deprecate.pm 1483 lib/diagnostics.{pm,t} 1484 lib/dumpvar.{pl,t} 1485 lib/feature.{pm,t} 1486 lib/feature/ 1487 lib/filetest.{pm,t} 1488 lib/h2ph.t 1489 lib/h2xs.t 1490 lib/integer.{pm,t} 1491 lib/less.{pm,t} 1492 lib/locale.{pm,t} 1493 lib/open.{pm,t} 1494 lib/overload/numbers.pm 1495 lib/overloading.{pm,t} 1496 lib/overload{.pm,.t,64.t} 1497 lib/perl5db.{pl,t} 1498 lib/perl5db/ 1499 lib/sigtrap.{pm,t} 1500 lib/sort.{pm,t} 1501 lib/strict.{pm,t} 1502 lib/subs.{pm,t} 1503 lib/unicore/ 1504 lib/utf8.{pm,t} 1505 lib/utf8_heavy.pl 1506 lib/vars{.pm,.t,_carp.t} 1507 lib/vmsish.{pm,t} 1508 ], 1509 }, 1510 'openbsd' => { 1511 'FILES' => q[lib/Config_git.pl], 1512 }, 1513); 1514 1515# legacy CPAN flag 1516for ( values %Modules ) { 1517 $_->{CPAN} = !!$_->{DISTRIBUTION}; 1518} 1519 1520# legacy UPSTREAM flag 1521for ( keys %Modules ) { 1522 # Keep any existing UPSTREAM flag so that "overrides" can be applied 1523 next if exists $Modules{$_}{UPSTREAM}; 1524 1525 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) { 1526 $Modules{$_}{UPSTREAM} = 'blead'; 1527 } 1528 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) { 1529 $Modules{$_}{UPSTREAM} = 'cpan'; 1530 } 1531 else { 1532 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}"; 1533 } 1534} 1535 1536# legacy MAINTAINER field 1537for ( keys %Modules ) { 1538 # Keep any existing MAINTAINER flag so that "overrides" can be applied 1539 next if exists $Modules{$_}{MAINTAINER}; 1540 1541 if ($Modules{$_}{UPSTREAM} eq 'blead') { 1542 $Modules{$_}{MAINTAINER} = 'P5P'; 1543 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>'; 1544 } 1545 elsif (exists $Modules{$_}{DISTRIBUTION}) { 1546 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{}; 1547 $Modules{$_}{MAINTAINER} = $pause_id; 1548 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>"; 1549 } 1550 else { 1551 warn "No DISTRIBUTION for non-blead module $_"; 1552 } 1553} 1554 15551; 1556