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