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 .github .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. (For dist/ distributions, 69# which are blead-first, a request should be placed with the releaser(s) to 70# upload the corresponding cpan release, and the entry in this file should 71# only be updated when that release has been done.) 72 73# MAIN_MODULE names the top-level module by which the tarball is indexed on 74# CPAN in cases where this differs from the distribution's key in %Modules. 75# (If it is equal then MAIN_MODULE is optional and should be omitted.) 76 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 82# CUSTOMIZED is a list of files that have been customized within the 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 87# customization might have been lost when updating from upstream. The 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. 92 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 deprecate.pm to 96# issue a warning if used. E.g.: 97# 98# use if $] >= 5.011, 'deprecate'; 99# 100 101# MAP is a hash that maps CPAN paths to their core equivalents. 102# Each key represents a string prefix, with longest prefixes checked 103# first. The first match causes that prefix to be replaced with the 104# corresponding key. For example, with the following MAP: 105# { 106# 'lib/' => 'lib/', 107# '' => 'lib/Foo/', 108# }, 109# 110# these files are mapped as shown: 111# 112# README becomes lib/Foo/README 113# lib/Foo.pm becomes lib/Foo.pm 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# 122# { 123# 'lib/' => 'lib/', 124# '' => 'lib/Foo/Bar/', 125# } 126 127%Modules = ( 128 129 'Archive::Tar' => { 130 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.40.tar.gz', 131 'FILES' => q[cpan/Archive-Tar], 132 'BUGS' => 'bug-archive-tar@rt.cpan.org', 133 'EXCLUDED' => [ 134 qw(t/07_ptardiff.t), 135 qr{t/src/(long|short)/foo.txz}, 136 ], 137 }, 138 139 'Attribute::Handlers' => { 140 'DISTRIBUTION' => 'RJBS/Attribute-Handlers-0.99.tar.gz', 141 'FILES' => q[dist/Attribute-Handlers], 142 }, 143 144 'autodie' => { 145 'DISTRIBUTION' => 'TODDR/autodie-2.36.tar.gz', 146 'FILES' => q[cpan/autodie], 147 'EXCLUDED' => [ 148 qr{benchmarks}, 149 qr{README\.md}, 150 qr{^xt/}, 151 # All these tests depend upon external 152 # modules that don't exist when we're 153 # building the core. Hence, they can 154 # never run, and should not be merged. 155 qw( t/author-critic.t 156 t/critic.t 157 t/fork.t 158 t/kwalitee.t 159 t/lex58.t 160 t/pod-coverage.t 161 t/pod.t 162 t/release-pod-coverage.t 163 t/release-pod-syntax.t 164 t/socket.t 165 t/system.t 166 t/no-all.t 167 ) 168 ], 169 }, 170 171 'AutoLoader' => { 172 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz', 173 'FILES' => q[cpan/AutoLoader], 174 'EXCLUDED' => ['t/00pod.t'], 175 'CUSTOMIZED' => ['t/02AutoSplit.t'], 176 }, 177 178 'autouse' => { 179 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz', 180 'FILES' => q[dist/autouse], 181 'EXCLUDED' => [qr{^t/release-.*\.t}], 182 }, 183 184 'base' => { 185 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz', 186 'FILES' => q[dist/base], 187 }, 188 189 'bignum' => { 190 'DISTRIBUTION' => 'PJACKLAM/bignum-0.66.tar.gz', 191 'FILES' => q[cpan/bignum], 192 'EXCLUDED' => [ 193 qr{^xt/}, 194 qr{^t/author-}, 195 qr{^t/release-}, 196 qw( t/00sig.t 197 t/01load.t 198 ), 199 ], 200 }, 201 202 'Carp' => { 203 'DISTRIBUTION' => 'XSAWYERX/Carp-1.50.tar.gz', 204 'FILES' => q[dist/Carp], 205 }, 206 207 'Compress::Raw::Bzip2' => { 208 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.204.tar.gz', 209 'FILES' => q[cpan/Compress-Raw-Bzip2], 210 'EXCLUDED' => [ 211 qr{^t/Test/}, 212 qr{^t/meta}, 213 'bzip2-src/bzip2-const.patch', 214 'bzip2-src/bzip2-cpp.patch', 215 'bzip2-src/bzip2-unsigned.patch', 216 ], 217 'CUSTOMIZED' => [ 218 # https://github.com/pmqs/Compress-Raw-Bzip2/issues/11 219 'Bzip2.xs', 220 'lib/Compress/Raw/Bzip.pm' 221 ], 222 }, 223 224 'Compress::Raw::Zlib' => { 225 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.204.tar.gz', 226 'FILES' => q[cpan/Compress-Raw-Zlib], 227 'EXCLUDED' => [ 228 qr{^examples/}, 229 qr{^t/Test/}, 230 qr{^t/meta}, 231 qw( t/000prereq.t 232 t/99pod.t 233 ), 234 ], 235 'CUSTOMIZED' => [ 236 # https://github.com/pmqs/Compress-Raw-Zlib/issues/23 237 'lib/Compress/Raw/Zlib.pm', 238 'Zlib.xs' 239 ], 240 }, 241 242 'Config::Perl::V' => { 243 'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.36.tgz', 244 'SYNCINFO' => 'yorton on Sat Mar 4 10:43:06 2023', 245 'FILES' => q[cpan/Config-Perl-V], 246 'EXCLUDED' => [qw( 247 examples/show-v.pl 248 )], 249 }, 250 251 'constant' => { 252 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz', 253 'FILES' => q[dist/constant], 254 'EXCLUDED' => [ 255 qw( t/00-load.t 256 t/more-tests.t 257 t/pod-coverage.t 258 t/pod.t 259 eg/synopsis.pl 260 ), 261 ], 262 }, 263 264 'CPAN' => { 265 'DISTRIBUTION' => 'ANDK/CPAN-2.36.tar.gz', 266 'FILES' => q[cpan/CPAN], 267 'EXCLUDED' => [ 268 qr{^distroprefs/}, 269 qr{^inc/Test/}, 270 qr{^t/CPAN/}, 271 qr{^t/data/}, 272 qr{^t/97-}, 273 qw( lib/CPAN/Admin.pm 274 scripts/cpan-mirrors 275 PAUSE2015.pub 276 PAUSE2019.pub 277 PAUSE2021.pub 278 SlayMakefile 279 t/00signature.t 280 t/04clean_load.t 281 t/12cpan.t 282 t/13tarzip.t 283 t/14forkbomb.t 284 t/30shell.coverage 285 t/30shell.t 286 t/31sessions.t 287 t/41distribution.t 288 t/42distroprefs.t 289 t/43distroprefspref.t 290 t/44cpanmeta.t 291 t/50pod.t 292 t/51pod.t 293 t/52podcover.t 294 t/60credentials.t 295 t/70_critic.t 296 t/71_minimumversion.t 297 t/local_utils.pm 298 t/perlcriticrc 299 t/yaml_code.yml 300 ), 301 ], 302 }, 303 304 # Note: When updating CPAN-Meta the META.* files will need to be regenerated 305 # perl -Icpan/CPAN-Meta/lib Porting/makemeta 306 'CPAN::Meta' => { 307 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz', 308 'FILES' => q[cpan/CPAN-Meta], 309 'EXCLUDED' => [ 310 qw[t/00-report-prereqs.t 311 t/00-report-prereqs.dd 312 ], 313 qr{^xt}, 314 qr{^history}, 315 ], 316 }, 317 318 'CPAN::Meta::Requirements' => { 319 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz', 320 'FILES' => q[cpan/CPAN-Meta-Requirements], 321 'EXCLUDED' => [ 322 qw(t/00-report-prereqs.t), 323 qw(t/00-report-prereqs.dd), 324 qw(t/version-cleanup.t), 325 qr{^xt}, 326 ], 327 }, 328 329 'CPAN::Meta::YAML' => { 330 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz', 331 'FILES' => q[cpan/CPAN-Meta-YAML], 332 'EXCLUDED' => [ 333 't/00-report-prereqs.t', 334 't/00-report-prereqs.dd', 335 qr{^xt}, 336 ], 337 }, 338 339 'Data::Dumper' => { 340 'DISTRIBUTION' => 'NWCLARK/Data-Dumper-2.183.tar.gz', 341 'FILES' => q[dist/Data-Dumper], 342 }, 343 344 'DB_File' => { 345 'DISTRIBUTION' => 'PMQS/DB_File-1.858.tar.gz', 346 'FILES' => q[cpan/DB_File], 347 'EXCLUDED' => [ 348 qr{^patches/}, 349 qr{^t/meta}, 350 qw( t/pod.t 351 t/000prereq.t 352 fallback.h 353 fallback.xs 354 ), 355 ], 356 }, 357 358 'Devel::PPPort' => { 359 'DISTRIBUTION' => 'ATOOMIC/Devel-PPPort-3.68.tar.gz', 360 'FILES' => q[dist/Devel-PPPort], 361 'EXCLUDED' => [ 362 'PPPort.pm', # we use PPPort_pm.PL instead 363 ], 364 }, 365 366 'Devel::SelfStubber' => { 367 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz', 368 'FILES' => q[dist/Devel-SelfStubber], 369 'EXCLUDED' => [qr{^t/release-.*\.t}], 370 }, 371 372 'Digest' => { 373 'DISTRIBUTION' => 'TODDR/Digest-1.20.tar.gz', 374 'FILES' => q[cpan/Digest], 375 'EXCLUDED' => ['digest-bench'], 376 }, 377 378 'Digest::MD5' => { 379 'DISTRIBUTION' => 'TODDR/Digest-MD5-2.58.tar.gz', 380 'FILES' => q[cpan/Digest-MD5], 381 'EXCLUDED' => [ 'rfc1321.txt', 'bin/md5sum.pl' ], 382 'CUSTOMIZED' => [ 383 # https://github.com/Dual-Life/digest-md5/pull/24 384 'MD5.pm', 385 'MD5.xs' 386 ], 387 }, 388 389 'Digest::SHA' => { 390 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.04.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-3.19.tar.gz', 408 'FILES' => q[cpan/Encode], 409 'EXCLUDED' => [ 410 qw( t/whatwg-aliases.json 411 t/whatwg-aliases.t 412 ), 413 ], 414 }, 415 416 'encoding::warnings' => { 417 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz', 418 'FILES' => q[dist/encoding-warnings], 419 'EXCLUDED' => [ 420 qr{^inc/Module/}, 421 qw(t/0-signature.t), 422 ], 423 }, 424 425 'Env' => { 426 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz', 427 'FILES' => q[dist/Env], 428 'EXCLUDED' => [qr{^t/release-.*\.t}], 429 }, 430 431 'experimental' => { 432 'DISTRIBUTION' => 'LEONT/experimental-0.031.tar.gz', 433 'FILES' => q[cpan/experimental], 434 'EXCLUDED' => [qr{^xt/}], 435 }, 436 437 'Exporter' => { 438 'DISTRIBUTION' => 'TODDR/Exporter-5.77.tar.gz', 439 'FILES' => q[dist/Exporter], 440 'EXCLUDED' => [ 441 qw( t/pod.t 442 t/use.t 443 ), 444 ], 445 }, 446 447 'ExtUtils::CBuilder' => { 448 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280236.tar.gz', 449 'FILES' => q[dist/ExtUtils-CBuilder], 450 'EXCLUDED' => [ 451 qw(README.mkdn), 452 qr{^xt}, 453 ], 454 }, 455 456 'ExtUtils::Constant' => { 457 458 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz', 459 'FILES' => q[cpan/ExtUtils-Constant], 460 'CUSTOMIZED' => [ 461 # https://rt.cpan.org/Ticket/Display.html?id=142181 462 'lib/ExtUtils/Constant/Base.pm', 463 464 # https://rt.cpan.org/Public/Bug/Display.html?id=132995 465 # https://rt.cpan.org/Ticket/Display.html?id=142183 466 't/Constant.t', 467 ], 468 'EXCLUDED' => [ 469 qw( lib/ExtUtils/Constant/Aaargh56Hash.pm 470 examples/perl_keyword.pl 471 examples/perl_regcomp_posix_keyword.pl 472 ), 473 ], 474 }, 475 476 'ExtUtils::Install' => { 477 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.22.tar.gz', 478 'FILES' => q[cpan/ExtUtils-Install], 479 'EXCLUDED' => [ 480 qw( t/lib/Test/Builder.pm 481 t/lib/Test/Builder/Module.pm 482 t/lib/Test/More.pm 483 t/lib/Test/Simple.pm 484 t/pod-coverage.t 485 t/pod.t 486 ), 487 ], 488 }, 489 490 'ExtUtils::MakeMaker' => { 491 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.70.tar.gz', 492 'SYNCINFO' => 'yorton on Sun Mar 26 16:20:23 2023', 493 'FILES' => q[cpan/ExtUtils-MakeMaker], 494 'EXCLUDED' => [ 495 qr{^t/lib/Test/}, 496 qr{^(bundled|my)/}, 497 qr{^t/Liblist_Kid.t}, 498 qr{^t/liblist/}, 499 qr{^\.perlcriticrc}, 500 'PATCHING', 501 'README.packaging', 502 'lib/ExtUtils/MakeMaker/version/vpp.pm', 503 ], 504 }, 505 506 'ExtUtils::PL2Bat' => { 507 'DISTRIBUTION' => 'LEONT/ExtUtils-PL2Bat-0.005.tar.gz', 508 'FILES' => q[cpan/ExtUtils-PL2Bat], 509 'EXCLUDED' => [ 510 't/00-compile.t', 511 'script/pl2bat.pl' 512 ], 513 }, 514 515 'ExtUtils::Manifest' => { 516 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.73.tar.gz', 517 'FILES' => q[cpan/ExtUtils-Manifest], 518 'EXCLUDED' => [ 519 qr(^t/00-report-prereqs), 520 qr(^xt/) 521 ], 522 }, 523 524 'ExtUtils::ParseXS' => { 525 'DISTRIBUTION' => 'XSAWYERX/ExtUtils-ParseXS-3.44.tar.gz', 526 'FILES' => q[dist/ExtUtils-ParseXS], 527 }, 528 529 'File::Fetch' => { 530 'DISTRIBUTION' => 'BINGOS/File-Fetch-1.04.tar.gz', 531 'FILES' => q[cpan/File-Fetch], 532 }, 533 534 'File::Path' => { 535 'DISTRIBUTION' => 'JKEENAN/File-Path-2.18.tar.gz', 536 'FILES' => q[cpan/File-Path], 537 'EXCLUDED' => [ 538 qw(t/Path-Class.t), 539 qr{^xt/}, 540 ], 541 }, 542 543 'File::Temp' => { 544 'DISTRIBUTION' => 'ETHER/File-Temp-0.2311.tar.gz', 545 'FILES' => q[cpan/File-Temp], 546 'EXCLUDED' => [ 547 qw( README.mkdn 548 misc/benchmark.pl 549 misc/results.txt 550 ), 551 qr[^t/00-report-prereqs], 552 qr{^xt}, 553 ], 554 }, 555 556 'Filter::Simple' => { 557 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz', 558 'FILES' => q[dist/Filter-Simple], 559 'EXCLUDED' => [ 560 qr{^demo/} 561 ], 562 }, 563 564 'Filter::Util::Call' => { 565 'DISTRIBUTION' => 'RURBAN/Filter-1.64.tar.gz', 566 'FILES' => q[cpan/Filter-Util-Call 567 pod/perlfilter.pod 568 ], 569 'EXCLUDED' => [ 570 qr{^decrypt/}, 571 qr{^examples/}, 572 qr{^Exec/}, 573 qr{^lib/Filter/}, 574 qr{^tee/}, 575 qw( .appveyor.yml 576 .cirrus.yml 577 .github/workflows/testsuite.yml 578 .whitesource 579 Call/Makefile.PL 580 Call/ppport.h 581 Call/typemap 582 mytest 583 t/cpp.t 584 t/decrypt.t 585 t/exec.t 586 t/m4.t 587 t/order.t 588 t/sh.t 589 t/tee.t 590 t/z_kwalitee.t 591 t/z_manifest.t 592 t/z_meta.t 593 t/z_perl_minimum_version.t 594 t/z_pod-coverage.t 595 t/z_pod.t 596 ), 597 ], 598 'MAP' => { 599 'Call/' => 'cpan/Filter-Util-Call/', 600 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl', 601 'perlfilter.pod' => 'pod/perlfilter.pod', 602 '' => 'cpan/Filter-Util-Call/', 603 }, 604 'CUSTOMIZED' => [ 605 qw(pod/perlfilter.pod) 606 ], 607 }, 608 609 'FindBin' => { 610 'DISTRIBUTION' => 'TODDR/FindBin-1.53.tar.gz', 611 'FILES' => q[dist/FindBin], 612 }, 613 614 'Getopt::Long' => { 615 'DISTRIBUTION' => 'JV/Getopt-Long-2.54.tar.gz', 616 'FILES' => q[cpan/Getopt-Long], 617 'EXCLUDED' => [ 618 qr{^examples/}, 619 qw( lib/newgetopt.pl 620 t/gol-compat.t 621 ), 622 ], 623 }, 624 625 'HTTP::Tiny' => { 626 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.086.tar.gz', 627 'FILES' => q[cpan/HTTP-Tiny], 628 'EXCLUDED' => [ 629 'corpus/snake-oil.crt', # only used by 210_live_ssl.t 630 't/00-report-prereqs.t', 631 't/00-report-prereqs.dd', 632 't/200_live.t', 633 't/200_live_local_ip.t', 634 't/210_live_ssl.t', 635 qr/^eg/, 636 qr/^xt/ 637 ], 638 }, 639 640 'I18N::Collate' => { 641 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz', 642 'FILES' => q[dist/I18N-Collate], 643 'EXCLUDED' => [qr{^t/release-.*\.t}], 644 }, 645 646 'I18N::LangTags' => { 647 'FILES' => q[dist/I18N-LangTags], 648 }, 649 650 'if' => { 651 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz', 652 'FILES' => q[dist/if], 653 }, 654 655 'IO' => { 656 'DISTRIBUTION' => 'TODDR/IO-1.51.tar.gz', 657 'FILES' => q[dist/IO], 658 'EXCLUDED' => ['t/test.pl'], 659 }, 660 661 'IO-Compress' => { 662 'DISTRIBUTION' => 'PMQS/IO-Compress-2.204.tar.gz', 663 'MAIN_MODULE' => 'IO::Compress::Base', 664 'FILES' => q[cpan/IO-Compress], 665 'EXCLUDED' => [ 666 qr{^examples/}, 667 qr{^t/Test/}, 668 qr{^t/999meta-}, 669 't/010examples-bzip2.t', 670 't/010examples-zlib.t', 671 't/cz-05examples.t', 672 ], 673 }, 674 675 'IO::Socket::IP' => { 676 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.41.tar.gz', 677 'FILES' => q[cpan/IO-Socket-IP], 678 'EXCLUDED' => [ 679 qr{^examples/}, 680 ], 681 'CUSTOMIZED' => [ 682 # https://rt.cpan.org/Ticket/Display.html?id=148293 683 'lib/IO/Socket/IP.pm' 684 ], 685 }, 686 687 'IO::Zlib' => { 688 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.14.tar.gz', 689 'FILES' => q[cpan/IO-Zlib], 690 }, 691 692 'IPC::Cmd' => { 693 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.04.tar.gz', 694 'FILES' => q[cpan/IPC-Cmd], 695 }, 696 697 'IPC::SysV' => { 698 'DISTRIBUTION' => 'MHX/IPC-SysV-2.09.tar.gz', 699 'FILES' => q[cpan/IPC-SysV], 700 'EXCLUDED' => [ 701 qw( const-c.inc 702 const-xs.inc 703 ), 704 ], 705 }, 706 707 'JSON::PP' => { 708 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.16.tar.gz', 709 'FILES' => q[cpan/JSON-PP], 710 }, 711 712 'lib' => { 713 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz', 714 'FILES' => q[dist/lib], 715 'EXCLUDED' => [ 716 qw( forPAUSE/lib.pm 717 t/00pod.t 718 ), 719 ], 720 }, 721 722 'libnet' => { 723 'DISTRIBUTION' => 'SHAY/libnet-3.15.tar.gz', 724 'SYNCINFO' => 'yorton on Mon Mar 20 20:48:38 2023', 725 'MAIN_MODULE' => 'Net::Cmd', 726 'FILES' => q[cpan/libnet], 727 'EXCLUDED' => [ 728 qw( Configure 729 t/changes.t 730 t/critic.t 731 t/pod.t 732 t/pod_coverage.t 733 ), 734 qr(^demos/), 735 qr(^t/external/), 736 ], 737 }, 738 739 'Locale::Maketext' => { 740 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.32.tar.gz', 741 'FILES' => q[dist/Locale-Maketext], 742 'EXCLUDED' => [ 743 qw( 744 perlcriticrc 745 t/00_load.t 746 t/pod.t 747 ), 748 ], 749 }, 750 751 'Locale::Maketext::Simple' => { 752 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz', 753 'FILES' => q[cpan/Locale-Maketext-Simple], 754 'CUSTOMIZED' => [ 755 # CVE-2016-1238 756 qw( lib/Locale/Maketext/Simple.pm ) 757 ], 758 }, 759 760 'Math::BigInt' => { 761 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999837.tar.gz', 762 'FILES' => q[cpan/Math-BigInt], 763 'EXCLUDED' => [ 764 qr{^xt/}, 765 qr{^examples/}, 766 qr{^t/author-}, 767 qr{^t/release-}, 768 qw( t/00sig.t 769 t/01load.t 770 ), 771 ], 772 }, 773 774 'Math::BigInt::FastCalc' => { 775 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5013.tar.gz', 776 'FILES' => q[cpan/Math-BigInt-FastCalc], 777 'EXCLUDED' => [ 778 qr{^inc/}, 779 qr{^xt/}, 780 qr{^t/author-}, 781 qr{^t/release-}, 782 qr{^t/Math/BigInt/Lib/TestUtil.pm}, 783 qw( t/00sig.t 784 t/01load.t 785 ), 786 787 # instead we use the versions of these test 788 # files that come with Math::BigInt: 789 qw( t/bigfltpm.inc 790 t/bigfltpm.t 791 t/bigintpm.inc 792 t/bigintpm.t 793 t/mbimbf.inc 794 t/mbimbf.t 795 ), 796 ], 797 }, 798 799 'Math::BigRat' => { 800 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2624.tar.gz', 801 'FILES' => q[cpan/Math-BigRat], 802 'EXCLUDED' => [ 803 qr{^xt/}, 804 qr{^math-bigrat-pod.diff}, 805 qr{^t/author-}, 806 qr{^t/release-}, 807 qw( t/00sig.t 808 t/01load.t 809 ), 810 ], 811 }, 812 813 'Math::Complex' => { 814 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz', 815 'FILES' => q[dist/Math-Complex], 816 'EXCLUDED' => [ 817 qw( t/pod.t 818 t/pod-coverage.t 819 ), 820 ], 821 }, 822 823 'Memoize' => { 824 'DISTRIBUTION' => 'ARISTOTLE/Memoize-1.16.tar.gz', 825 'FILES' => q[cpan/Memoize], 826 'EXCLUDED' => [ qr{^inc/} ], 827 }, 828 829 'MIME::Base64' => { 830 'DISTRIBUTION' => 'CAPOEIRAB/MIME-Base64-3.16.tar.gz', 831 'FILES' => q[cpan/MIME-Base64], 832 'EXCLUDED' => [ qr{^xt/}, 'benchmark', 'benchmark-qp', qr{^t/00-report-prereqs} ], 833 'CUSTOMIZED' => [ 834 # https://github.com/Dual-Life/mime-base64/pull/17 835 'Base64.xs', 836 'lib/MIME/Base64.pm' 837 ], 838 }, 839 840 'Module::CoreList' => { 841 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20230320.tar.gz', 842 'SYNCINFO' => 'yorton on Tue Mar 21 11:46:02 2023', 843 'FILES' => q[dist/Module-CoreList], 844 }, 845 846 'Module::Load' => { 847 'DISTRIBUTION' => 'BINGOS/Module-Load-0.36.tar.gz', 848 'FILES' => q[cpan/Module-Load], 849 }, 850 851 'Module::Load::Conditional' => { 852 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.74.tar.gz', 853 'FILES' => q[cpan/Module-Load-Conditional], 854 }, 855 856 'Module::Loaded' => { 857 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz', 858 'FILES' => q[cpan/Module-Loaded], 859 }, 860 861 'Module::Metadata' => { 862 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000037.tar.gz', 863 'FILES' => q[cpan/Module-Metadata], 864 'EXCLUDED' => [ 865 qw(t/00-report-prereqs.t), 866 qw(t/00-report-prereqs.dd), 867 qr{weaver.ini}, 868 qr{^xt}, 869 ], 870 }, 871 872 'Net::Ping' => { 873 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.75.tar.gz', 874 'FILES' => q[dist/Net-Ping], 875 'EXCLUDED' => [ 876 qr{^\.[awc]}, 877 qw(README.md.PL), 878 qw(t/020_external.t), 879 qw(t/600_pod.t), 880 qw(t/601_pod-coverage.t), 881 qw(t/602_kwalitee.t), 882 qw(t/603_meta.t), 883 qw(t/604_manifest.t), 884 qw(t/appveyor-test.bat), 885 886 ], 887 }, 888 889 'NEXT' => { 890 'DISTRIBUTION' => 'NEILB/NEXT-0.69.tar.gz', 891 'FILES' => q[cpan/NEXT], 892 'EXCLUDED' => [qr{^demo/}], 893 }, 894 895 'Params::Check' => { 896 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz', 897 'FILES' => q[cpan/Params-Check], 898 }, 899 900 'parent' => { 901 'DISTRIBUTION' => 'CORION/parent-0.241.tar.gz', 902 'FILES' => q[cpan/parent], 903 'EXCLUDED' => [ 904 qr{^xt} 905 ], 906 }, 907 908 'PathTools' => { 909 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.75.tar.gz', 910 'MAIN_MODULE' => 'File::Spec', 911 'FILES' => q[dist/PathTools], 912 'EXCLUDED' => [ 913 qr{^t/lib/Test/}, 914 qw( t/rel2abs_vs_symlink.t), 915 ], 916 }, 917 918 'Perl::OSType' => { 919 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz', 920 'FILES' => q[cpan/Perl-OSType], 921 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}], 922 }, 923 924 'perlfaq' => { 925 'DISTRIBUTION' => 'ETHER/perlfaq-5.20210520.tar.gz', 926 'FILES' => q[cpan/perlfaq], 927 'EXCLUDED' => [ qr/^inc/, qr/^xt/, qr{^t/00-} ], 928 }, 929 930 'PerlIO::via::QuotedPrint' => { 931 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.10.tar.gz', 932 'FILES' => q[cpan/PerlIO-via-QuotedPrint], 933 }, 934 935 'Pod::Checker' => { 936 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.75.tar.gz', 937 'FILES' => q[cpan/Pod-Checker], 938 }, 939 940 'Pod::Escapes' => { 941 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz', 942 'FILES' => q[cpan/Pod-Escapes], 943 }, 944 945 'Pod::Perldoc' => { 946 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz', 947 'FILES' => q[cpan/Pod-Perldoc], 948 949 # Note that we use the CPAN-provided Makefile.PL, since it 950 # contains special handling of the installation of perldoc.pod 951 952 'EXCLUDED' => [ 953 # In blead, the perldoc executable is generated by perldoc.PL 954 # instead 955 # XXX We can and should fix this, but clean up the DRY-failure in 956 # utils first 957 'perldoc', 958 959 # https://rt.cpan.org/Ticket/Display.html?id=116827 960 't/02_module_pod_output.t' 961 ], 962 963 'CUSTOMIZED' => [ 964 # [rt.cpan.org #88204], [rt.cpan.org #120229] 965 'lib/Pod/Perldoc.pm', 966 ], 967 }, 968 969 'Pod::Simple' => { 970 'DISTRIBUTION' => 'KHW/Pod-Simple-3.43.tar.gz', 971 'FILES' => q[cpan/Pod-Simple], 972 'EXCLUDED' => [ 973 qw{.ChangeLog.swp}, 974 qr{^\.github/} 975 ], 976 }, 977 978 'Pod::Usage' => { 979 'DISTRIBUTION' => 'MAREKR/Pod-Usage-2.03.tar.gz', 980 'FILES' => q[cpan/Pod-Usage], 981 'EXCLUDED' => [ 982 qr{^t/00-}, 983 qr{^xt/} 984 ], 985 }, 986 987 'podlators' => { 988 'DISTRIBUTION' => 'RRA/podlators-5.01.tar.gz', 989 'MAIN_MODULE' => 'Pod::Man', 990 'FILES' => q[cpan/podlators pod/perlpodstyle.pod], 991 'EXCLUDED' => [ 992 qr{^\.github/dependabot\.yml}, 993 qr{^\.github/workflows/build\.yaml}, 994 ], 995 996 'MAP' => { 997 '' => 'cpan/podlators/', 998 # this file lives outside the cpan/ directory 999 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod', 1000 }, 1001 }, 1002 1003 'Safe' => { 1004 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz', 1005 'FILES' => q[dist/Safe], 1006 }, 1007 1008 'Scalar::Util' => { 1009 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.63.tar.gz', 1010 'FILES' => q[cpan/Scalar-List-Utils], 1011 }, 1012 1013 'Search::Dict' => { 1014 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz', 1015 'FILES' => q[dist/Search-Dict], 1016 }, 1017 1018 'SelfLoader' => { 1019 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz', 1020 'FILES' => q[dist/SelfLoader], 1021 'EXCLUDED' => ['t/00pod.t'], 1022 }, 1023 1024 'Socket' => { 1025 'DISTRIBUTION' => 'PEVANS/Socket-2.036.tar.gz', 1026 'FILES' => q[cpan/Socket], 1027 }, 1028 1029 'Storable' => { 1030 'DISTRIBUTION' => 'NWCLARK/Storable-3.25.tar.gz', 1031 'FILES' => q[dist/Storable], 1032 'EXCLUDED' => [ 1033 qr{^t/compat/}, 1034 ], 1035 }, 1036 1037 'Sys::Syslog' => { 1038 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.36.tar.gz', 1039 'FILES' => q[cpan/Sys-Syslog], 1040 'EXCLUDED' => [ 1041 qr{^eg/}, 1042 qw( README.win32 1043 t/data-validation.t 1044 t/distchk.t 1045 t/pod.t 1046 t/podcover.t 1047 t/podspell.t 1048 t/portfs.t 1049 win32/PerlLog.RES 1050 ), 1051 ], 1052 }, 1053 1054 'Term::ANSIColor' => { 1055 'DISTRIBUTION' => 'RRA/Term-ANSIColor-5.01.tar.gz', 1056 'FILES' => q[cpan/Term-ANSIColor], 1057 'EXCLUDED' => [ 1058 qr{^docs/}, 1059 qr{^examples/}, 1060 qr{^t/data/}, 1061 qr{^t/docs/}, 1062 qr{^t/style/}, 1063 qw( t/module/aliases-env.t ), 1064 ], 1065 }, 1066 1067 'Term::Cap' => { 1068 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.18.tar.gz', 1069 'FILES' => q[cpan/Term-Cap], 1070 }, 1071 1072 'Term::Complete' => { 1073 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz', 1074 'FILES' => q[dist/Term-Complete], 1075 'EXCLUDED' => [qr{^t/release-.*\.t}], 1076 }, 1077 1078 'Term::ReadLine' => { 1079 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz', 1080 'FILES' => q[dist/Term-ReadLine], 1081 'EXCLUDED' => [qr{^t/release-.*\.t}], 1082 }, 1083 1084 'Test' => { 1085 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz', 1086 'FILES' => q[dist/Test], 1087 }, 1088 1089 'Test::Harness' => { 1090 'DISTRIBUTION' => 'LEONT/Test-Harness-3.44.tar.gz', 1091 'FILES' => q[cpan/Test-Harness], 1092 'EXCLUDED' => [ 1093 qr{^examples/}, 1094 qr{^xt/}, 1095 qw( Changes-2.64 1096 MANIFEST.CUMMULATIVE 1097 HACKING.pod 1098 perlcriticrc 1099 t/000-load.t 1100 t/lib/if.pm 1101 ), 1102 ], 1103 'CUSTOMIZED' => [ 1104 't/harness.t' 1105 ] 1106 }, 1107 1108 'Test::Simple' => { 1109 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302194.tar.gz', 1110 'SYNCINFO' => 'yorton on Tue Mar 14 13:43:38 2023', 1111 'SYNCINFO' => 'yorton on Mon Mar 6 19:16:42 2023', 1112 'FILES' => q[cpan/Test-Simple], 1113 'EXCLUDED' => [ 1114 qr{^examples/}, 1115 qr{^xt/}, 1116 qw( appveyor.yml 1117 t/00compile.t 1118 t/00-report.t 1119 t/zzz-check-breaks.t 1120 ), 1121 ], 1122 }, 1123 1124 'Text::Abbrev' => { 1125 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz', 1126 'FILES' => q[dist/Text-Abbrev], 1127 'EXCLUDED' => [qr{^t/release-.*\.t}], 1128 }, 1129 1130 'Text::Balanced' => { 1131 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.06.tar.gz', 1132 'FILES' => q[cpan/Text-Balanced], 1133 }, 1134 1135 'Text::ParseWords' => { 1136 'DISTRIBUTION' => 'NEILB/Text-ParseWords-3.31.tar.gz', 1137 'FILES' => q[cpan/Text-ParseWords], 1138 }, 1139 1140 'Text-Tabs+Wrap' => { 1141 'DISTRIBUTION' => 'ARISTOTLE/Text-Tabs+Wrap-2021.0814.tar.gz', 1142 'MAIN_MODULE' => 'Text::Tabs', 1143 'FILES' => q[cpan/Text-Tabs], 1144 'EXCLUDED' => [ 1145 qr{^xt}, 1146 1147 ], 1148 'MAP' => { 1149 '' => 'cpan/Text-Tabs/', 1150 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm', 1151 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm', 1152 }, 1153 }, 1154 1155 # Jerry Hedden does take patches that are applied to blead first, even 1156 # though that can be hard to discern from the Git history; so it's 1157 # correct for this (and Thread::Semaphore, threads, and threads::shared) 1158 # to be under dist/ rather than cpan/ 1159 'Thread::Queue' => { 1160 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.13.tar.gz', 1161 'FILES' => q[dist/Thread-Queue], 1162 'EXCLUDED' => [ 1163 qr{^examples/}, 1164 qw( t/00_load.t 1165 t/99_pod.t 1166 t/test.pl 1167 ), 1168 ], 1169 }, 1170 1171 'Thread::Semaphore' => { 1172 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz', 1173 'FILES' => q[dist/Thread-Semaphore], 1174 'EXCLUDED' => [ 1175 qw( examples/semaphore.pl 1176 t/00_load.t 1177 t/99_pod.t 1178 t/test.pl 1179 ), 1180 ], 1181 }, 1182 1183 'threads' => { 1184 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz', 1185 'FILES' => q[dist/threads], 1186 'EXCLUDED' => [ 1187 qr{^examples/}, 1188 qw( t/pod.t 1189 t/test.pl 1190 ), 1191 ], 1192 }, 1193 1194 'threads::shared' => { 1195 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.59.tar.gz', 1196 'FILES' => q[dist/threads-shared], 1197 'EXCLUDED' => [ 1198 qw( examples/class.pl 1199 t/pod.t 1200 t/test.pl 1201 ), 1202 ], 1203 }, 1204 1205 'Tie::File' => { 1206 'DISTRIBUTION' => 'TODDR/Tie-File-1.07.tar.gz', 1207 'FILES' => q[dist/Tie-File], 1208 }, 1209 1210 'Tie::RefHash' => { 1211 'DISTRIBUTION' => 'ETHER/Tie-RefHash-1.40.tar.gz', 1212 'FILES' => q[cpan/Tie-RefHash], 1213 'EXCLUDED' => [ 1214 qr{^t/00-}, 1215 qr{^xt/}, 1216 ], 1217 }, 1218 1219 'Time::HiRes' => { 1220 'DISTRIBUTION' => 'ATOOMIC/Time-HiRes-1.9764.tar.gz', 1221 'FILES' => q[dist/Time-HiRes], 1222 }, 1223 1224 'Time::Local' => { 1225 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.30.tar.gz', 1226 'FILES' => q[cpan/Time-Local], 1227 'EXCLUDED' => [ 1228 qr{^xt/}, 1229 qw( CODE_OF_CONDUCT.md 1230 azure-pipelines.yml 1231 perlcriticrc 1232 perltidyrc 1233 tidyall.ini 1234 t/00-report-prereqs.t 1235 t/00-report-prereqs.dd 1236 ), 1237 ], 1238 }, 1239 1240 'Time::Piece' => { 1241 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3401.tar.gz', 1242 'FILES' => q[cpan/Time-Piece], 1243 'EXCLUDED' => [ qw[reverse_deps.txt] ], 1244 'CUSTOMIZED' => [ 1245 # https://github.com/Dual-Life/Time-Piece/pull/64 1246 'Piece.pm', 1247 'Piece.xs' 1248 ], 1249 }, 1250 1251 'Unicode::Collate' => { 1252 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.31.tar.gz', 1253 'FILES' => q[cpan/Unicode-Collate], 1254 'EXCLUDED' => [ 1255 qr{N$}, 1256 qr{^data/}, 1257 qr{^gendata/}, 1258 qw( disableXS 1259 enableXS 1260 mklocale 1261 ), 1262 ], 1263 }, 1264 1265 'Unicode::Normalize' => { 1266 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.26.tar.gz', 1267 'FILES' => q[dist/Unicode-Normalize], 1268 'EXCLUDED' => [ 1269 qw( MANIFEST.N 1270 Normalize.pmN 1271 disableXS 1272 enableXS 1273 ), 1274 ], 1275 }, 1276 1277 'version' => { 1278 'DISTRIBUTION' => 'LEONT/version-0.9929.tar.gz', 1279 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc], 1280 'EXCLUDED' => [ 1281 qr{^vutil/lib/}, 1282 'vutil/Makefile.PL', 1283 'vutil/ppport.h', 1284 'vutil/vxs.xs', 1285 't/00impl-pp.t', 1286 't/survey_locales', 1287 'vperl/vpp.pm', 1288 ], 1289 1290 # When adding the CPAN-distributed files for version.pm, it is necessary 1291 # to delete an entire block out of lib/version.pm, since that code is 1292 # only necessary with the CPAN release. 1293 'CUSTOMIZED' => [ 1294 'lib/version.pm', 1295 1296 't/07locale.t' 1297 ], 1298 1299 'MAP' => { 1300 'vutil/' => '', 1301 '' => 'cpan/version/', 1302 }, 1303 }, 1304 1305 'warnings' => { 1306 'FILES' => q[ 1307 lib/warnings 1308 lib/warnings.{pm,t} 1309 regen/warnings.pl 1310 t/lib/warnings 1311 ], 1312 }, 1313 1314 'Win32' => { 1315 'DISTRIBUTION' => "JDB/Win32-0.59.tar.gz", 1316 'FILES' => q[cpan/Win32], 1317 }, 1318 1319 'Win32API::File' => { 1320 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz', 1321 'FILES' => q[cpan/Win32API-File], 1322 'EXCLUDED' => [ 1323 qr{^ex/}, 1324 ], 1325 # https://rt.cpan.org/Ticket/Display.html?id=127837 1326 'CUSTOMIZED' => [ 1327 qw( File.pm 1328 File.xs 1329 ), 1330 ], 1331 }, 1332 1333 'XSLoader' => { 1334 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz', 1335 'FILES' => q[dist/XSLoader], 1336 'EXCLUDED' => [ 1337 qr{^eg/}, 1338 qw( t/00-load.t 1339 t/01-api.t 1340 t/distchk.t 1341 t/pod.t 1342 t/podcover.t 1343 t/portfs.t 1344 ), 1345 'XSLoader.pm', # we use XSLoader_pm.PL 1346 ], 1347 }, 1348 1349 # this pseudo-module represents all the files under ext/ and lib/ 1350 # that aren't otherwise claimed. This means that the following two 1351 # commands will check that every file under ext/ and lib/ is 1352 # accounted for, and that there are no duplicates: 1353 # 1354 # perl Porting/Maintainers --checkmani lib ext 1355 # perl Porting/Maintainers --checkmani 1356 1357 '_PERLLIB' => { 1358 'FILES' => q[ 1359 ext/Amiga-ARexx/ 1360 ext/Amiga-Exec/ 1361 ext/B/ 1362 ext/Devel-Peek/ 1363 ext/DynaLoader/ 1364 ext/Errno/ 1365 ext/ExtUtils-Miniperl/ 1366 ext/Fcntl/ 1367 ext/File-DosGlob/ 1368 ext/File-Find/ 1369 ext/File-Glob/ 1370 ext/FileCache/ 1371 ext/GDBM_File/ 1372 ext/Hash-Util-FieldHash/ 1373 ext/Hash-Util/ 1374 ext/I18N-Langinfo/ 1375 ext/IPC-Open3/ 1376 ext/NDBM_File/ 1377 ext/ODBM_File/ 1378 ext/Opcode/ 1379 ext/POSIX/ 1380 ext/PerlIO-encoding/ 1381 ext/PerlIO-mmap/ 1382 ext/PerlIO-scalar/ 1383 ext/PerlIO-via/ 1384 ext/Pod-Functions/ 1385 ext/Pod-Html/ 1386 ext/SDBM_File/ 1387 ext/Sys-Hostname/ 1388 ext/Tie-Hash-NamedCapture/ 1389 ext/Tie-Memoize/ 1390 ext/VMS-DCLsym/ 1391 ext/VMS-Filespec/ 1392 ext/VMS-Stdio/ 1393 ext/Win32CORE/ 1394 ext/XS-APItest/ 1395 ext/XS-Typemap/ 1396 ext/attributes/ 1397 ext/mro/ 1398 ext/re/ 1399 lib/AnyDBM_File.{pm,t} 1400 lib/Benchmark.{pm,t} 1401 lib/B/Deparse{.pm,.t,-*.t} 1402 lib/B/Op_private.pm 1403 lib/CORE.pod 1404 lib/Class/Struct.{pm,t} 1405 lib/Config.t 1406 lib/Config/Extensions.{pm,t} 1407 lib/DB.{pm,t} 1408 lib/DBM_Filter.pm 1409 lib/DBM_Filter/ 1410 lib/DirHandle.{pm,t} 1411 lib/English.{pm,t} 1412 lib/ExtUtils/Embed.pm 1413 lib/ExtUtils/XSSymSet.pm 1414 lib/ExtUtils/t/Embed.t 1415 lib/ExtUtils/typemap 1416 lib/File/Basename.{pm,t} 1417 lib/File/Compare.{pm,t} 1418 lib/File/Copy.{pm,t} 1419 lib/File/stat{.pm,.t,-7896.t} 1420 lib/FileHandle.{pm,t} 1421 lib/Getopt/Std.{pm,t} 1422 lib/Internals.pod 1423 lib/Internals.t 1424 lib/meta_notation.{pm,t} 1425 lib/Net/hostent.{pm,t} 1426 lib/Net/netent.{pm,t} 1427 lib/Net/protoent.{pm,t} 1428 lib/Net/servent.{pm,t} 1429 lib/PerlIO.pm 1430 lib/Pod/t/Usage.t 1431 lib/SelectSaver.{pm,t} 1432 lib/Symbol.{pm,t} 1433 lib/Thread.{pm,t} 1434 lib/Tie/Array.pm 1435 lib/Tie/Array/ 1436 lib/Tie/ExtraHash.t 1437 lib/Tie/Handle.pm 1438 lib/Tie/Handle/ 1439 lib/Tie/Hash.{pm,t} 1440 lib/Tie/Scalar.{pm,t} 1441 lib/Tie/StdHandle.pm 1442 lib/Tie/SubstrHash.{pm,t} 1443 lib/Time/gmtime.{pm,t} 1444 lib/Time/localtime.{pm,t} 1445 lib/Time/tm.pm 1446 lib/UNIVERSAL.pm 1447 lib/Unicode/README 1448 lib/Unicode/testnorm.t 1449 lib/Unicode/UCD.{pm,t} 1450 lib/User/grent.{pm,t} 1451 lib/User/pwent.{pm,t} 1452 lib/_charnames.pm 1453 lib/blib.{pm,t} 1454 lib/builtin.{pm,t} 1455 lib/bytes.{pm,t} 1456 lib/bytes_heavy.pl 1457 lib/charnames.{pm,t} 1458 lib/dbm_filter_util.pl 1459 lib/deprecate.pm 1460 lib/diagnostics.{pm,t} 1461 lib/dumpvar.{pl,t} 1462 lib/feature.{pm,t} 1463 lib/feature/ 1464 lib/filetest.{pm,t} 1465 lib/h2ph.t 1466 lib/h2xs.t 1467 lib/integer.{pm,t} 1468 lib/less.{pm,t} 1469 lib/locale.{pm,t} 1470 lib/locale_threads.t 1471 lib/open.{pm,t} 1472 lib/overload/numbers.pm 1473 lib/overloading.{pm,t} 1474 lib/overload{.pm,.t,64.t} 1475 lib/perl5db.{pl,t} 1476 lib/perl5db/ 1477 lib/perlbug.t 1478 lib/sigtrap.{pm,t} 1479 lib/sort.{pm,t} 1480 lib/strict.{pm,t} 1481 lib/subs.{pm,t} 1482 lib/unicore/ 1483 lib/utf8.{pm,t} 1484 lib/vars{.pm,.t,_carp.t} 1485 lib/vmsish.{pm,t} 1486 ], 1487 }, 1488 'openbsd' => { 1489 'FILES' => q[lib/Config_git.pl], 1490 }, 1491); 1492 1493 1494# legacy CPAN flag 1495for my $mod_name ( keys %Modules ) { 1496 my $data = $Modules{$mod_name}; 1497 $data->{CPAN} = !!$data->{DISTRIBUTION}; 1498 my (@files)= split /\s+/, $data->{FILES}; 1499 if (@files and $files[0]=~s!^(cpan|dist)/!!) { 1500 $DistName{$files[0]} = $mod_name; 1501 $DistName{"$1/$files[0]"} = $mod_name; 1502 } 1503} 1504 1505# legacy UPSTREAM flag 1506for ( keys %Modules ) { 1507 # Keep any existing UPSTREAM flag so that "overrides" can be applied 1508 next if exists $Modules{$_}{UPSTREAM}; 1509 1510 if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) { 1511 $Modules{$_}{UPSTREAM} = 'blead'; 1512 } 1513 elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) { 1514 $Modules{$_}{UPSTREAM} = 'cpan'; 1515 } 1516 else { 1517 warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}"; 1518 } 1519} 1520 1521# legacy MAINTAINER field 1522for ( keys %Modules ) { 1523 # Keep any existing MAINTAINER flag so that "overrides" can be applied 1524 next if exists $Modules{$_}{MAINTAINER}; 1525 1526 if ($Modules{$_}{UPSTREAM} eq 'blead') { 1527 $Modules{$_}{MAINTAINER} = 'P5P'; 1528 $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>'; 1529 } 1530 elsif (exists $Modules{$_}{DISTRIBUTION}) { 1531 (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{}; 1532 $Modules{$_}{MAINTAINER} = $pause_id; 1533 $Maintainers{$pause_id} = "<$pause_id\@cpan.org>"; 1534 } 1535 else { 1536 warn "No DISTRIBUTION for non-blead module $_"; 1537 } 1538} 1539 15401; 1541