| 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 | |
| 9 | package Maintainers; |
| 10 | |
| 11 | use utf8; |
| 12 | use 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 deprecate.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.30.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 | 'CUSTOMIZED' => [ |
| 160 | # CPAN RT 105344 |
| 161 | 't/mkdir.t', |
| 162 | # smartmatch changes |
| 163 | 'lib/autodie/exception.pm', |
| 164 | 'lib/autodie/hints.pm', |
| 165 | 't/exceptions.t', |
| 166 | 't/lib/Hints_pod_examples.pm', |
| 167 | ], |
| 168 | }, |
| 169 | |
| 170 | 'AutoLoader' => { |
| 171 | 'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.74.tar.gz', |
| 172 | 'FILES' => q[cpan/AutoLoader], |
| 173 | 'EXCLUDED' => ['t/00pod.t'], |
| 174 | }, |
| 175 | |
| 176 | 'autouse' => { |
| 177 | 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz', |
| 178 | 'FILES' => q[dist/autouse], |
| 179 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 180 | }, |
| 181 | |
| 182 | 'B::Debug' => { |
| 183 | 'DISTRIBUTION' => 'RURBAN/B-Debug-1.26.tar.gz', |
| 184 | 'FILES' => q[cpan/B-Debug], |
| 185 | 'EXCLUDED' => ['t/pod.t'], |
| 186 | 'DEPRECATED' => '5.027003', |
| 187 | }, |
| 188 | |
| 189 | 'base' => { |
| 190 | 'DISTRIBUTION' => 'RJBS/base-2.23.tar.gz', |
| 191 | 'FILES' => q[dist/base], |
| 192 | }, |
| 193 | |
| 194 | 'bignum' => { |
| 195 | 'DISTRIBUTION' => 'PJACKLAM/bignum-0.49.tar.gz', |
| 196 | 'FILES' => q[cpan/bignum], |
| 197 | 'EXCLUDED' => [ |
| 198 | qr{^t/author-}, |
| 199 | qw( t/00sig.t |
| 200 | t/01load.t |
| 201 | t/02pod.t |
| 202 | t/03podcov.t |
| 203 | ), |
| 204 | ], |
| 205 | }, |
| 206 | |
| 207 | 'Carp' => { |
| 208 | 'DISTRIBUTION' => 'RJBS/Carp-1.38.tar.gz', |
| 209 | 'FILES' => q[dist/Carp], |
| 210 | }, |
| 211 | |
| 212 | 'Compress::Raw::Bzip2' => { |
| 213 | 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.081.tar.gz', |
| 214 | 'FILES' => q[cpan/Compress-Raw-Bzip2], |
| 215 | 'EXCLUDED' => [ |
| 216 | qr{^t/Test/}, |
| 217 | 'bzip2-src/bzip2-const.patch', |
| 218 | 'bzip2-src/bzip2-cpp.patch', |
| 219 | 'bzip2-src/bzip2-unsigned.patch', |
| 220 | ], |
| 221 | }, |
| 222 | |
| 223 | 'Compress::Raw::Zlib' => { |
| 224 | 'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.081.tar.gz', |
| 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.29.tgz', |
| 237 | 'FILES' => q[cpan/Config-Perl-V], |
| 238 | 'EXCLUDED' => [qw( |
| 239 | examples/show-v.pl |
| 240 | )], |
| 241 | }, |
| 242 | |
| 243 | 'constant' => { |
| 244 | 'DISTRIBUTION' => 'RJBS/constant-1.33.tar.gz', |
| 245 | 'FILES' => q[dist/constant], |
| 246 | 'EXCLUDED' => [ |
| 247 | qw( t/00-load.t |
| 248 | t/more-tests.t |
| 249 | t/pod-coverage.t |
| 250 | t/pod.t |
| 251 | eg/synopsis.pl |
| 252 | ), |
| 253 | ], |
| 254 | }, |
| 255 | |
| 256 | 'CPAN' => { |
| 257 | 'DISTRIBUTION' => 'ANDK/CPAN-2.20-TRIAL.tar.gz', |
| 258 | 'FILES' => q[cpan/CPAN], |
| 259 | 'EXCLUDED' => [ |
| 260 | qr{^distroprefs/}, |
| 261 | qr{^inc/Test/}, |
| 262 | qr{^t/CPAN/}, |
| 263 | qr{^t/data/}, |
| 264 | qr{^t/97-}, |
| 265 | qw( lib/CPAN/Admin.pm |
| 266 | scripts/cpan-mirrors |
| 267 | PAUSE2015.pub |
| 268 | PAUSE2019.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 | }, |
| 294 | |
| 295 | # Note: When updating CPAN-Meta the META.* files will need to be regenerated |
| 296 | # perl -Icpan/CPAN-Meta/lib Porting/makemeta |
| 297 | 'CPAN::Meta' => { |
| 298 | 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz', |
| 299 | 'FILES' => q[cpan/CPAN-Meta], |
| 300 | 'EXCLUDED' => [ |
| 301 | qw[t/00-report-prereqs.t |
| 302 | t/00-report-prereqs.dd |
| 303 | ], |
| 304 | qr{^xt}, |
| 305 | qr{^history}, |
| 306 | ], |
| 307 | }, |
| 308 | |
| 309 | 'CPAN::Meta::Requirements' => { |
| 310 | 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz', |
| 311 | 'FILES' => q[cpan/CPAN-Meta-Requirements], |
| 312 | 'EXCLUDED' => [ |
| 313 | qw(t/00-report-prereqs.t), |
| 314 | qw(t/00-report-prereqs.dd), |
| 315 | qw(t/version-cleanup.t), |
| 316 | qr{^xt}, |
| 317 | ], |
| 318 | }, |
| 319 | |
| 320 | 'CPAN::Meta::YAML' => { |
| 321 | 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz', |
| 322 | 'FILES' => q[cpan/CPAN-Meta-YAML], |
| 323 | 'EXCLUDED' => [ |
| 324 | 't/00-report-prereqs.t', |
| 325 | 't/00-report-prereqs.dd', |
| 326 | qr{^xt}, |
| 327 | ], |
| 328 | }, |
| 329 | |
| 330 | 'Data::Dumper' => { |
| 331 | 'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.161.tar.gz', |
| 332 | 'FILES' => q[dist/Data-Dumper], |
| 333 | }, |
| 334 | |
| 335 | 'DB_File' => { |
| 336 | 'DISTRIBUTION' => 'PMQS/DB_File-1.841.tar.gz', |
| 337 | 'FILES' => q[cpan/DB_File], |
| 338 | 'EXCLUDED' => [ |
| 339 | qr{^patches/}, |
| 340 | qw( t/pod.t |
| 341 | fallback.h |
| 342 | fallback.xs |
| 343 | ), |
| 344 | ], |
| 345 | }, |
| 346 | |
| 347 | 'Devel::PPPort' => { |
| 348 | 'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.tar.gz', |
| 349 | 'FILES' => q[dist/Devel-PPPort], |
| 350 | 'EXCLUDED' => [ |
| 351 | 'PPPort.pm', # we use PPPort_pm.PL instead |
| 352 | ], |
| 353 | 'CUSTOMIZED' => [ qw[ parts/embed.fnc ] ], |
| 354 | }, |
| 355 | |
| 356 | 'Devel::SelfStubber' => { |
| 357 | 'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz', |
| 358 | 'FILES' => q[dist/Devel-SelfStubber], |
| 359 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 360 | }, |
| 361 | |
| 362 | 'Digest' => { |
| 363 | 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz', |
| 364 | 'FILES' => q[cpan/Digest], |
| 365 | 'EXCLUDED' => ['digest-bench'], |
| 366 | 'CUSTOMIZED' => [ |
| 367 | # CVE-2016-1238 |
| 368 | qw( Digest.pm ) |
| 369 | ], |
| 370 | }, |
| 371 | |
| 372 | 'Digest::MD5' => { |
| 373 | 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz', |
| 374 | 'FILES' => q[cpan/Digest-MD5], |
| 375 | 'EXCLUDED' => ['rfc1321.txt'], |
| 376 | }, |
| 377 | |
| 378 | 'Digest::SHA' => { |
| 379 | 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.02.tar.gz', |
| 380 | 'FILES' => q[cpan/Digest-SHA], |
| 381 | 'EXCLUDED' => [ |
| 382 | qw( t/pod.t |
| 383 | t/podcover.t |
| 384 | examples/dups |
| 385 | ), |
| 386 | ], |
| 387 | }, |
| 388 | |
| 389 | 'Dumpvalue' => { |
| 390 | 'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz', |
| 391 | 'FILES' => q[dist/Dumpvalue], |
| 392 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 393 | }, |
| 394 | |
| 395 | 'Encode' => { |
| 396 | 'DISTRIBUTION' => 'DANKOGAI/Encode-2.97.tar.gz', |
| 397 | 'FILES' => q[cpan/Encode], |
| 398 | 'CUSTOMIZED' => [ |
| 399 | # TODO test passes on blead |
| 400 | 't/truncated_utf8.t', |
| 401 | ], |
| 402 | }, |
| 403 | |
| 404 | 'encoding::warnings' => { |
| 405 | 'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz', |
| 406 | 'FILES' => q[dist/encoding-warnings], |
| 407 | 'EXCLUDED' => [ |
| 408 | qr{^inc/Module/}, |
| 409 | qw(t/0-signature.t), |
| 410 | ], |
| 411 | }, |
| 412 | |
| 413 | 'Env' => { |
| 414 | 'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz', |
| 415 | 'FILES' => q[dist/Env], |
| 416 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 417 | }, |
| 418 | |
| 419 | 'experimental' => { |
| 420 | 'DISTRIBUTION' => 'LEONT/experimental-0.019.tar.gz', |
| 421 | 'FILES' => q[cpan/experimental], |
| 422 | 'EXCLUDED' => [ |
| 423 | qr{^xt/}, |
| 424 | qr{nytprof.*} |
| 425 | ], |
| 426 | 'EXCLUDED' => [qr{^xt/}], |
| 427 | 'CUSTOMIZED' => [ |
| 428 | # smartmatch changes |
| 429 | 't/basic.t', |
| 430 | ], |
| 431 | }, |
| 432 | |
| 433 | 'Exporter' => { |
| 434 | 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz', |
| 435 | 'FILES' => q[dist/Exporter], |
| 436 | 'EXCLUDED' => [ |
| 437 | qw( t/pod.t |
| 438 | t/use.t |
| 439 | ), |
| 440 | ], |
| 441 | }, |
| 442 | |
| 443 | 'ExtUtils::CBuilder' => { |
| 444 | 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280230.tar.gz', |
| 445 | 'FILES' => q[dist/ExtUtils-CBuilder], |
| 446 | 'EXCLUDED' => [ |
| 447 | qw(README.mkdn), |
| 448 | qr{^xt}, |
| 449 | ], |
| 450 | }, |
| 451 | |
| 452 | 'ExtUtils::Constant' => { |
| 453 | |
| 454 | 'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.25.tar.gz', |
| 455 | 'FILES' => q[cpan/ExtUtils-Constant], |
| 456 | 'EXCLUDED' => [ |
| 457 | qw( lib/ExtUtils/Constant/Aaargh56Hash.pm |
| 458 | examples/perl_keyword.pl |
| 459 | examples/perl_regcomp_posix_keyword.pl |
| 460 | ), |
| 461 | ], |
| 462 | }, |
| 463 | |
| 464 | 'ExtUtils::Install' => { |
| 465 | 'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz', |
| 466 | 'FILES' => q[cpan/ExtUtils-Install], |
| 467 | 'EXCLUDED' => [ |
| 468 | qw( t/lib/Test/Builder.pm |
| 469 | t/lib/Test/Builder/Module.pm |
| 470 | t/lib/Test/More.pm |
| 471 | t/lib/Test/Simple.pm |
| 472 | t/pod-coverage.t |
| 473 | t/pod.t |
| 474 | ), |
| 475 | ], |
| 476 | }, |
| 477 | |
| 478 | 'ExtUtils::MakeMaker' => { |
| 479 | 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.34.tar.gz', |
| 480 | 'FILES' => q[cpan/ExtUtils-MakeMaker], |
| 481 | 'EXCLUDED' => [ |
| 482 | qr{^t/lib/Test/}, |
| 483 | qr{^(bundled|my)/}, |
| 484 | qr{^t/Liblist_Kid.t}, |
| 485 | qr{^t/liblist/}, |
| 486 | qr{^\.perlcriticrc}, |
| 487 | 'PATCHING', |
| 488 | 'README.packaging', |
| 489 | 'lib/ExtUtils/MakeMaker/version/vpp.pm', |
| 490 | ], |
| 491 | }, |
| 492 | |
| 493 | 'ExtUtils::Manifest' => { |
| 494 | 'DISTRIBUTION' => 'ETHER/ExtUtils-Manifest-1.70.tar.gz', |
| 495 | 'FILES' => q[cpan/ExtUtils-Manifest], |
| 496 | 'EXCLUDED' => [ |
| 497 | qr(^t/00-report-prereqs), |
| 498 | qr(^xt/) |
| 499 | ], |
| 500 | }, |
| 501 | |
| 502 | 'ExtUtils::ParseXS' => { |
| 503 | 'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz', |
| 504 | 'FILES' => q[dist/ExtUtils-ParseXS], |
| 505 | }, |
| 506 | |
| 507 | 'File::Fetch' => { |
| 508 | 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz', |
| 509 | 'FILES' => q[cpan/File-Fetch], |
| 510 | }, |
| 511 | |
| 512 | 'File::Path' => { |
| 513 | 'DISTRIBUTION' => 'JKEENAN/File-Path-2.15.tar.gz', |
| 514 | 'FILES' => q[cpan/File-Path], |
| 515 | 'EXCLUDED' => [ |
| 516 | qw(t/Path-Class.t), |
| 517 | qr{^xt/}, |
| 518 | ], |
| 519 | }, |
| 520 | |
| 521 | 'File::Temp' => { |
| 522 | 'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2304.tar.gz', |
| 523 | 'FILES' => q[cpan/File-Temp], |
| 524 | 'EXCLUDED' => [ |
| 525 | qw( misc/benchmark.pl |
| 526 | misc/results.txt |
| 527 | ), |
| 528 | qw[t/00-report-prereqs.t], |
| 529 | qr{^xt}, |
| 530 | ], |
| 531 | }, |
| 532 | |
| 533 | 'Filter::Simple' => { |
| 534 | 'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz', |
| 535 | 'FILES' => q[dist/Filter-Simple], |
| 536 | 'EXCLUDED' => [ |
| 537 | qr{^demo/} |
| 538 | ], |
| 539 | }, |
| 540 | |
| 541 | 'Filter::Util::Call' => { |
| 542 | 'DISTRIBUTION' => 'RURBAN/Filter-1.58.tar.gz', |
| 543 | 'FILES' => q[cpan/Filter-Util-Call |
| 544 | pod/perlfilter.pod |
| 545 | ], |
| 546 | 'EXCLUDED' => [ |
| 547 | qr{^decrypt/}, |
| 548 | qr{^examples/}, |
| 549 | qr{^Exec/}, |
| 550 | qr{^lib/Filter/}, |
| 551 | qr{^tee/}, |
| 552 | qw( Call/Makefile.PL |
| 553 | Call/ppport.h |
| 554 | Call/typemap |
| 555 | mytest |
| 556 | t/cpp.t |
| 557 | t/decrypt.t |
| 558 | t/exec.t |
| 559 | t/order.t |
| 560 | t/sh.t |
| 561 | t/tee.t |
| 562 | t/z_kwalitee.t |
| 563 | t/z_manifest.t |
| 564 | t/z_meta.t |
| 565 | t/z_perl_minimum_version.t |
| 566 | t/z_pod-coverage.t |
| 567 | t/z_pod.t |
| 568 | ), |
| 569 | ], |
| 570 | 'MAP' => { |
| 571 | 'Call/' => 'cpan/Filter-Util-Call/', |
| 572 | 't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl', |
| 573 | 'perlfilter.pod' => 'pod/perlfilter.pod', |
| 574 | '' => 'cpan/Filter-Util-Call/', |
| 575 | }, |
| 576 | }, |
| 577 | |
| 578 | 'Getopt::Long' => { |
| 579 | 'DISTRIBUTION' => 'JV/Getopt-Long-2.50.tar.gz', |
| 580 | 'FILES' => q[cpan/Getopt-Long], |
| 581 | 'EXCLUDED' => [ |
| 582 | qr{^examples/}, |
| 583 | qw( perl-Getopt-Long.spec |
| 584 | lib/newgetopt.pl |
| 585 | t/gol-compat.t |
| 586 | ), |
| 587 | ], |
| 588 | }, |
| 589 | |
| 590 | 'HTTP::Tiny' => { |
| 591 | 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.070.tar.gz', |
| 592 | 'FILES' => q[cpan/HTTP-Tiny], |
| 593 | 'EXCLUDED' => [ |
| 594 | 't/00-report-prereqs.t', |
| 595 | 't/00-report-prereqs.dd', |
| 596 | 't/200_live.t', |
| 597 | 't/200_live_local_ip.t', |
| 598 | 't/210_live_ssl.t', |
| 599 | qr/^eg/, |
| 600 | qr/^xt/ |
| 601 | ], |
| 602 | }, |
| 603 | |
| 604 | 'I18N::Collate' => { |
| 605 | 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz', |
| 606 | 'FILES' => q[dist/I18N-Collate], |
| 607 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 608 | }, |
| 609 | |
| 610 | 'I18N::LangTags' => { |
| 611 | 'FILES' => q[dist/I18N-LangTags], |
| 612 | }, |
| 613 | |
| 614 | 'if' => { |
| 615 | 'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz', |
| 616 | 'FILES' => q[dist/if], |
| 617 | }, |
| 618 | |
| 619 | 'IO' => { |
| 620 | 'DISTRIBUTION' => 'TODDR/IO-1.39.tar.gz', |
| 621 | 'FILES' => q[dist/IO/], |
| 622 | 'EXCLUDED' => ['t/test.pl'], |
| 623 | }, |
| 624 | |
| 625 | 'IO-Compress' => { |
| 626 | 'DISTRIBUTION' => 'PMQS/IO-Compress-2.074.tar.gz', |
| 627 | 'FILES' => q[cpan/IO-Compress], |
| 628 | 'EXCLUDED' => [ |
| 629 | qr{^examples/}, |
| 630 | qr{^t/Test/}, |
| 631 | 't/010examples-bzip2.t', |
| 632 | 't/010examples-zlib.t', |
| 633 | 't/cz-05examples.t', |
| 634 | ], |
| 635 | }, |
| 636 | |
| 637 | 'IO::Socket::IP' => { |
| 638 | 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz', |
| 639 | 'FILES' => q[cpan/IO-Socket-IP], |
| 640 | 'EXCLUDED' => [ |
| 641 | qr{^examples/}, |
| 642 | ], |
| 643 | }, |
| 644 | |
| 645 | 'IO::Zlib' => { |
| 646 | 'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz', |
| 647 | 'FILES' => q[cpan/IO-Zlib], |
| 648 | }, |
| 649 | |
| 650 | 'IPC::Cmd' => { |
| 651 | 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.00.tar.gz', |
| 652 | 'FILES' => q[cpan/IPC-Cmd], |
| 653 | }, |
| 654 | |
| 655 | 'IPC::SysV' => { |
| 656 | 'DISTRIBUTION' => 'MHX/IPC-SysV-2.07.tar.gz', |
| 657 | 'FILES' => q[cpan/IPC-SysV], |
| 658 | 'EXCLUDED' => [ |
| 659 | qw( const-c.inc |
| 660 | const-xs.inc |
| 661 | ), |
| 662 | ], |
| 663 | }, |
| 664 | |
| 665 | 'JSON::PP' => { |
| 666 | 'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-2.97001.tar.gz', |
| 667 | 'FILES' => q[cpan/JSON-PP], |
| 668 | }, |
| 669 | |
| 670 | 'lib' => { |
| 671 | 'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz', |
| 672 | 'FILES' => q[dist/lib/], |
| 673 | 'EXCLUDED' => [ |
| 674 | qw( forPAUSE/lib.pm |
| 675 | t/00pod.t |
| 676 | ), |
| 677 | ], |
| 678 | }, |
| 679 | |
| 680 | 'libnet' => { |
| 681 | 'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz', |
| 682 | 'FILES' => q[cpan/libnet], |
| 683 | 'EXCLUDED' => [ |
| 684 | qw( Configure |
| 685 | t/changes.t |
| 686 | t/critic.t |
| 687 | t/pod.t |
| 688 | t/pod_coverage.t |
| 689 | ), |
| 690 | qr(^demos/), |
| 691 | qr(^t/external/), |
| 692 | ], |
| 693 | }, |
| 694 | |
| 695 | 'Locale-Codes' => { |
| 696 | 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.56.tar.gz', |
| 697 | 'FILES' => q[cpan/Locale-Codes], |
| 698 | 'EXCLUDED' => [ |
| 699 | qw( README.first |
| 700 | t/pod_coverage.ign |
| 701 | t/pod_coverage.t |
| 702 | t/pod.t), |
| 703 | qr{^t/runtests}, |
| 704 | qr{^t/runtests\.bat}, |
| 705 | qr{^internal/}, |
| 706 | qr{^examples/}, |
| 707 | ], |
| 708 | }, |
| 709 | |
| 710 | 'Locale::Maketext' => { |
| 711 | 'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.28.tar.gz', |
| 712 | 'FILES' => q[dist/Locale-Maketext], |
| 713 | 'EXCLUDED' => [ |
| 714 | qw( |
| 715 | perlcriticrc |
| 716 | t/00_load.t |
| 717 | t/pod.t |
| 718 | ), |
| 719 | ], |
| 720 | }, |
| 721 | |
| 722 | 'Locale::Maketext::Simple' => { |
| 723 | 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz', |
| 724 | 'FILES' => q[cpan/Locale-Maketext-Simple], |
| 725 | 'CUSTOMIZED' => [ |
| 726 | # CVE-2016-1238 |
| 727 | qw( lib/Locale/Maketext/Simple.pm ) |
| 728 | ], |
| 729 | }, |
| 730 | |
| 731 | 'Math::BigInt' => { |
| 732 | 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999811.tar.gz', |
| 733 | 'FILES' => q[cpan/Math-BigInt], |
| 734 | 'EXCLUDED' => [ |
| 735 | qr{^examples/}, |
| 736 | qr{^t/author-}, |
| 737 | qw( t/00sig.t |
| 738 | t/01load.t |
| 739 | t/02pod.t |
| 740 | t/03podcov.t |
| 741 | ), |
| 742 | ], |
| 743 | }, |
| 744 | |
| 745 | 'Math::BigInt::FastCalc' => { |
| 746 | 'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5006.tar.gz', |
| 747 | 'FILES' => q[cpan/Math-BigInt-FastCalc], |
| 748 | 'EXCLUDED' => [ |
| 749 | qr{^t/author-}, |
| 750 | qr{^t/Math/BigInt/Lib/TestUtil.pm}, |
| 751 | qw( t/00sig.t |
| 752 | t/01load.t |
| 753 | t/02pod.t |
| 754 | t/03podcov.t |
| 755 | ), |
| 756 | |
| 757 | # instead we use the versions of these test |
| 758 | # files that come with Math::BigInt: |
| 759 | qw( t/bigfltpm.inc |
| 760 | t/bigfltpm.t |
| 761 | t/bigintpm.inc |
| 762 | t/bigintpm.t |
| 763 | t/mbimbf.inc |
| 764 | t/mbimbf.t |
| 765 | ), |
| 766 | ], |
| 767 | }, |
| 768 | |
| 769 | 'Math::BigRat' => { |
| 770 | 'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2613.tar.gz', |
| 771 | 'FILES' => q[cpan/Math-BigRat], |
| 772 | 'EXCLUDED' => [ |
| 773 | qr{^t/author-}, |
| 774 | qw( t/00sig.t |
| 775 | t/01load.t |
| 776 | t/02pod.t |
| 777 | t/03podcov.t |
| 778 | ), |
| 779 | ], |
| 780 | }, |
| 781 | |
| 782 | 'Math::Complex' => { |
| 783 | 'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz', |
| 784 | 'FILES' => q[cpan/Math-Complex], |
| 785 | 'CUSTOMIZED' => [ |
| 786 | 'lib/Math/Complex.pm', # CPAN RT 118467 |
| 787 | 't/Complex.t', # CPAN RT 118467 |
| 788 | 't/Trig.t', # CPAN RT 118467 |
| 789 | ], |
| 790 | 'EXCLUDED' => [ |
| 791 | qw( t/pod.t |
| 792 | t/pod-coverage.t |
| 793 | ), |
| 794 | ], |
| 795 | }, |
| 796 | |
| 797 | 'Memoize' => { |
| 798 | 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz', |
| 799 | 'FILES' => q[cpan/Memoize], |
| 800 | 'EXCLUDED' => ['article.html'], |
| 801 | 'CUSTOMIZED' => [ |
| 802 | # CVE-2016-1238 |
| 803 | qw( Memoize.pm ) |
| 804 | ], |
| 805 | }, |
| 806 | |
| 807 | 'MIME::Base64' => { |
| 808 | 'DISTRIBUTION' => 'GAAS/MIME-Base64-3.15.tar.gz', |
| 809 | 'FILES' => q[cpan/MIME-Base64], |
| 810 | 'EXCLUDED' => ['t/bad-sv.t'], |
| 811 | }, |
| 812 | |
| 813 | 'Module::CoreList' => { |
| 814 | 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20180626.tar.gz', |
| 815 | 'FILES' => q[dist/Module-CoreList], |
| 816 | }, |
| 817 | |
| 818 | 'Module::Load' => { |
| 819 | 'DISTRIBUTION' => 'BINGOS/Module-Load-0.32.tar.gz', |
| 820 | 'FILES' => q[cpan/Module-Load], |
| 821 | }, |
| 822 | |
| 823 | 'Module::Load::Conditional' => { |
| 824 | 'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.68.tar.gz', |
| 825 | 'FILES' => q[cpan/Module-Load-Conditional], |
| 826 | }, |
| 827 | |
| 828 | 'Module::Loaded' => { |
| 829 | 'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz', |
| 830 | 'FILES' => q[cpan/Module-Loaded], |
| 831 | }, |
| 832 | |
| 833 | 'Module::Metadata' => { |
| 834 | 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000033.tar.gz', |
| 835 | 'FILES' => q[cpan/Module-Metadata], |
| 836 | 'EXCLUDED' => [ |
| 837 | qw(t/00-report-prereqs.t), |
| 838 | qw(t/00-report-prereqs.dd), |
| 839 | qr{weaver.ini}, |
| 840 | qr{^xt}, |
| 841 | ], |
| 842 | }, |
| 843 | |
| 844 | 'Net::Ping' => { |
| 845 | 'DISTRIBUTION' => 'RURBAN/Net-Ping-2.61.tar.gz', |
| 846 | 'FILES' => q[dist/Net-Ping], |
| 847 | 'EXCLUDED' => [ |
| 848 | qw(README.md.PL), |
| 849 | qw(t/020_external.t), |
| 850 | qw(t/600_pod.t), |
| 851 | qw(t/601_pod-coverage.t), |
| 852 | ], |
| 853 | 'CUSTOMIZED' => [ |
| 854 | qw( t/000_load.t |
| 855 | t/001_new.t |
| 856 | t/500_ping_icmp.t), |
| 857 | ], |
| 858 | |
| 859 | }, |
| 860 | |
| 861 | 'NEXT' => { |
| 862 | 'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz', |
| 863 | 'FILES' => q[cpan/NEXT], |
| 864 | 'EXCLUDED' => [qr{^demo/}], |
| 865 | 'CUSTOMIZED' => [ qw(lib/NEXT.pm t/next.t) ], |
| 866 | }, |
| 867 | |
| 868 | 'Params::Check' => { |
| 869 | 'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz', |
| 870 | 'FILES' => q[cpan/Params-Check], |
| 871 | }, |
| 872 | |
| 873 | 'parent' => { |
| 874 | 'DISTRIBUTION' => 'CORION/parent-0.236.tar.gz', |
| 875 | 'FILES' => q[cpan/parent], |
| 876 | 'EXCLUDED' => [ |
| 877 | qr{^xt} |
| 878 | ], |
| 879 | }, |
| 880 | |
| 881 | 'PathTools' => { |
| 882 | 'DISTRIBUTION' => 'XSAWYERX/PathTools-3.74.tar.gz', |
| 883 | 'FILES' => q[dist/PathTools], |
| 884 | 'EXCLUDED' => [ |
| 885 | qr{^t/lib/Test/}, |
| 886 | qw( t/rel2abs_vs_symlink.t), |
| 887 | ], |
| 888 | }, |
| 889 | |
| 890 | 'Perl::OSType' => { |
| 891 | 'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.010.tar.gz', |
| 892 | 'FILES' => q[cpan/Perl-OSType], |
| 893 | 'EXCLUDED' => [qw(tidyall.ini), qr/^xt/, qr{^t/00-}], |
| 894 | }, |
| 895 | |
| 896 | 'perlfaq' => { |
| 897 | 'DISTRIBUTION' => 'LLAP/perlfaq-5.021011.tar.gz', |
| 898 | 'FILES' => q[cpan/perlfaq], |
| 899 | 'EXCLUDED' => [ |
| 900 | qw( inc/CreateQuestionList.pm |
| 901 | inc/perlfaq.tt |
| 902 | t/00-compile.t), |
| 903 | qr{^xt/}, |
| 904 | ], |
| 905 | |
| 906 | 'CUSTOMIZED' => [ qw[ lib/perlfaq5.pod lib/perlfaq8.pod ] ], |
| 907 | }, |
| 908 | |
| 909 | 'PerlIO::via::QuotedPrint' => { |
| 910 | 'DISTRIBUTION' => 'SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz', |
| 911 | 'FILES' => q[cpan/PerlIO-via-QuotedPrint], |
| 912 | }, |
| 913 | |
| 914 | 'Pod::Checker' => { |
| 915 | 'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.73.tar.gz', |
| 916 | 'FILES' => q[cpan/Pod-Checker], |
| 917 | 'CUSTOMIZED' => [ qw[ |
| 918 | t/pod/contains_bad_pod.xr |
| 919 | t/pod/selfcheck.t |
| 920 | t/pod/testcmp.pl |
| 921 | t/pod/testpchk.pl |
| 922 | ] ], |
| 923 | }, |
| 924 | |
| 925 | 'Pod::Escapes' => { |
| 926 | 'DISTRIBUTION' => 'NEILB/Pod-Escapes-1.07.tar.gz', |
| 927 | 'FILES' => q[cpan/Pod-Escapes], |
| 928 | }, |
| 929 | |
| 930 | 'Pod::Parser' => { |
| 931 | 'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.63.tar.gz', |
| 932 | 'FILES' => q[cpan/Pod-Parser], |
| 933 | }, |
| 934 | |
| 935 | 'Pod::Perldoc' => { |
| 936 | 'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.28.tar.gz', |
| 937 | 'FILES' => q[cpan/Pod-Perldoc], |
| 938 | |
| 939 | # Note that we use the CPAN-provided Makefile.PL, since it |
| 940 | # contains special handling of the installation of perldoc.pod |
| 941 | |
| 942 | 'EXCLUDED' => [ |
| 943 | # In blead, the perldoc executable is generated by perldoc.PL |
| 944 | # instead |
| 945 | # XXX We can and should fix this, but clean up the DRY-failure in |
| 946 | # utils first |
| 947 | 'perldoc', |
| 948 | |
| 949 | # https://rt.cpan.org/Ticket/Display.html?id=116827 |
| 950 | 't/02_module_pod_output.t' |
| 951 | ], |
| 952 | |
| 953 | 'CUSTOMIZED' => [ |
| 954 | # [rt.cpan.org #88204], [rt.cpan.org #120229] |
| 955 | 'lib/Pod/Perldoc.pm', |
| 956 | ], |
| 957 | }, |
| 958 | |
| 959 | 'Pod::Simple' => { |
| 960 | 'DISTRIBUTION' => 'KHW/Pod-Simple-3.35.tar.gz', |
| 961 | 'FILES' => q[cpan/Pod-Simple], |
| 962 | }, |
| 963 | |
| 964 | 'Pod::Usage' => { |
| 965 | 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.69.tar.gz', |
| 966 | 'FILES' => q[cpan/Pod-Usage], |
| 967 | }, |
| 968 | |
| 969 | 'podlators' => { |
| 970 | 'DISTRIBUTION' => 'RRA/podlators-4.10.tar.gz', |
| 971 | 'FILES' => q[cpan/podlators pod/perlpodstyle.pod], |
| 972 | 'EXCLUDED' => [ |
| 973 | qr{^docs/metadata/}, |
| 974 | ], |
| 975 | |
| 976 | 'MAP' => { |
| 977 | '' => 'cpan/podlators/', |
| 978 | # this file lives outside the cpan/ directory |
| 979 | 'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod', |
| 980 | }, |
| 981 | |
| 982 | 'CUSTOMIZED' => [ qw[ pod/perlpodstyle.pod ] ], |
| 983 | }, |
| 984 | |
| 985 | 'Safe' => { |
| 986 | 'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz', |
| 987 | 'FILES' => q[dist/Safe], |
| 988 | }, |
| 989 | |
| 990 | 'Scalar::Util' => { |
| 991 | 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.50.tar.gz', |
| 992 | 'FILES' => q[cpan/Scalar-List-Utils], |
| 993 | }, |
| 994 | |
| 995 | 'Search::Dict' => { |
| 996 | 'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz', |
| 997 | 'FILES' => q[dist/Search-Dict], |
| 998 | }, |
| 999 | |
| 1000 | 'SelfLoader' => { |
| 1001 | 'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz', |
| 1002 | 'FILES' => q[dist/SelfLoader], |
| 1003 | 'EXCLUDED' => ['t/00pod.t'], |
| 1004 | }, |
| 1005 | |
| 1006 | 'Socket' => { |
| 1007 | 'DISTRIBUTION' => 'PEVANS/Socket-2.027.tar.gz', |
| 1008 | 'FILES' => q[cpan/Socket], |
| 1009 | }, |
| 1010 | |
| 1011 | 'Storable' => { |
| 1012 | 'DISTRIBUTION' => 'AMS/Storable-2.51.tar.gz', |
| 1013 | 'FILES' => q[dist/Storable], |
| 1014 | 'EXCLUDED' => [ |
| 1015 | qr{^t/compat/}, |
| 1016 | ], |
| 1017 | }, |
| 1018 | |
| 1019 | 'Sys::Syslog' => { |
| 1020 | 'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.35.tar.gz', |
| 1021 | 'FILES' => q[cpan/Sys-Syslog], |
| 1022 | 'EXCLUDED' => [ |
| 1023 | qr{^eg/}, |
| 1024 | qw( README.win32 |
| 1025 | t/data-validation.t |
| 1026 | t/distchk.t |
| 1027 | t/pod.t |
| 1028 | t/podcover.t |
| 1029 | t/podspell.t |
| 1030 | t/portfs.t |
| 1031 | win32/PerlLog.RES |
| 1032 | ), |
| 1033 | ], |
| 1034 | }, |
| 1035 | |
| 1036 | 'Term::ANSIColor' => { |
| 1037 | 'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.06.tar.gz', |
| 1038 | 'FILES' => q[cpan/Term-ANSIColor], |
| 1039 | 'EXCLUDED' => [ |
| 1040 | qr{^docs/}, |
| 1041 | qr{^examples/}, |
| 1042 | qr{^t/data/}, |
| 1043 | qr{^t/docs/}, |
| 1044 | qr{^t/style/}, |
| 1045 | qw( t/module/aliases-env.t ), |
| 1046 | ], |
| 1047 | }, |
| 1048 | |
| 1049 | 'Term::Cap' => { |
| 1050 | 'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.17.tar.gz', |
| 1051 | 'FILES' => q[cpan/Term-Cap], |
| 1052 | }, |
| 1053 | |
| 1054 | 'Term::Complete' => { |
| 1055 | 'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz', |
| 1056 | 'FILES' => q[dist/Term-Complete], |
| 1057 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 1058 | }, |
| 1059 | |
| 1060 | 'Term::ReadLine' => { |
| 1061 | 'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.14.tar.gz', |
| 1062 | 'FILES' => q[dist/Term-ReadLine], |
| 1063 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 1064 | }, |
| 1065 | |
| 1066 | 'Test' => { |
| 1067 | 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz', |
| 1068 | 'FILES' => q[dist/Test], |
| 1069 | }, |
| 1070 | |
| 1071 | 'Test::Harness' => { |
| 1072 | 'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz', |
| 1073 | 'FILES' => q[cpan/Test-Harness], |
| 1074 | 'EXCLUDED' => [ |
| 1075 | qr{^examples/}, |
| 1076 | qr{^xt/}, |
| 1077 | qw( Changes-2.64 |
| 1078 | MANIFEST.CUMMULATIVE |
| 1079 | HACKING.pod |
| 1080 | perlcriticrc |
| 1081 | t/000-load.t |
| 1082 | t/lib/if.pm |
| 1083 | ), |
| 1084 | ], |
| 1085 | }, |
| 1086 | |
| 1087 | 'Test::Simple' => { |
| 1088 | 'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302133.tar.gz', |
| 1089 | 'FILES' => q[cpan/Test-Simple], |
| 1090 | 'EXCLUDED' => [ |
| 1091 | qr{^examples/}, |
| 1092 | qr{^xt/}, |
| 1093 | qw( appveyor.yml |
| 1094 | t/00compile.t |
| 1095 | t/00-report.t |
| 1096 | t/zzz-check-breaks.t |
| 1097 | ), |
| 1098 | ], |
| 1099 | }, |
| 1100 | |
| 1101 | 'Text::Abbrev' => { |
| 1102 | 'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz', |
| 1103 | 'FILES' => q[dist/Text-Abbrev], |
| 1104 | 'EXCLUDED' => [qr{^t/release-.*\.t}], |
| 1105 | }, |
| 1106 | |
| 1107 | 'Text::Balanced' => { |
| 1108 | 'DISTRIBUTION' => 'SHAY/Text-Balanced-2.03.tar.gz', |
| 1109 | 'FILES' => q[cpan/Text-Balanced], |
| 1110 | 'EXCLUDED' => [ |
| 1111 | qw( t/97_meta.t |
| 1112 | t/98_pod.t |
| 1113 | t/99_pmv.t |
| 1114 | ), |
| 1115 | ], |
| 1116 | }, |
| 1117 | |
| 1118 | 'Text::ParseWords' => { |
| 1119 | 'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.30.tar.gz', |
| 1120 | 'FILES' => q[cpan/Text-ParseWords], |
| 1121 | }, |
| 1122 | |
| 1123 | 'Text-Tabs+Wrap' => { |
| 1124 | 'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz', |
| 1125 | 'FILES' => q[cpan/Text-Tabs], |
| 1126 | 'EXCLUDED' => [ |
| 1127 | qr/^lib\.old/, |
| 1128 | 't/dnsparks.t', # see af6492bf9e |
| 1129 | ], |
| 1130 | 'MAP' => { |
| 1131 | '' => 'cpan/Text-Tabs/', |
| 1132 | 'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm', |
| 1133 | 'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm', |
| 1134 | }, |
| 1135 | }, |
| 1136 | |
| 1137 | # Jerry Hedden does take patches that are applied to blead first, even |
| 1138 | # though that can be hard to discern from the Git history; so it's |
| 1139 | # correct for this (and Thread::Semaphore, threads, and threads::shared) |
| 1140 | # to be under dist/ rather than cpan/ |
| 1141 | 'Thread::Queue' => { |
| 1142 | 'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.12.tar.gz', |
| 1143 | 'FILES' => q[dist/Thread-Queue], |
| 1144 | 'EXCLUDED' => [ |
| 1145 | qr{^examples/}, |
| 1146 | qw( t/00_load.t |
| 1147 | t/99_pod.t |
| 1148 | t/test.pl |
| 1149 | ), |
| 1150 | ], |
| 1151 | }, |
| 1152 | |
| 1153 | 'Thread::Semaphore' => { |
| 1154 | 'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.13.tar.gz', |
| 1155 | 'FILES' => q[dist/Thread-Semaphore], |
| 1156 | 'EXCLUDED' => [ |
| 1157 | qw( examples/semaphore.pl |
| 1158 | t/00_load.t |
| 1159 | t/99_pod.t |
| 1160 | t/test.pl |
| 1161 | ), |
| 1162 | ], |
| 1163 | }, |
| 1164 | |
| 1165 | 'threads' => { |
| 1166 | 'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz', |
| 1167 | 'FILES' => q[dist/threads], |
| 1168 | 'EXCLUDED' => [ |
| 1169 | qr{^examples/}, |
| 1170 | qw( t/pod.t |
| 1171 | t/test.pl |
| 1172 | threads.h |
| 1173 | ), |
| 1174 | ], |
| 1175 | }, |
| 1176 | |
| 1177 | 'threads::shared' => { |
| 1178 | 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.58.tar.gz', |
| 1179 | 'FILES' => q[dist/threads-shared], |
| 1180 | 'EXCLUDED' => [ |
| 1181 | qw( examples/class.pl |
| 1182 | shared.h |
| 1183 | t/pod.t |
| 1184 | t/test.pl |
| 1185 | ), |
| 1186 | ], |
| 1187 | }, |
| 1188 | |
| 1189 | 'Tie::File' => { |
| 1190 | 'DISTRIBUTION' => 'TODDR/Tie-File-1.00.tar.gz', |
| 1191 | 'FILES' => q[dist/Tie-File], |
| 1192 | }, |
| 1193 | |
| 1194 | 'Tie::RefHash' => { |
| 1195 | 'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz', |
| 1196 | 'FILES' => q[cpan/Tie-RefHash], |
| 1197 | }, |
| 1198 | |
| 1199 | 'Time::HiRes' => { |
| 1200 | 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9759.tar.gz', |
| 1201 | 'FILES' => q[dist/Time-HiRes], |
| 1202 | }, |
| 1203 | |
| 1204 | 'Time::Local' => { |
| 1205 | 'DISTRIBUTION' => 'DROLSKY/Time-Local-1.25.tar.gz', |
| 1206 | 'FILES' => q[cpan/Time-Local], |
| 1207 | 'EXCLUDED' => [ |
| 1208 | qr{^xt/}, |
| 1209 | qw( perlcriticrc |
| 1210 | perltidyrc |
| 1211 | tidyall.ini |
| 1212 | t/00-report-prereqs.t |
| 1213 | t/00-report-prereqs.dd |
| 1214 | ), |
| 1215 | ], |
| 1216 | }, |
| 1217 | |
| 1218 | 'Time::Piece' => { |
| 1219 | 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3204.tar.gz', |
| 1220 | 'FILES' => q[cpan/Time-Piece], |
| 1221 | 'EXCLUDED' => [ qw[reverse_deps.txt] ], |
| 1222 | }, |
| 1223 | |
| 1224 | 'Unicode::Collate' => { |
| 1225 | 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.25.tar.gz', |
| 1226 | 'FILES' => q[cpan/Unicode-Collate], |
| 1227 | 'EXCLUDED' => [ |
| 1228 | qr{N$}, |
| 1229 | qr{^data/}, |
| 1230 | qr{^gendata/}, |
| 1231 | qw( disableXS |
| 1232 | enableXS |
| 1233 | mklocale |
| 1234 | ), |
| 1235 | ], |
| 1236 | }, |
| 1237 | |
| 1238 | 'Unicode::Normalize' => { |
| 1239 | 'DISTRIBUTION' => 'KHW/Unicode-Normalize-1.25.tar.gz', |
| 1240 | 'FILES' => q[dist/Unicode-Normalize], |
| 1241 | 'EXCLUDED' => [ |
| 1242 | qw( MANIFEST.N |
| 1243 | Normalize.pmN |
| 1244 | disableXS |
| 1245 | enableXS |
| 1246 | ), |
| 1247 | ], |
| 1248 | }, |
| 1249 | |
| 1250 | 'version' => { |
| 1251 | 'DISTRIBUTION' => 'JPEACOCK/version-0.9918.tar.gz', |
| 1252 | 'FILES' => q[cpan/version vutil.c vutil.h vxs.inc], |
| 1253 | 'EXCLUDED' => [ |
| 1254 | qr{^vutil/lib/}, |
| 1255 | 'vutil/Makefile.PL', |
| 1256 | 'vutil/ppport.h', |
| 1257 | 'vutil/vxs.xs', |
| 1258 | 't/00impl-pp.t', |
| 1259 | 't/survey_locales', |
| 1260 | 'vperl/vpp.pm', |
| 1261 | ], |
| 1262 | |
| 1263 | # When adding the CPAN-distributed files for version.pm, it is necessary |
| 1264 | # to delete an entire block out of lib/version.pm, since that code is |
| 1265 | # only necessary with the CPAN release. |
| 1266 | 'CUSTOMIZED' => [ |
| 1267 | qw( lib/version.pm |
| 1268 | vxs.inc |
| 1269 | ), |
| 1270 | ], |
| 1271 | |
| 1272 | 'MAP' => { |
| 1273 | 'vutil/' => '', |
| 1274 | '' => 'cpan/version/', |
| 1275 | }, |
| 1276 | }, |
| 1277 | |
| 1278 | 'warnings' => { |
| 1279 | 'FILES' => q[ |
| 1280 | lib/warnings |
| 1281 | lib/warnings.{pm,t} |
| 1282 | regen/warnings.pl |
| 1283 | t/lib/warnings |
| 1284 | ], |
| 1285 | }, |
| 1286 | |
| 1287 | 'Win32' => { |
| 1288 | 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz", |
| 1289 | 'FILES' => q[cpan/Win32], |
| 1290 | }, |
| 1291 | |
| 1292 | 'Win32API::File' => { |
| 1293 | 'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1203.tar.gz', |
| 1294 | 'FILES' => q[cpan/Win32API-File], |
| 1295 | 'EXCLUDED' => [ |
| 1296 | qr{^ex/}, |
| 1297 | ], |
| 1298 | }, |
| 1299 | |
| 1300 | 'XSLoader' => { |
| 1301 | 'DISTRIBUTION' => 'SAPER/XSLoader-0.24.tar.gz', |
| 1302 | 'FILES' => q[dist/XSLoader], |
| 1303 | 'EXCLUDED' => [ |
| 1304 | qr{^eg/}, |
| 1305 | qw( t/00-load.t |
| 1306 | t/01-api.t |
| 1307 | t/distchk.t |
| 1308 | t/pod.t |
| 1309 | t/podcover.t |
| 1310 | t/portfs.t |
| 1311 | ), |
| 1312 | 'XSLoader.pm', # we use XSLoader_pm.PL |
| 1313 | ], |
| 1314 | }, |
| 1315 | |
| 1316 | # this pseudo-module represents all the files under ext/ and lib/ |
| 1317 | # that aren't otherwise claimed. This means that the following two |
| 1318 | # commands will check that every file under ext/ and lib/ is |
| 1319 | # accounted for, and that there are no duplicates: |
| 1320 | # |
| 1321 | # perl Porting/Maintainers --checkmani lib ext |
| 1322 | # perl Porting/Maintainers --checkmani |
| 1323 | |
| 1324 | '_PERLLIB' => { |
| 1325 | 'FILES' => q[ |
| 1326 | ext/Amiga-ARexx/ |
| 1327 | ext/Amiga-Exec/ |
| 1328 | ext/B/ |
| 1329 | ext/Devel-Peek/ |
| 1330 | ext/DynaLoader/ |
| 1331 | ext/Errno/ |
| 1332 | ext/ExtUtils-Miniperl/ |
| 1333 | ext/Fcntl/ |
| 1334 | ext/File-DosGlob/ |
| 1335 | ext/File-Find/ |
| 1336 | ext/File-Glob/ |
| 1337 | ext/FileCache/ |
| 1338 | ext/GDBM_File/ |
| 1339 | ext/Hash-Util-FieldHash/ |
| 1340 | ext/Hash-Util/ |
| 1341 | ext/I18N-Langinfo/ |
| 1342 | ext/IPC-Open3/ |
| 1343 | ext/NDBM_File/ |
| 1344 | ext/ODBM_File/ |
| 1345 | ext/Opcode/ |
| 1346 | ext/POSIX/ |
| 1347 | ext/PerlIO-encoding/ |
| 1348 | ext/PerlIO-mmap/ |
| 1349 | ext/PerlIO-scalar/ |
| 1350 | ext/PerlIO-via/ |
| 1351 | ext/Pod-Functions/ |
| 1352 | ext/Pod-Html/ |
| 1353 | ext/SDBM_File/ |
| 1354 | ext/Sys-Hostname/ |
| 1355 | ext/Tie-Hash-NamedCapture/ |
| 1356 | ext/Tie-Memoize/ |
| 1357 | ext/VMS-DCLsym/ |
| 1358 | ext/VMS-Filespec/ |
| 1359 | ext/VMS-Stdio/ |
| 1360 | ext/Win32CORE/ |
| 1361 | ext/XS-APItest/ |
| 1362 | ext/XS-Typemap/ |
| 1363 | ext/arybase/ |
| 1364 | ext/attributes/ |
| 1365 | ext/mro/ |
| 1366 | ext/re/ |
| 1367 | lib/AnyDBM_File.{pm,t} |
| 1368 | lib/Benchmark.{pm,t} |
| 1369 | lib/B/Deparse{.pm,.t,-*.t} |
| 1370 | lib/B/Op_private.pm |
| 1371 | lib/CORE.pod |
| 1372 | lib/Class/Struct.{pm,t} |
| 1373 | lib/Config.t |
| 1374 | lib/Config/Extensions.{pm,t} |
| 1375 | lib/DB.{pm,t} |
| 1376 | lib/DBM_Filter.pm |
| 1377 | lib/DBM_Filter/ |
| 1378 | lib/DirHandle.{pm,t} |
| 1379 | lib/English.{pm,t} |
| 1380 | lib/ExtUtils/Embed.pm |
| 1381 | lib/ExtUtils/XSSymSet.pm |
| 1382 | lib/ExtUtils/t/Embed.t |
| 1383 | lib/ExtUtils/typemap |
| 1384 | lib/File/Basename.{pm,t} |
| 1385 | lib/File/Compare.{pm,t} |
| 1386 | lib/File/Copy.{pm,t} |
| 1387 | lib/File/stat{.pm,.t,-7896.t} |
| 1388 | lib/FileHandle.{pm,t} |
| 1389 | lib/FindBin.{pm,t} |
| 1390 | lib/Getopt/Std.{pm,t} |
| 1391 | lib/Internals.pod |
| 1392 | lib/Internals.t |
| 1393 | lib/meta_notation.{pm,t} |
| 1394 | lib/Net/hostent.{pm,t} |
| 1395 | lib/Net/netent.{pm,t} |
| 1396 | lib/Net/protoent.{pm,t} |
| 1397 | lib/Net/servent.{pm,t} |
| 1398 | lib/PerlIO.pm |
| 1399 | lib/Pod/t/InputObjects.t |
| 1400 | lib/Pod/t/Select.t |
| 1401 | lib/Pod/t/Usage.t |
| 1402 | lib/Pod/t/utils.t |
| 1403 | lib/SelectSaver.{pm,t} |
| 1404 | lib/Symbol.{pm,t} |
| 1405 | lib/Thread.{pm,t} |
| 1406 | lib/Tie/Array.pm |
| 1407 | lib/Tie/Array/ |
| 1408 | lib/Tie/ExtraHash.t |
| 1409 | lib/Tie/Handle.pm |
| 1410 | lib/Tie/Handle/ |
| 1411 | lib/Tie/Hash.{pm,t} |
| 1412 | lib/Tie/Scalar.{pm,t} |
| 1413 | lib/Tie/StdHandle.pm |
| 1414 | lib/Tie/SubstrHash.{pm,t} |
| 1415 | lib/Time/gmtime.{pm,t} |
| 1416 | lib/Time/localtime.{pm,t} |
| 1417 | lib/Time/tm.pm |
| 1418 | lib/UNIVERSAL.pm |
| 1419 | lib/Unicode/README |
| 1420 | lib/Unicode/UCD.{pm,t} |
| 1421 | lib/User/grent.{pm,t} |
| 1422 | lib/User/pwent.{pm,t} |
| 1423 | lib/_charnames.pm |
| 1424 | lib/blib.{pm,t} |
| 1425 | lib/bytes.{pm,t} |
| 1426 | lib/bytes_heavy.pl |
| 1427 | lib/charnames.{pm,t} |
| 1428 | lib/dbm_filter_util.pl |
| 1429 | lib/deprecate.pm |
| 1430 | lib/diagnostics.{pm,t} |
| 1431 | lib/dumpvar.{pl,t} |
| 1432 | lib/feature.{pm,t} |
| 1433 | lib/feature/ |
| 1434 | lib/filetest.{pm,t} |
| 1435 | lib/h2ph.t |
| 1436 | lib/h2xs.t |
| 1437 | lib/integer.{pm,t} |
| 1438 | lib/less.{pm,t} |
| 1439 | lib/locale.{pm,t} |
| 1440 | lib/locale_threads.t |
| 1441 | lib/open.{pm,t} |
| 1442 | lib/overload/numbers.pm |
| 1443 | lib/overloading.{pm,t} |
| 1444 | lib/overload{.pm,.t,64.t} |
| 1445 | lib/perl5db.{pl,t} |
| 1446 | lib/perl5db/ |
| 1447 | lib/perlbug.t |
| 1448 | lib/sigtrap.{pm,t} |
| 1449 | lib/sort.{pm,t} |
| 1450 | lib/strict.{pm,t} |
| 1451 | lib/subs.{pm,t} |
| 1452 | lib/unicore/ |
| 1453 | lib/utf8.{pm,t} |
| 1454 | lib/utf8_heavy.pl |
| 1455 | lib/vars{.pm,.t,_carp.t} |
| 1456 | lib/vmsish.{pm,t} |
| 1457 | ], |
| 1458 | }, |
| 1459 | ); |
| 1460 | |
| 1461 | # legacy CPAN flag |
| 1462 | for ( values %Modules ) { |
| 1463 | $_->{CPAN} = !!$_->{DISTRIBUTION}; |
| 1464 | } |
| 1465 | |
| 1466 | # legacy UPSTREAM flag |
| 1467 | for ( keys %Modules ) { |
| 1468 | # Keep any existing UPSTREAM flag so that "overrides" can be applied |
| 1469 | next if exists $Modules{$_}{UPSTREAM}; |
| 1470 | |
| 1471 | if ($_ eq '_PERLLIB' or $Modules{$_}{FILES} =~ m{^\s*(?:dist|ext|lib)/}) { |
| 1472 | $Modules{$_}{UPSTREAM} = 'blead'; |
| 1473 | } |
| 1474 | elsif ($Modules{$_}{FILES} =~ m{^\s*cpan/}) { |
| 1475 | $Modules{$_}{UPSTREAM} = 'cpan'; |
| 1476 | } |
| 1477 | else { |
| 1478 | warn "Unexpected location of FILES for module $_: $Modules{$_}{FILES}"; |
| 1479 | } |
| 1480 | } |
| 1481 | |
| 1482 | # legacy MAINTAINER field |
| 1483 | for ( keys %Modules ) { |
| 1484 | # Keep any existing MAINTAINER flag so that "overrides" can be applied |
| 1485 | next if exists $Modules{$_}{MAINTAINER}; |
| 1486 | |
| 1487 | if ($Modules{$_}{UPSTREAM} eq 'blead') { |
| 1488 | $Modules{$_}{MAINTAINER} = 'P5P'; |
| 1489 | $Maintainers{P5P} = 'perl5-porters <perl5-porters@perl.org>'; |
| 1490 | } |
| 1491 | elsif (exists $Modules{$_}{DISTRIBUTION}) { |
| 1492 | (my $pause_id = $Modules{$_}{DISTRIBUTION}) =~ s{/.*$}{}; |
| 1493 | $Modules{$_}{MAINTAINER} = $pause_id; |
| 1494 | $Maintainers{$pause_id} = "<$pause_id\@cpan.org>"; |
| 1495 | } |
| 1496 | else { |
| 1497 | warn "No DISTRIBUTION for non-blead module $_"; |
| 1498 | } |
| 1499 | } |
| 1500 | |
| 1501 | 1; |