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