This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Extract _cmd_l_calc_initial_end_and_i .
[perl5.git] / Porting / Maintainers.pl
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 %Maintainers = (
15     'abergman'  => 'Arthur Bergman <abergman@cpan.org>',
16     'abigail'   => 'Abigail <abigail@abigail.be>',
17     'ambs'      => 'Alberto Simões <ambs@cpan.org>',
18     'ams'       => 'Abhijit Menon-Sen <ams@cpan.org>',
19     'andk'      => 'Andreas J. Koenig <andk@cpan.org>',
20     'andya'     => 'Andy Armstrong <andy@hexten.net>',
21     'arandal'   => 'Allison Randal <allison@perl.org>',
22     'audreyt'   => 'Audrey Tang <cpan@audreyt.org>',
23     'avar'      => 'Ævar Arnfjörð Bjarmason <avar@cpan.org>',
24     'bingos'    => 'Chris Williams <chris@bingosnet.co.uk>',
25     'chorny'    => 'Alexandr Ciornii <alexchorny@gmail.com>',
26     'corion'    => 'Max Maischein <corion@corion.net>',
27     'craig'     => 'Craig Berry <craigberry@mac.com>',
28     'dankogai'  => 'Dan Kogai <dankogai@cpan.org>',
29     'dconway'   => 'Damian Conway <dconway@cpan.org>',
30     'dland'     => 'David Landgren <dland@cpan.org>',
31     'dmanura'   => 'David Manura <dmanura@cpan.org>',
32     'drolsky'   => 'Dave Rolsky <drolsky@cpan.org>',
33     'elizabeth' => 'Elizabeth Mattijsen <liz@dijkmat.nl>',
34     'ferreira'  => 'Adriano Ferreira <ferreira@cpan.org>',
35     'gbarr'     => 'Graham Barr <gbarr@cpan.org>',
36     'gaas'      => 'Gisle Aas <gaas@cpan.org>',
37     'gsar'      => 'Gurusamy Sarathy <gsar@activestate.com>',
38     'ilyam'     => 'Ilya Martynov <ilyam@cpan.org>',
39     'ilyaz'     => 'Ilya Zakharevich <ilyaz@cpan.org>',
40     'jand'      => 'Jan Dubois <jand@activestate.com>',
41     'jdhedden'  => 'Jerry D. Hedden <jdhedden@cpan.org>',
42     'jesse'     => 'Jesse Vincent <jesse@bestpractical.com>',
43     'jhi'       => 'Jarkko Hietaniemi <jhi@cpan.org>',
44     'jjore'     => 'Joshua ben Jore <jjore@cpan.org>',
45     'jpeacock'  => 'John Peacock <jpeacock@cpan.org>',
46     'jstowe'    => 'Jonathan Stowe <jstowe@cpan.org>',
47     'jv'        => 'Johan Vromans <jv@cpan.org>',
48     'kane'      => 'Jos Boumans <kane@cpan.org>',
49     'kwilliams' => 'Ken Williams <kwilliams@cpan.org>',
50     'laun'      => 'Wolfgang Laun <Wolfgang.Laun@alcatel.at>',
51     'lstein'    => 'Lincoln D. Stein <lds@cpan.org>',
52     'lwall'     => 'Larry Wall <lwall@cpan.org>',
53     'makamaka'  => 'Makamaka Hannyaharamitu <makamaka@cpan.org>',
54     'mallen'    => 'Mark Allen <mrallen1@yahoo.com>',
55     'marekr'    => 'Marek Rouchal <marekr@cpan.org>',
56     'markm'     => 'Mark Mielke <markm@cpan.org>',
57     'mhx'       => 'Marcus Holland-Moritz <mhx@cpan.org>',
58     'mjd'       => 'Mark-Jason Dominus <mjd@plover.com>',
59     'msergeant' => 'Matt Sergeant <msergeant@cpan.org>',
60     'mshelor'   => 'Mark Shelor <mshelor@cpan.org>',
61     'muir'      => 'David Muir Sharnoff <muir@cpan.org>',
62     'neilb'     => 'Neil Bowers <neilb@cpan.org>',
63     'nuffin'    => 'Yuval Kogman <nothingmuch@woobling.org>',
64     'nwclark'   => 'Nicholas Clark <nwclark@cpan.org>',
65     'osfameron' => 'Hakim Cassimally <osfameron@perl.org>',
66     'p5p'       => 'perl5-porters <perl5-porters@perl.org>',
67     'perlfaq'   => 'perlfaq-workers <perlfaq-workers@perl.org>',
68     'petdance'  => 'Andy Lester <andy@petdance.com>',
69     'pevans'    => 'Paul Evans <leonerd@leonerd.org.uk>',
70     'pjf'       => 'Paul Fenwick <pjf@cpan.org>',
71     'pmqs'      => 'Paul Marquess <pmqs@cpan.org>',
72     'pvhp'      => 'Peter Prymmer <pvhp@best.com>',
73     'rafl'      => 'Florian Ragwitz <flora@cpan.org>',
74     'rclamp'    => 'Richard Clamp <rclamp@cpan.org>',
75     'rgarcia'   => 'Rafael Garcia-Suarez <rgarcia@cpan.org>',
76     'rkobes'    => 'Randy Kobes <rkobes@cpan.org>',
77     'rmbarker'  => 'Robin Barker <rmbarker@cpan.org>',
78     'rra'       => 'Russ Allbery <rra@cpan.org>',
79     'rurban'    => 'Reini Urban <rurban@cpan.org>',
80     'sadahiro'  => 'SADAHIRO Tomoyuki <SADAHIRO@cpan.org>',
81     'salva'     => 'Salvador Fandiño García <salva@cpan.org>',
82     'saper'     => 'Sébastien Aperghis-Tramoni <saper@cpan.org>',
83     'sartak'    => 'Shawn M Moore <sartak@gmail.com>',
84     'sbeck'     => 'Sullivan Beck <sbeck@cpan.org>',
85     'sburke'    => 'Sean Burke <sburke@cpan.org>',
86     'mschwern'  => 'Michael Schwern <mschwern@cpan.org>',
87     'simonw'    => 'Simon Wistow <simonw@cpan.org>',
88     'smccam'    => 'Stephen McCamant <smccam@cpan.org>',
89     'smpeters'  => 'Steve Peters <steve@fisharerojo.org>',
90     'smueller'  => 'Steffen Mueller <smueller@cpan.org>',
91     'tomhughes' => 'Tom Hughes <tomhughes@cpan.org>',
92     'tjenness'  => 'Tim Jenness <tjenness@cpan.org>',
93     'tyemq'     => 'Tye McQueen <tyemq@cpan.org>',
94     'yves'      => 'Yves Orton <yves@cpan.org>',
95     'zefram'    => 'Andrew Main <zefram@cpan.org>',
96 );
97
98 # IGNORABLE: files which, if they appear in the root of a CPAN
99 # distribution, need not appear in core (i.e. core-cpan-diff won't
100 # complain if it can't find them)
101
102 @IGNORABLE = qw(
103     .cvsignore .dualLivedDiffConfig .gitignore
104     ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
105     CHANGELOG ChangeLog CHANGES Changes COPYING Copying CREDITS dist.ini
106     GOALS HISTORY INSTALL INSTALL.SKIP LICENSE Makefile.PL
107     MANIFEST MANIFEST.SKIP META.yml MYMETA.yml META.json MYMETA.json
108     NEW NOTES perlcritic.rc ppport.h README README.PATCHING SIGNATURE
109     THANKS TODO Todo VERSION WHATSNEW CONTRIBUTING
110 );
111
112 # Each entry in the  %Modules hash roughly represents a distribution,
113 # except when DISTRIBUTION is set, where it *exactly* represents a single
114 # CPAN distribution.
115
116 # The keys of %Modules are human descriptions of the distributions, and
117 # may not exactly match a module or distribution name. Distributions
118 # which have an obvious top-level module associated with them will usually
119 # have a key named for that module, e.g. 'Archive::Extract' for
120 # Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
121 # on the name of the distribution, e.g. 'Locale-Codes' for
122 # Locale-Codes-N.NN.tar.gz'.
123 #
124 # FILES is a list of filenames, glob patterns, and directory
125 # names to be recursed down, which collectively generate a complete list
126 # of the files associated with the distribution.
127
128 # UPSTREAM indicates where patches should go. undef implies
129 # that this hasn't been discussed for the module at hand.
130 # "blead" indicates that the copy of the module in the blead
131 # sources is to be considered canonical, "cpan" means that the
132 # module on CPAN is to be patched first. "first-come" means
133 # that blead can be patched freely if it is in sync with the
134 # latest release on CPAN.
135
136 # BUGS is an email or url to post bug reports.  For modules with
137 # UPSTREAM => 'blead', use perl5-porters@perl.org.  rt.cpan.org
138 # appears to automatically provide a URL for CPAN modules; any value
139 # given here overrides the default:
140 # http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
141
142 # DISTRIBUTION names the tarball on CPAN which (allegedly) the files
143 # included in core are derived from. Note that the file's version may not
144 # necessarily match the newest version on CPAN.
145
146 # EXCLUDED is a list of files to be excluded from a CPAN tarball before
147 # comparing the remaining contents with core. Each item can either be a
148 # full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
149 # It defaults to the empty list.
150
151 # CUSTOMIZED is a list of files that have been customized within the
152 # Perl core.  Use this whenever patching a cpan upstream distribution
153 # or whenever we expect to have a file that differs from the tarball.
154 # If the file in blead matches the file in the tarball from CPAN,
155 # Porting/core-cpan-diff will warn about it, as it indicates an expected
156 # customization might have been lost when updating from upstream.  The
157 # path should be relative to the distribution directory.
158
159 # DEPRECATED contains the *first* version of Perl in which the module
160 # was considered deprecated.  It should only be present if the module is
161 # actually deprecated.  Such modules should use deprecated.pm to
162 # issue a warning if used.  E.g.:
163 #
164 #     use if $] >= 5.011, 'deprecate';
165 #
166
167 # MAP is a hash that maps CPAN paths to their core equivalents.
168 # Each key represents a string prefix, with longest prefixes checked
169 # first. The first match causes that prefix to be replaced with the
170 # corresponding key. For example, with the following MAP:
171 #   {
172 #     'lib/'     => 'lib/',
173 #     ''     => 'lib/Foo/',
174 #   },
175 #
176 # these files are mapped as shown:
177 #
178 #    README     becomes lib/Foo/README
179 #    lib/Foo.pm becomes lib/Foo.pm
180 #
181 # The default is dependent on the type of module.
182 # For distributions which appear to be stored under ext/, it defaults to:
183 #
184 #   { '' => 'ext/Foo-Bar/' }
185 #
186 # otherwise, it's
187 #
188 #   {
189 #     'lib/'     => 'lib/',
190 #     ''     => 'lib/Foo/Bar/',
191 #   }
192
193 %Modules = (
194
195     'AnyDBM_File' => {
196         'MAINTAINER'  => 'p5p',
197         'FILES'       => q[lib/AnyDBM_File.{pm,t}],
198         'UPSTREAM'    => 'blead',
199     },
200
201     'Archive::Extract' => {
202         'MAINTAINER'   => 'kane',
203         'DISTRIBUTION' => 'BINGOS/Archive-Extract-0.60.tar.gz',
204         'FILES'        => q[cpan/Archive-Extract],
205         'UPSTREAM'     => 'cpan',
206         'BUGS'         => 'bug-archive-extract@rt.cpan.org',
207     },
208
209     'Archive::Tar' => {
210         'MAINTAINER'   => 'kane',
211         'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.90.tar.gz',
212         'FILES'        => q[cpan/Archive-Tar],
213         'EXCLUDED'     => ['Makefile.PL'],
214         'UPSTREAM'     => 'cpan',
215         'BUGS'         => 'bug-archive-tar@rt.cpan.org',
216     },
217
218     'Attribute::Handlers' => {
219         'MAINTAINER'   => 'rgarcia',
220         'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
221         'FILES'        => q[dist/Attribute-Handlers],
222         'UPSTREAM'     => 'blead',
223     },
224
225     'attributes' => {
226         'MAINTAINER' => 'p5p',
227         'FILES'      => q[ext/attributes],
228         'UPSTREAM'   => 'blead',
229     },
230
231     'autodie' => {
232         'MAINTAINER'   => 'pjf',
233         'DISTRIBUTION' => 'PJF/autodie-2.13.tar.gz',
234         'FILES'        => q[cpan/autodie],
235         'EXCLUDED'     => [
236             qr{^inc/Module/},
237
238             # All these tests depend upon external
239             # modules that don't exist when we're
240             # building the core.  Hence, they can
241             # never run, and should not be merged.
242             qw( t/boilerplate.t
243                 t/critic.t
244                 t/fork.t
245                 t/kwalitee.t
246                 t/lex58.t
247                 t/pod-coverage.t
248                 t/pod.t
249                 t/socket.t
250                 t/system.t
251                 )
252         ],
253         'UPSTREAM'   => 'cpan',
254     },
255
256     'AutoLoader' => {
257         'MAINTAINER'   => 'smueller',
258         'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
259         'FILES'        => q[cpan/AutoLoader],
260         'EXCLUDED'     => ['t/00pod.t'],
261         'UPSTREAM'     => 'cpan',
262     },
263
264     'autouse' => {
265         'MAINTAINER'   => 'p5p',
266         'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
267         'FILES'        => q[dist/autouse],
268         'EXCLUDED'     => [qr{^t/release-.*\.t}],
269         'UPSTREAM'     => 'blead',
270     },
271
272     'B' => {
273         'MAINTAINER' => 'p5p',
274         'FILES'      => q[ext/B],
275         'EXCLUDED'   => [
276             qw( B/Concise.pm
277                 t/concise.t
278                 ),
279         ],
280         'UPSTREAM' => 'blead',
281     },
282
283     'B::Concise' => {
284         'MAINTAINER' => 'smccam',
285         'FILES'      => q[ext/B/B/Concise.pm ext/B/t/concise.t],
286         'UPSTREAM'   => 'blead',
287     },
288
289     'B::Debug' => {
290         'MAINTAINER'   => 'rurban',
291         'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
292         'FILES'        => q[cpan/B-Debug],
293         'EXCLUDED'     => ['t/pod.t'],
294         'UPSTREAM'     => 'cpan',
295     },
296
297     'B::Deparse' => {
298         'MAINTAINER' => 'smccam',
299         'FILES'      => q[dist/B-Deparse],
300         'UPSTREAM'   => 'blead',
301     },
302
303     'B::Lint' => {
304         'MAINTAINER'   => 'jjore',
305         'DISTRIBUTION' => 'FLORA/B-Lint-1.14.tar.gz',
306         'FILES'        => q[dist/B-Lint],
307         'EXCLUDED'     => ['t/test.pl'],
308         'UPSTREAM'     => 'blead',
309     },
310
311     'base' => {
312         'MAINTAINER'   => 'rgarcia',
313         'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
314         'FILES'        => q[dist/base],
315         'UPSTREAM'     => 'blead',
316     },
317
318     'Benchmark' => {
319         'MAINTAINER' => 'p5p',
320         'FILES'      => q[lib/Benchmark.{pm,t}],
321         'UPSTREAM'   => 'blead',
322     },
323
324     'bignum' => {
325         'MAINTAINER'   => 'rafl',
326         'DISTRIBUTION' => 'FLORA/bignum-0.30.tar.gz',
327         'FILES'        => q[dist/bignum],
328         'EXCLUDED'     => [
329             qr{^inc/Module/},
330             qw( t/pod.t
331                 t/pod_cov.t
332                 ),
333         ],
334         'UPSTREAM' => 'blead',
335     },
336
337     'Carp' => {
338         'MAINTAINER'   => 'zefram',
339         'DISTRIBUTION' => 'ZEFRAM/Carp-1.26.tar.gz',
340         'FILES'        => q[dist/Carp],
341         'UPSTREAM'     => 'blead',
342     },
343
344     'CGI' => {
345         'MAINTAINER'   => 'lstein',
346         'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
347         'FILES'        => q[cpan/CGI],
348         'EXCLUDED'     => [
349             qw( cgi_docs.html
350                 examples/WORLD_WRITABLE/18.157.1.253.sav
351                 t/gen-tests/gen-start-end-tags.pl
352                 t/fast.t
353                 ),
354         ],
355         'UPSTREAM'   => 'cpan',
356     },
357
358     'Class::Struct' => {
359         'MAINTAINER' => 'p5p',
360         'FILES'      => q[lib/Class/Struct.{pm,t}],
361         'UPSTREAM'   => 'blead',
362     },
363
364     'Compress::Raw::Bzip2' => {
365         'MAINTAINER'   => 'pmqs',
366         'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.059.tar.gz',
367         'FILES'        => q[cpan/Compress-Raw-Bzip2],
368         'EXCLUDED'     => [
369             qr{^t/Test/},
370             'bzip2-src/bzip2-cpp.patch',
371         ],
372         'UPSTREAM' => 'cpan',
373     },
374
375     'Compress::Raw::Zlib' => {
376         'MAINTAINER'   => 'pmqs',
377         'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.059.tar.gz',
378
379         'FILES'    => q[cpan/Compress-Raw-Zlib],
380         'EXCLUDED' => [
381             qr{^t/Test/},
382             qw( t/000prereq.t
383                 t/99pod.t
384                 ),
385         ],
386         'UPSTREAM' => 'cpan',
387     },
388
389     'constant' => {
390         'MAINTAINER'   => 'saper',
391         'DISTRIBUTION' => 'SAPER/constant-1.21.tar.gz',
392         'FILES'        => q[dist/constant],
393         'EXCLUDED'     => [
394             qw( t/00-load.t
395                 t/more-tests.t
396                 t/pod-coverage.t
397                 t/pod.t
398                 eg/synopsis.pl
399                 ),
400         ],
401         'UPSTREAM' => 'blead',
402     },
403
404     'CPAN' => {
405         'MAINTAINER'   => 'andk',
406         'DISTRIBUTION' => 'ANDK/CPAN-1.9800.tar.gz',
407         'FILES'        => q[cpan/CPAN],
408         'EXCLUDED'     => [
409             qr{^distroprefs/},
410             qr{^inc/Test/},
411             qr{^t/CPAN/authors/},
412             qw( lib/CPAN/Admin.pm
413                 Makefile.PL
414                 scripts/cpan-mirrors
415                 SlayMakefile
416                 t/00signature.t
417                 t/04clean_load.t
418                 t/12cpan.t
419                 t/13tarzip.t
420                 t/14forkbomb.t
421                 t/30shell.coverage
422                 t/30shell.t
423                 t/31sessions.t
424                 t/41distribution.t
425                 t/42distroprefs.t
426                 t/44cpanmeta.t
427                 t/43distroprefspref.t
428                 t/50pod.t
429                 t/51pod.t
430                 t/52podcover.t
431                 t/60credentials.t
432                 t/70_critic.t
433                 t/CPAN/CpanTestDummies-1.55.pm
434                 t/CPAN/TestConfig.pm
435                 t/CPAN/TestMirroredBy
436                 t/CPAN/TestPatch.txt
437                 t/CPAN/modules/02packages.details.txt
438                 t/CPAN/modules/03modlist.data
439                 t/data/META-dynamic.json
440                 t/data/META-dynamic.yml
441                 t/data/META-static.json
442                 t/data/META-static.yml
443                 t/data/MYMETA.json
444                 t/data/MYMETA.yml
445                 t/local_utils.pm
446                 t/perlcriticrc
447                 t/yaml_code.yml
448                 ),
449         ],
450         'UPSTREAM' => 'cpan',
451     },
452
453     'CPANPLUS' => {
454         'MAINTAINER'   => 'kane',
455         'DISTRIBUTION' => 'BINGOS/CPANPLUS-0.9133.tar.gz',
456         'FILES'        => q[cpan/CPANPLUS],
457         'EXCLUDED'     => [
458             qr{^inc/},
459             qr{^t/dummy-.*\.hidden$},
460             qr{^t/dummy-(cpanplus|perl|localmirror)/},
461             'bin/cpanp-boxed',
462
463             # SQLite tests would be skipped in core, and
464             # the filenames are too long for VMS!
465             qw( t/031_CPANPLUS-Internals-Source-SQLite.t
466                 t/032_CPANPLUS-Internals-Source-via-sqlite.t
467                 ),
468             'Makefile.PL',
469         ],
470         'CUSTOMIZED' => ['Makefile.PL'],
471         'UPSTREAM'   => 'cpan',
472         'BUGS'       => 'bug-cpanplus@rt.cpan.org',
473     },
474
475     'CPANPLUS::Dist::Build' => {
476         'MAINTAINER'   => 'bingos',
477         'DISTRIBUTION' => 'BINGOS/CPANPLUS-Dist-Build-0.68.tar.gz',
478         'FILES'        => q[cpan/CPANPLUS-Dist-Build],
479         'EXCLUDED'     => [
480             qr{^inc/},
481             qw( t/99_pod.t
482                 t/99_pod_coverage.t
483                 ),
484         ],
485         'UPSTREAM' => 'cpan',
486     },
487
488     'CPAN::Meta' => {
489         'MAINTAINER'   => 'dagolden',
490         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.120921.tar.gz',
491         'FILES'        => q[cpan/CPAN-Meta],
492         'EXCLUDED'     => [
493             qw(t/00-compile.t),
494             qr{^xt},
495             qr{^history},
496         ],
497         'UPSTREAM' => 'cpan',
498     },
499
500     'CPAN::Meta::Requirements' => {
501         'MAINTAINER'   => 'dagolden',
502         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz',
503         'FILES'        => q[cpan/CPAN-Meta-Requirements],
504         'EXCLUDED'     => [
505             qw(t/00-compile.t),
506             qr{^xt},
507             qr{^history},
508         ],
509         'UPSTREAM' => 'cpan',
510     },
511
512     'CPAN::Meta::YAML' => {
513         'MAINTAINER'   => 'dagolden',
514         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz',
515         'FILES'        => q[cpan/CPAN-Meta-YAML],
516         'EXCLUDED'     => [
517             't/00-compile.t',
518             't/04_scalar.t',    # requires YAML.pm
519             qr{^xt},
520         ],
521         'UPSTREAM' => 'cpan',
522     },
523
524     'Data::Dumper' => {
525         'MAINTAINER' => 'p5p',    # Not gsar. Not ilyam. Not really smueller
526         'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.139.tar.gz',
527         'FILES'        => q[dist/Data-Dumper],
528         'UPSTREAM'     => 'blead',
529     },
530
531     'DB_File' => {
532         'MAINTAINER'   => 'pmqs',
533         'DISTRIBUTION' => 'PMQS/DB_File-1.827.tar.gz',
534         'FILES'        => q[cpan/DB_File],
535         'EXCLUDED'     => [
536             qr{^patches/},
537             qw( t/pod.t
538                 fallback.h
539                 fallback.xs
540                 ),
541         ],
542         'UPSTREAM' => 'cpan',
543     },
544
545     'DBM_Filter' => {
546         'MAINTAINER' => 'p5p',
547         'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
548         'UPSTREAM'   => 'blead',
549     },
550
551     'Devel::SelfStubber' => {
552         'MAINTAINER'   => 'p5p',
553         'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
554         'FILES'        => q[dist/Devel-SelfStubber],
555         'EXCLUDED'     => [qr{^t/release-.*\.t}],
556         'UPSTREAM'     => 'blead',
557     },
558
559     'Devel::Peek' => {
560         'MAINTAINER' => 'p5p',
561         'FILES'      => q[ext/Devel-Peek],
562         'UPSTREAM'   => 'blead',
563     },
564
565     'Devel::PPPort' => {
566         'MAINTAINER'   => 'mhx',
567         'DISTRIBUTION' => 'MHX/Devel-PPPort-3.20.tar.gz',
568         'FILES'        => q[cpan/Devel-PPPort],
569         'EXCLUDED' => ['PPPort.pm'],    # we use PPPort_pm.PL instead
570         'UPSTREAM' => 'cpan',
571     },
572
573     'diagnostics' => {
574         'MAINTAINER' => 'p5p',
575         'FILES'      => q[lib/diagnostics.{pm,t}],
576         'UPSTREAM'   => 'blead',
577     },
578
579     'Digest' => {
580         'MAINTAINER'   => 'gaas',
581         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
582         'FILES'        => q[cpan/Digest],
583         'EXCLUDED'     => ['digest-bench'],
584         'UPSTREAM'     => "cpan",
585     },
586
587     'Digest::MD5' => {
588         'MAINTAINER'   => 'gaas',
589         'DISTRIBUTION' => 'GAAS/Digest-MD5-2.52.tar.gz',
590         'FILES'        => q[cpan/Digest-MD5],
591         'EXCLUDED'     => ['rfc1321.txt'],
592         'UPSTREAM'     => "cpan",
593     },
594
595     'Digest::SHA' => {
596         'MAINTAINER'   => 'mshelor',
597         'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.80.tar.gz',
598         'FILES'        => q[cpan/Digest-SHA],
599         'EXCLUDED'     => [
600             qw( t/pod.t
601                 t/podcover.t
602                 examples/dups
603                 ),
604         ],
605         'UPSTREAM' => 'cpan',
606     },
607
608     'DirHandle' => {
609         'MAINTAINER' => 'p5p',
610         'FILES'      => q[lib/DirHandle.{pm,t}],
611         'UPSTREAM'   => 'blead',
612     },
613
614     'Dumpvalue' => {
615         'MAINTAINER'   => 'p5p',
616         'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
617         'FILES'        => q[dist/Dumpvalue],
618         'EXCLUDED'     => [qr{^t/release-.*\.t}],
619         'UPSTREAM'     => 'blead',
620     },
621
622     'DynaLoader' => {
623         'MAINTAINER' => 'p5p',
624         'FILES'      => q[ext/DynaLoader],
625         'UPSTREAM'   => 'blead',
626     },
627
628     'Encode' => {
629         'MAINTAINER'   => 'dankogai',
630         'DISTRIBUTION' => 'DANKOGAI/Encode-2.47.tar.gz',
631         'FILES'        => q[cpan/Encode],
632         'UPSTREAM'     => 'cpan',
633     },
634
635     'encoding::warnings' => {
636         'MAINTAINER'   => 'audreyt',
637         'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
638         'FILES'        => q[cpan/encoding-warnings],
639         'EXCLUDED'     => [
640             qr{^inc/Module/},
641             qw( t/0-signature.t
642                 Makefile.PL
643                 MANIFEST
644                 META.yml
645                 README
646                 SIGNATURE
647                 ),
648         ],
649         'UPSTREAM' => undef,
650     },
651
652     'English' => {
653         'MAINTAINER' => 'p5p',
654         'FILES'      => q[lib/English.{pm,t}],
655         'UPSTREAM'   => 'blead',
656     },
657
658     'Env' => {
659         'MAINTAINER'   => 'p5p',
660         'DISTRIBUTION' => 'FLORA/Env-1.03.tar.gz',
661         'FILES'        => q[dist/Env],
662         'EXCLUDED'     => [qr{^t/release-.*\.t}],
663         'UPSTREAM'     => 'blead',
664     },
665
666     'Errno' => {
667         'MAINTAINER' => 'p5p',
668         'FILES'      => q[ext/Errno],
669         'UPSTREAM'   => 'blead',
670     },
671
672     'Exporter' => {
673         'MAINTAINER'   => 'ferreira',
674         'DISTRIBUTION' => 'TODDR/Exporter-5.67.tar.gz',
675         'FILES'        => q[lib/Exporter.pm
676                             lib/Exporter.t
677                             lib/Exporter/Heavy.pm
678                            ],
679         'EXCLUDED' => [
680             qw( t/pod.t
681                 t/use.t
682                 ),
683         ],
684         'MAP' => {
685             't/'   => 'lib/',
686             'lib/' => 'lib/',
687         },
688         'UPSTREAM' => 'blead',
689     },
690
691     'ExtUtils::CBuilder' => {
692         'MAINTAINER'   => 'ambs',
693         'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz',
694         'FILES'        => q[dist/ExtUtils-CBuilder],
695         'UPSTREAM'     => 'blead',
696     },
697
698     'ExtUtils::Command' => {
699         'MAINTAINER'   => 'p5p',
700         'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.17.tar.gz',
701         'FILES'        => q[dist/ExtUtils-Command],
702         'EXCLUDED'     => [qr{^t/release-}],
703         'UPSTREAM'     => 'blead',
704     },
705
706     'ExtUtils::Constant' => {
707         'MAINTAINER' => 'nwclark',
708
709         # Nick has confirmed that while we have diverged from CPAN,
710         # this package isn't primarily maintained in core
711         # Another release will happen "Sometime"
712         'DISTRIBUTION' => '',    #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
713         'FILES'    => q[cpan/ExtUtils-Constant],
714         'EXCLUDED' => [
715             qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
716                 examples/perl_keyword.pl
717                 examples/perl_regcomp_posix_keyword.pl
718                 ),
719         ],
720         'UPSTREAM' => undef,
721     },
722
723     'ExtUtils::Install' => {
724         'MAINTAINER'   => 'yves',
725         'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
726         'FILES'        => q[dist/ExtUtils-Install],
727         'EXCLUDED'     => [
728             qw( t/lib/Test/Builder.pm
729                 t/lib/Test/Builder/Module.pm
730                 t/lib/Test/More.pm
731                 t/lib/Test/Simple.pm
732                 t/pod-coverage.t
733                 t/pod.t
734                 ),
735         ],
736         'UPSTREAM' => 'blead',
737     },
738
739     'ExtUtils::MakeMaker' => {
740         'MAINTAINER'   => 'mschwern',
741         'DISTRIBUTION' => 'MSCHWERN/ExtUtils-MakeMaker-6.64.tar.gz',
742         'FILES'        => q[cpan/ExtUtils-MakeMaker],
743         'EXCLUDED'     => [
744             qr{^t/lib/Test/},
745             qr{^(bundled|my)/},
746             qr{^t/Liblist_Kid.t},
747             qr{^t/liblist/},
748         ],
749         'UPSTREAM' => 'first-come',
750     },
751
752     'ExtUtils::Manifest' => {
753         'MAINTAINER'   => 'p5p',
754         'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.61.tar.gz',
755         'FILES'        => q[dist/ExtUtils-Manifest],
756         'EXCLUDED'     => [qr(t/release-.*\.t)],
757         'UPSTREAM'     => 'blead',
758     },
759
760     'ExtUtils::ParseXS' => {
761         'MAINTAINER'   => 'smueller',
762         'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.18.tar.gz',
763         'FILES'        => q[dist/ExtUtils-ParseXS],
764         'UPSTREAM'     => 'blead',
765     },
766
767     'perlfaq' => {
768         'MAINTAINER'   => 'perlfaq',
769         'DISTRIBUTION' => 'LLAP/perlfaq-5.0150041.tar.gz',
770         'FILES'        => q[cpan/perlfaq],
771         'EXCLUDED'     => [
772             qw( t/release-pod-syntax.t
773                 t/release-eol.t
774                 t/release-no-tabs.t
775                 )
776         ],
777         'UPSTREAM' => 'cpan',
778     },
779
780     'File::Basename' => {
781         'MAINTAINER' => 'p5p',
782         'FILES'      => q[lib/File/Basename.{pm,t}],
783         'UPSTREAM'   => 'blead',
784     },
785
786     'File::Compare' => {
787         'MAINTAINER' => 'p5p',
788         'FILES'      => q[lib/File/Compare.{pm,t}],
789         'UPSTREAM'   => 'blead',
790     },
791
792     'File::Copy' => {
793         'MAINTAINER' => 'p5p',
794         'FILES'      => q[lib/File/Copy.{pm,t}],
795         'UPSTREAM'   => 'blead',
796     },
797
798     'File::CheckTree' => {
799         'MAINTAINER'   => 'p5p',
800         'DISTRIBUTION' => 'FLORA/File-CheckTree-4.41.tar.gz',
801         'FILES'        => q[dist/File-CheckTree],
802         'EXCLUDED'     => [qr{^t/release-.*\.t}],
803         'UPSTREAM'     => 'blead',
804     },
805
806     'File::DosGlob' => {
807         'MAINTAINER' => 'p5p',
808         'FILES'      => q[ext/File-DosGlob],
809         'UPSTREAM'   => 'blead',
810     },
811
812     'File::Fetch' => {
813         'MAINTAINER'   => 'kane',
814         'DISTRIBUTION' => 'BINGOS/File-Fetch-0.36.tar.gz',
815         'FILES'        => q[cpan/File-Fetch],
816         'UPSTREAM'     => 'cpan',
817     },
818
819     'File::Find' => {
820         'MAINTAINER' => 'p5p',
821         'FILES'      => q[lib/File/Find.pm lib/File/Find],
822         'UPSTREAM'   => 'blead',
823     },
824
825     'File::Glob' => {
826         'MAINTAINER' => 'p5p',
827         'FILES'      => q[ext/File-Glob],
828         'UPSTREAM'   => 'blead',
829     },
830
831     'File::Path' => {
832         'MAINTAINER'   => 'dland',
833         'DISTRIBUTION' => 'DLAND/File-Path-2.08.tar.gz',
834         'FILES'        => q[cpan/File-Path],
835         'EXCLUDED'     => [
836             qw( eg/setup-extra-tests
837                 t/pod.t
838                 )
839         ],
840         'MAP' => {
841             ''   => 'cpan/File-Path/lib/File/',
842             't/' => 'cpan/File-Path/t/',
843         },
844         'UPSTREAM' => undef,
845     },
846
847     'File::stat' => {
848         'MAINTAINER' => 'p5p',
849         'FILES'      => q[lib/File/stat{.pm,*.t}],
850         'UPSTREAM'   => 'blead',
851     },
852
853     'File::Temp' => {
854         'MAINTAINER'   => 'tjenness',
855         'DISTRIBUTION' => 'TJENNESS/File-Temp-0.22.tar.gz',
856         'FILES'        => q[cpan/File-Temp],
857         'EXCLUDED'     => [
858             qw( misc/benchmark.pl
859                 misc/results.txt
860                 ),
861         ],
862         'UPSTREAM' => 'cpan',
863     },
864
865     'FileCache' => {
866         'MAINTAINER' => 'p5p',
867         'FILES'      => q[ext/FileCache],
868         'UPSTREAM'   => 'blead',
869     },
870
871     'FileHandle' => {
872         'MAINTAINER' => 'p5p',
873         'FILES'      => q[lib/FileHandle.{pm,t}],
874         'UPSTREAM'   => 'blead',
875     },
876
877     'Filter::Simple' => {
878         'MAINTAINER'   => 'smueller',
879         'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
880         'FILES'        => q[dist/Filter-Simple],
881         'EXCLUDED'     => [
882             'Makefile.PL',
883             qr{^demo/}
884         ],
885         'UPSTREAM' => 'blead',
886     },
887
888     'Filter::Util::Call' => {
889         'MAINTAINER'   => 'pmqs',
890         'DISTRIBUTION' => 'RURBAN/Filter-1.45.tar.gz',
891         'FILES'        => q[cpan/Filter-Util-Call
892                  pod/perlfilter.pod
893                 ],
894         'EXCLUDED' => [
895             qr{^decrypt/},
896             qr{^examples/},
897             qr{^Exec/},
898             qr{^lib/Filter/},
899             qr{^tee/},
900             qw( Call/Makefile.PL
901                 Call/ppport.h
902                 Call/typemap
903                 mytest
904                 t/cpp.t
905                 t/decrypt.t
906                 t/exec.t
907                 t/order.t
908                 t/pod.t
909                 t/sh.t
910                 t/tee.t
911                 ),
912         ],
913         'MAP' => {
914             'Call/'          => 'cpan/Filter-Util-Call/',
915             'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
916             'perlfilter.pod' => 'pod/perlfilter.pod',
917             ''               => 'cpan/Filter-Util-Call/',
918         },
919         'UPSTREAM' => 'cpan',
920     },
921
922     'FindBin' => {
923         'MAINTAINER' => 'p5p',
924         'FILES'      => q[lib/FindBin.{pm,t}],
925         'UPSTREAM'   => 'blead',
926     },
927
928     'GDBM_File' => {
929         'MAINTAINER' => 'p5p',
930         'FILES'      => q[ext/GDBM_File],
931         'UPSTREAM'   => 'blead',
932     },
933
934     'Fcntl' => {
935         'MAINTAINER' => 'p5p',
936         'FILES'      => q[ext/Fcntl],
937         'UPSTREAM'   => 'blead',
938     },
939
940     'Getopt::Long' => {
941         'MAINTAINER'   => 'jv',
942         'DISTRIBUTION' => 'JV/Getopt-Long-2.38.tar.gz',
943         'FILES'        => q[cpan/Getopt-Long],
944         'EXCLUDED'     => [
945             qr{^examples/},
946             qw( perl-Getopt-Long.spec
947                 lib/newgetopt.pl
948                 t/gol-compat.t
949                 ),
950         ],
951         'UPSTREAM' => 'cpan',
952     },
953
954     'Getopt::Std' => {
955         'MAINTAINER' => 'p5p',
956         'FILES'      => q[lib/Getopt/Std.{pm,t}],
957         'UPSTREAM'   => 'blead',
958     },
959
960     'Hash::Util::FieldHash' => {
961         'MAINTAINER' => 'p5p',
962         'FILES'      => q[ext/Hash-Util-FieldHash],
963         'UPSTREAM'   => 'blead',
964     },
965
966     'Hash::Util' => {
967         'MAINTAINER' => 'p5p',
968         'FILES'      => q[ext/Hash-Util],
969         'UPSTREAM'   => 'blead',
970     },
971
972     'HTTP::Tiny' => {
973         'MAINTAINER'   => 'dagolden',
974         'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.025.tar.gz',
975         'FILES'        => q[cpan/HTTP-Tiny],
976         'EXCLUDED'     => [
977             't/00-report-prereqs.t',
978             't/200_live.t',
979             't/200_live_local_ip.t',
980             't/210_live_ssl.t',
981             qr/^eg/,
982             qr/^xt/
983         ],
984         'UPSTREAM' => 'cpan',
985     },
986
987     'I18N::Collate' => {
988         'MAINTAINER'   => 'p5p',
989         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
990         'FILES'        => q[dist/I18N-Collate],
991         'EXCLUDED'     => [qr{^t/release-.*\.t}],
992         'UPSTREAM'     => 'blead',
993     },
994
995     'I18N::Langinfo' => {
996         'MAINTAINER' => 'p5p',
997         'FILES'      => q[ext/I18N-Langinfo],
998         'UPSTREAM'   => 'blead',
999     },
1000
1001     # Sean has donated it to us.
1002     # Nothing has changed since his last CPAN release.
1003     # (not strictly true: there have been some trivial typo fixes; DAPM 6/2009)
1004     'I18N::LangTags' => {
1005         'MAINTAINER'   => 'p5p',
1006         'DISTRIBUTION' => 'SBURKE/I18N-LangTags-0.35.tar.gz',
1007         'FILES'        => q[dist/I18N-LangTags],
1008         'UPSTREAM'     => 'blead',
1009     },
1010
1011     'if' => {
1012         'MAINTAINER'   => 'ilyaz',
1013         'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
1014         'FILES'        => q[dist/if],
1015         'UPSTREAM'     => 'blead',
1016     },
1017
1018     'IO' => {
1019         'MAINTAINER'   => 'p5p',
1020         'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
1021         'FILES'        => q[dist/IO/],
1022         'EXCLUDED'     => ['t/test.pl'],
1023         'UPSTREAM'     => 'blead',
1024     },
1025
1026     'IO-Compress' => {
1027         'MAINTAINER'   => 'pmqs',
1028         'DISTRIBUTION' => 'PMQS/IO-Compress-2.059.tar.gz',
1029         'FILES'        => q[cpan/IO-Compress],
1030         'EXCLUDED'     => [qr{t/Test/}],
1031         'UPSTREAM'     => 'cpan',
1032     },
1033
1034     'IO::Zlib' => {
1035         'MAINTAINER'   => 'tomhughes',
1036         'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
1037         'FILES'        => q[cpan/IO-Zlib],
1038         'UPSTREAM'     => undef,
1039     },
1040
1041     'IPC::Cmd' => {
1042         'MAINTAINER'   => 'kane',
1043         'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.78.tar.gz',
1044         'FILES'        => q[cpan/IPC-Cmd],
1045         'UPSTREAM'     => 'cpan',
1046     },
1047
1048     'IPC::Open3' => {
1049         'MAINTAINER' => 'p5p',
1050         'FILES'      => q[ext/IPC-Open3],
1051         'UPSTREAM'   => 'blead',
1052     },
1053
1054     'IPC::SysV' => {
1055         'MAINTAINER'   => 'mhx',
1056         'DISTRIBUTION' => 'MHX/IPC-SysV-2.03.tar.gz',
1057         'FILES'        => q[cpan/IPC-SysV],
1058         'EXCLUDED'     => [
1059             qw( const-c.inc
1060                 const-xs.inc
1061                 ),
1062         ],
1063         'UPSTREAM' => 'cpan',
1064     },
1065
1066     'JSON::PP' => {
1067         'MAINTAINER'   => 'makamaka',
1068         'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27200.tar.gz',
1069         'FILES'        => q[cpan/JSON-PP],
1070         'EXCLUDED'     => [
1071             't/900_pod.t',    # Pod testing
1072         ],
1073         'UPSTREAM' => 'cpan',
1074     },
1075
1076     'lib' => {
1077         'MAINTAINER'   => 'smueller',
1078         'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
1079         'FILES'        => q[dist/lib/],
1080         'EXCLUDED'     => [
1081             qw( forPAUSE/lib.pm
1082                 t/00pod.t
1083                 ),
1084         ],
1085         'UPSTREAM' => 'blead',
1086     },
1087
1088     'libnet' => {
1089         'MAINTAINER'   => 'gbarr',
1090         'DISTRIBUTION' => 'GBARR/libnet-1.22.tar.gz',
1091         'FILES'        => q[cpan/libnet],
1092         'EXCLUDED'     => [
1093             qw( Configure
1094                 install-nomake
1095                 Makefile.PL
1096                 ),
1097         ],
1098         'CUSTOMIZED' => ['Makefile.PL'],
1099         'UPSTREAM'   => undef,
1100     },
1101
1102     'Locale-Codes' => {
1103         'MAINTAINER'   => 'sbeck',
1104         'DISTRIBUTION' => 'SBECK/Locale-Codes-3.24.tar.gz',
1105         'FILES'        => q[cpan/Locale-Codes],
1106         'EXCLUDED'     => [
1107             qw( t/pod_coverage.t
1108                 t/pod.t),
1109             qr{^t/runtests},
1110             qr{^t/runtests\.bat},
1111             qr{^internal/},
1112             qr{^examples/},
1113         ],
1114         'UPSTREAM' => 'cpan',
1115     },
1116
1117     'Locale::Maketext' => {
1118         'MAINTAINER'   => 'ferreira',
1119         'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
1120         'FILES'        => q[dist/Locale-Maketext],
1121         'EXCLUDED'     => [
1122             qw(
1123                 perlcriticrc
1124                 t/00_load.t
1125                 t/pod.t
1126                 ),
1127         ],
1128         'UPSTREAM' => 'blead',
1129     },
1130
1131     'Locale::Maketext::Simple' => {
1132         'MAINTAINER'   => 'audreyt',
1133         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
1134         'FILES'        => q[cpan/Locale-Maketext-Simple],
1135         'EXCLUDED'     => [qr{^inc/}],
1136         'UPSTREAM'     => 'cpan',
1137     },
1138
1139     'Log::Message' => {
1140         'MAINTAINER'   => 'kane',
1141         'DISTRIBUTION' => 'BINGOS/Log-Message-0.04.tar.gz',
1142         'FILES'        => q[cpan/Log-Message],
1143         'UPSTREAM'     => 'cpan',
1144     },
1145
1146     'Log::Message::Simple' => {
1147         'MAINTAINER'   => 'kane',
1148         'DISTRIBUTION' => 'BINGOS/Log-Message-Simple-0.08.tar.gz',
1149         'FILES'        => q[cpan/Log-Message-Simple],
1150         'UPSTREAM'     => 'cpan',
1151     },
1152
1153     'mad' => {
1154         'MAINTAINER' => 'lwall',
1155         'FILES'      => q[mad],
1156         'UPSTREAM'   => undef,
1157     },
1158
1159     'Math::BigInt' => {
1160         'MAINTAINER'   => 'rafl',
1161         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
1162         'FILES'        => q[dist/Math-BigInt],
1163         'EXCLUDED'     => [
1164             qr{^inc/},
1165             qr{^examples/},
1166             qw( t/00sig.t
1167                 t/01load.t
1168                 t/02pod.t
1169                 t/03podcov.t
1170                 ),
1171         ],
1172         'UPSTREAM' => 'blead',
1173     },
1174
1175     'Math::BigInt::FastCalc' => {
1176         'MAINTAINER'   => 'rafl',
1177         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
1178         'FILES'        => q[dist/Math-BigInt-FastCalc],
1179         'EXCLUDED'     => [
1180             qr{^inc/},
1181             qw( t/00sig.t
1182                 t/01load.t
1183                 t/02pod.t
1184                 t/03podcov.t
1185                 ),
1186
1187             # instead we use the versions of these test
1188             # files that come with Math::BigInt:
1189             qw( t/bigfltpm.inc
1190                 t/bigfltpm.t
1191                 t/bigintpm.inc
1192                 t/bigintpm.t
1193                 t/mbimbf.inc
1194                 t/mbimbf.t
1195                 ),
1196         ],
1197         'UPSTREAM' => 'blead',
1198     },
1199
1200     'Math::BigRat' => {
1201         'MAINTAINER'   => 'rafl',
1202         'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
1203         'FILES'        => q[dist/Math-BigRat],
1204         'EXCLUDED'     => [
1205             qr{^inc/},
1206             qw( t/00sig.t
1207                 t/01load.t
1208                 t/02pod.t
1209                 t/03podcov.t
1210                 ),
1211         ],
1212         'UPSTREAM' => 'blead',
1213     },
1214
1215     'Math::Complex' => {
1216         'MAINTAINER'   => 'zefram',
1217         'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
1218         'FILES'        => q[cpan/Math-Complex],
1219         'EXCLUDED'     => [
1220             qw( t/pod.t
1221                 t/pod-coverage.t
1222                 ),
1223         ],
1224         'UPSTREAM' => 'cpan',
1225     },
1226
1227     'Memoize' => {
1228         'MAINTAINER'   => 'mjd',
1229         'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
1230         'FILES'        => q[cpan/Memoize],
1231         'EXCLUDED'     => ['article.html'],
1232         'UPSTREAM'     => 'cpan',
1233     },
1234
1235     'MIME::Base64' => {
1236         'MAINTAINER'   => 'gaas',
1237         'DISTRIBUTION' => 'GAAS/MIME-Base64-3.13.tar.gz',
1238         'FILES'        => q[cpan/MIME-Base64],
1239         'EXCLUDED'     => ['t/bad-sv.t'],
1240         'UPSTREAM'     => 'cpan',
1241     },
1242
1243     #
1244     # To update Module-Build in blead see
1245     # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
1246     #
1247
1248     'Module::Build' => {
1249         'MAINTAINER'   => 'kwilliams',
1250         'DISTRIBUTION' => 'LEONT/Module-Build-0.4003.tar.gz',
1251         'FILES'        => q[cpan/Module-Build],
1252         'EXCLUDED'     => [
1253             qw( t/par.t
1254                 t/signature.t
1255                 ),
1256             qr{^contrib/},
1257             qr{^inc},
1258         ],
1259         'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
1260         'UPSTREAM'   => 'cpan',
1261     },
1262
1263     'Module::CoreList' => {
1264         'MAINTAINER'   => 'bingos',
1265         'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.79.tar.gz',
1266         'FILES'        => q[dist/Module-CoreList],
1267         'UPSTREAM'     => 'blead',
1268     },
1269
1270     'Module::Load' => {
1271         'MAINTAINER'   => 'kane',
1272         'DISTRIBUTION' => 'BINGOS/Module-Load-0.22.tar.gz',
1273         'FILES'        => q[cpan/Module-Load],
1274         'UPSTREAM'     => 'cpan',
1275     },
1276
1277     'Module::Load::Conditional' => {
1278         'MAINTAINER'   => 'kane',
1279         'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.54.tar.gz',
1280         'FILES'        => q[cpan/Module-Load-Conditional],
1281         'UPSTREAM'     => 'cpan',
1282     },
1283
1284     'Module::Loaded' => {
1285         'MAINTAINER'   => 'kane',
1286         'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
1287         'FILES'        => q[cpan/Module-Loaded],
1288         'UPSTREAM'     => 'cpan',
1289     },
1290
1291     'Module::Metadata' => {
1292         'MAINTAINER'   => 'dagolden',
1293         'DISTRIBUTION' => 'APEIRON/Module-Metadata-1.000011.tar.gz',
1294         'FILES'        => q[cpan/Module-Metadata],
1295         'EXCLUDED'     => [
1296             qr{^maint},
1297             qr{^xt},
1298         ],
1299         'UPSTREAM' => 'cpan',
1300     },
1301
1302     'Module::Pluggable' => {
1303         'MAINTAINER'   => 'simonw',
1304         'DISTRIBUTION' => 'SIMONW/Module-Pluggable-4.5.tar.gz',
1305         'FILES'        => q[cpan/Module-Pluggable],
1306         'UPSTREAM'     => 'cpan',
1307         'CUSTOMIZED'   => ['Makefile.PL'],
1308     },
1309
1310     'mro' => {
1311         'MAINTAINER' => 'p5p',
1312         'FILES'      => q[ext/mro],
1313         'UPSTREAM'   => 'blead',
1314     },
1315
1316     'NDBM_File' => {
1317         'MAINTAINER' => 'p5p',
1318         'FILES'      => q[ext/NDBM_File],
1319         'UPSTREAM'   => 'blead',
1320     },
1321
1322     'Net::Ping' => {
1323         'MAINTAINER'   => 'smpeters',
1324         'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.36.tar.gz',
1325         'FILES'        => q[dist/Net-Ping],
1326         'UPSTREAM'     => 'blead',
1327     },
1328
1329     'NEXT' => {
1330         'MAINTAINER'   => 'rafl',
1331         'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
1332         'FILES'        => q[cpan/NEXT],
1333         'EXCLUDED'     => [qr{^demo/}],
1334         'UPSTREAM'     => 'cpan',
1335     },
1336
1337     'Object::Accessor' => {
1338         'MAINTAINER'   => 'kane',
1339         'DISTRIBUTION' => 'BINGOS/Object-Accessor-0.44.tar.gz',
1340         'FILES'        => q[cpan/Object-Accessor],
1341         'UPSTREAM'     => 'cpan',
1342     },
1343
1344     'ODBM_File' => {
1345         'MAINTAINER' => 'p5p',
1346         'FILES'      => q[ext/ODBM_File],
1347         'UPSTREAM'   => 'blead',
1348     },
1349
1350     'Opcode' => {
1351         'MAINTAINER' => 'p5p',
1352         'FILES'      => q[ext/Opcode],
1353         'UPSTREAM'   => 'blead',
1354     },
1355
1356     'overload' => {
1357         'MAINTAINER' => 'p5p',
1358         'FILES'      => q[lib/overload{.pm,.t,64.t}],
1359         'UPSTREAM'   => 'blead',
1360     },
1361
1362     'Package::Constants' => {
1363         'MAINTAINER'   => 'kane',
1364         'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
1365         'FILES'        => q[cpan/Package-Constants],
1366         'UPSTREAM'     => 'cpan',
1367     },
1368
1369     'Params::Check' => {
1370         'MAINTAINER'   => 'kane',
1371         'DISTRIBUTION' => 'BINGOS/Params-Check-0.36.tar.gz',
1372         'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
1373         'FILES'        => q[cpan/Params-Check],
1374         'UPSTREAM'     => 'cpan',
1375     },
1376
1377     'parent' => {
1378         'MAINTAINER'   => 'corion',
1379         'DISTRIBUTION' => 'CORION/parent-0.225.tar.gz',
1380         'FILES'        => q[cpan/parent],
1381         'UPSTREAM'     => undef,
1382     },
1383
1384     'Parse::CPAN::Meta' => {
1385         'MAINTAINER'   => 'dagolden',
1386         'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4404.tar.gz',
1387         'FILES'        => q[cpan/Parse-CPAN-Meta],
1388         'UPSTREAM'     => 'cpan',
1389     },
1390
1391     'PathTools' => {
1392         'MAINTAINER'   => 'kwilliams',
1393         'DISTRIBUTION' => 'SMUELLER/PathTools-3.33.tar.gz',
1394         'FILES'        => q[dist/Cwd],
1395         'EXCLUDED'     => [qr{^t/lib/Test/}],
1396         'UPSTREAM'     => "blead",
1397
1398         # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
1399         # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
1400         # that the leafname of some file corresponds with the pathname of the
1401         # directory.
1402     },
1403
1404     'perldtrace' => {
1405         'MAINTAINER' => 'sartak',
1406         'FILES'      => q[pod/perldtrace.pod],
1407         'UPSTREAM'   => 'blead',
1408     },
1409
1410     'perlebcdic' => {
1411         'MAINTAINER' => 'pvhp',
1412         'FILES'      => q[pod/perlebcdic.pod],
1413         'UPSTREAM'   => undef,
1414     },
1415
1416     'PerlIO' => {
1417         'MAINTAINER' => 'p5p',
1418         'FILES'      => q[lib/PerlIO.pm],
1419         'UPSTREAM'   => undef,
1420     },
1421
1422     'PerlIO::encoding' => {
1423         'MAINTAINER' => 'p5p',
1424         'FILES'      => q[ext/PerlIO-encoding],
1425         'UPSTREAM'   => 'blead',
1426     },
1427
1428     'PerlIO::mmap' => {
1429         'MAINTAINER' => 'p5p',
1430         'FILES'      => q[ext/PerlIO-mmap],
1431         'UPSTREAM'   => 'blead',
1432     },
1433
1434     'PerlIO::scalar' => {
1435         'MAINTAINER' => 'p5p',
1436         'FILES'      => q[ext/PerlIO-scalar],
1437         'UPSTREAM'   => 'blead',
1438     },
1439
1440     'PerlIO::via' => {
1441         'MAINTAINER' => 'p5p',
1442         'FILES'      => q[ext/PerlIO-via],
1443         'UPSTREAM'   => 'blead',
1444     },
1445
1446     'PerlIO::via::QuotedPrint' => {
1447         'MAINTAINER'   => 'elizabeth',
1448         'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
1449         'FILES'        => q[cpan/PerlIO-via-QuotedPrint],
1450         'UPSTREAM'     => undef,
1451     },
1452
1453     'Perl::OSType' => {
1454         'MAINTAINER'   => 'dagolden',
1455         'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.002.tar.gz',
1456         'FILES'        => q[cpan/Perl-OSType],
1457         'EXCLUDED'     => [qr/^xt/],
1458         'UPSTREAM'     => 'cpan',
1459     },
1460
1461     'perlpacktut' => {
1462         'MAINTAINER' => 'laun',
1463         'FILES'      => q[pod/perlpacktut.pod],
1464         'UPSTREAM'   => undef,
1465     },
1466
1467     'perlpodspec' => {
1468         'MAINTAINER' => 'sburke',
1469         'FILES'      => q[pod/perlpodspec.pod],
1470         'UPSTREAM'   => undef,
1471     },
1472
1473     'perlre' => {
1474         'MAINTAINER' => 'abigail',
1475         'FILES'      => q[pod/perlrecharclass.pod
1476                  pod/perlrebackslash.pod],
1477         'UPSTREAM' => undef,
1478     },
1479
1480     'perlreapi' => {
1481         MAINTAINER => 'avar',
1482         FILES      => q[pod/perlreapi.pod],
1483         'UPSTREAM' => undef,
1484     },
1485
1486     'perlreftut' => {
1487         'MAINTAINER' => 'mjd',
1488         'FILES'      => q[pod/perlreftut.pod],
1489         'UPSTREAM'   => 'blead',
1490     },
1491
1492     'perlthrtut' => {
1493         'MAINTAINER' => 'elizabeth',
1494         'FILES'      => q[pod/perlthrtut.pod],
1495         'UPSTREAM'   => undef,
1496     },
1497
1498     'Pod::Escapes' => {
1499         'MAINTAINER'   => 'arandal',
1500         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1501         'FILES'        => q[cpan/Pod-Escapes],
1502         'UPSTREAM'     => undef,
1503     },
1504
1505     'Pod::Functions' => {
1506         'MAINTAINER' => 'p5p',
1507         'FILES'      => q[ext/Pod-Functions],
1508         'UPSTREAM'   => 'blead',
1509     },
1510
1511     'Pod::Html' => {
1512         'MAINTAINER' => 'p5p',
1513         'FILES'      => q[ext/Pod-Html],
1514         'UPSTREAM'   => 'blead',
1515     },
1516
1517     'Pod::LaTeX' => {
1518         'MAINTAINER'   => 'tjenness',
1519         'DISTRIBUTION' => 'TJENNESS/Pod-LaTeX-0.60.tar.gz',
1520         'FILES'        => q[cpan/Pod-LaTeX],
1521         'EXCLUDED'     => ['t/require.t'],
1522         'UPSTREAM'     => undef,
1523     },
1524
1525     'Pod::Parser' => {
1526         'MAINTAINER' => 'marekr',
1527         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.51.tar.gz',
1528         'FILES'        => q[cpan/Pod-Parser],
1529         'UPSTREAM'     => 'cpan',
1530     },
1531
1532     'Pod::Perldoc' => {
1533         'MAINTAINER'   => 'mallen',
1534         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.17.tar.gz',
1535         'FILES'        => q[cpan/Pod-Perldoc],
1536
1537         # in blead, the perldoc executable is generated by perldoc.PL
1538         # instead
1539         # XXX We can and should fix this, but clean up the DRY-failure in utils
1540         # first
1541         'EXCLUDED' => ['perldoc'],
1542         'UPSTREAM' => 'cpan',
1543     },
1544
1545     'Pod::Simple' => {
1546         'MAINTAINER'   => 'arandal',
1547         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.23.tar.gz',
1548         'FILES'        => q[cpan/Pod-Simple],
1549         'UPSTREAM'     => 'cpan',
1550     },
1551
1552     'podlators' => {
1553         'MAINTAINER'   => 'rra',
1554         'DISTRIBUTION' => 'RRA/podlators-2.4.2.tar.gz',
1555         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
1556
1557         # The perl distribution has pod2man.PL and pod2text.PL,  which are
1558         # run to create pod2man and pod2text, while the CPAN distribution
1559         # just has the post-generated pod2man and pod2text files.
1560         # The following entries attempt to codify that odd fact.
1561         'CUSTOMIZED' => [
1562             qw( scripts/pod2man.PL
1563                 scripts/pod2text.PL
1564                 ),
1565         ],
1566         'MAP' => {
1567             ''                 => 'cpan/podlators/',
1568             'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
1569             'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1570
1571             # this file lives outside the cpan/ directory
1572             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1573         },
1574         'UPSTREAM' => 'cpan',
1575     },
1576
1577     'POSIX' => {
1578         'MAINTAINER' => 'p5p',
1579         'FILES'      => q[ext/POSIX],
1580         'UPSTREAM'   => 'blead',
1581     },
1582
1583     're' => {
1584         'MAINTAINER' => 'p5p',
1585         'FILES'      => q[ext/re],
1586         'UPSTREAM'   => 'blead',
1587     },
1588
1589     'Safe' => {
1590         'MAINTAINER'   => 'rgarcia',
1591         'DISTRIBUTION' => 'RGARCIA/Safe-2.33.tar.gz',
1592         'FILES'        => q[dist/Safe],
1593         'UPSTREAM'     => 'blead',
1594     },
1595
1596     'Scalar-List-Utils' => {
1597         'MAINTAINER'   => 'gbarr',
1598         'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.27.tar.gz',
1599
1600         # Note that perl uses its own version of Makefile.PL
1601         'FILES'    => q[cpan/List-Util],
1602         'EXCLUDED' => [
1603             qr{^inc/Module/},
1604             qr{^inc/Test/},
1605             'mytypemap',
1606         ],
1607         'UPSTREAM' => 'cpan',
1608     },
1609
1610     'SDBM_File' => {
1611         'MAINTAINER' => 'p5p',
1612         'FILES'      => q[ext/SDBM_File],
1613         'UPSTREAM'   => 'blead',
1614     },
1615
1616     'Search::Dict' => {
1617         'MAINTAINER'   => 'p5p',
1618         'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
1619         'FILES'        => q[dist/Search-Dict],
1620         'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
1621         'UPSTREAM'     => 'blead',
1622     },
1623
1624     'SelfLoader' => {
1625         'MAINTAINER'   => 'smueller',
1626         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1627         'FILES'        => q[dist/SelfLoader],
1628         'EXCLUDED'     => ['t/00pod.t'],
1629         'UPSTREAM'     => 'blead',
1630     },
1631
1632     'sigtrap' => {
1633         'MAINTAINER' => 'p5p',
1634         'FILES'      => q[lib/sigtrap.{pm,t}],
1635         'UPSTREAM'   => 'blead',
1636     },
1637
1638     'Socket' => {
1639         'MAINTAINER'   => 'pevans',
1640         'DISTRIBUTION' => 'PEVANS/Socket-2.006.tar.gz',
1641         'FILES'        => q[cpan/Socket],
1642         'UPSTREAM'     => 'cpan',
1643     },
1644
1645     'Storable' => {
1646         'MAINTAINER'   => 'ams',
1647         'DISTRIBUTION' => 'AMS/Storable-2.39.tar.gz',
1648         'FILES'        => q[dist/Storable],
1649         'EXCLUDED'     => [qr{^t/Test/}],
1650         'UPSTREAM'     => 'blead',
1651     },
1652
1653     'Sys::Hostname' => {
1654         'MAINTAINER' => 'p5p',
1655         'FILES'      => q[ext/Sys-Hostname],
1656         'UPSTREAM'   => 'blead',
1657     },
1658
1659     'Sys::Syslog' => {
1660         'MAINTAINER'   => 'saper',
1661         'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.32.tar.gz',
1662         'FILES'        => q[cpan/Sys-Syslog],
1663         'EXCLUDED'     => [
1664             qr{^eg/},
1665             qw( t/data-validation.t
1666                 t/distchk.t
1667                 t/pod.t
1668                 t/podcover.t
1669                 t/podspell.t
1670                 t/portfs.t
1671                 win32/PerlLog.RES
1672                 ),
1673         ],
1674         'UPSTREAM'   => 'cpan',
1675     },
1676
1677     'Term::ANSIColor' => {
1678         'MAINTAINER'   => 'rra',
1679         'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.01.tar.gz',
1680         'FILES'        => q[cpan/Term-ANSIColor],
1681         'EXCLUDED'     => [
1682             qr{^tests/},
1683             qr{^examples/},
1684             qr{^t/data/},
1685             qw( t/aliases-env.t
1686                 t/critic.t
1687                 t/minimum-version.t
1688                 t/pod-spelling.t
1689                 t/pod-coverage.t
1690                 t/pod.t
1691                 t/strict.t
1692                 t/synopsis.t
1693                 ),
1694         ],
1695         'UPSTREAM' => 'cpan',
1696     },
1697
1698     'Term::Cap' => {
1699         'MAINTAINER'   => 'jstowe',
1700         'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1701         'FILES'        => q[cpan/Term-Cap],
1702         'UPSTREAM'     => undef,
1703     },
1704
1705     'Term::Complete' => {
1706         'MAINTAINER'   => 'p5p',
1707         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1708         'FILES'        => q[dist/Term-Complete],
1709         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1710         'UPSTREAM'     => 'blead',
1711     },
1712
1713     'Term::ReadLine' => {
1714         'MAINTAINER'   => 'p5p',
1715         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.10.tar.gz',
1716         'FILES'        => q[dist/Term-ReadLine],
1717         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1718         'UPSTREAM'     => 'blead',
1719     },
1720
1721     'Term::UI' => {
1722         'MAINTAINER'   => 'kane',
1723         'DISTRIBUTION' => 'BINGOS/Term-UI-0.32.tar.gz',
1724         'FILES'        => q[cpan/Term-UI],
1725         'UPSTREAM'     => 'cpan',
1726     },
1727
1728     'Test' => {
1729         'MAINTAINER'   => 'jesse',
1730         'DISTRIBUTION' => 'JESSE/Test-1.25_02.tar.gz',
1731         'FILES'        => q[cpan/Test],
1732         'UPSTREAM'     => 'cpan',
1733     },
1734
1735     'Test::Harness' => {
1736         'MAINTAINER'   => 'andya',
1737         'DISTRIBUTION' => 'OVID/Test-Harness-3.25.tar.gz',
1738         'FILES'        => q[cpan/Test-Harness],
1739         'EXCLUDED'     => [
1740             qr{^examples/},
1741             qr{^inc/},
1742             qr{^t/lib/Test/},
1743             qr{^xt/},
1744             qw( Changes-2.64
1745                 NotBuild.PL
1746                 HACKING.pod
1747                 perlcriticrc
1748                 t/lib/if.pm
1749                 ),
1750         ],
1751         'MAP'        => {
1752             ''                    => 'cpan/Test-Harness/',
1753             't/compat/env.opts.t' => 'cpan/Test-Harness/t/compat/env_opts.t'
1754         },
1755         'UPSTREAM'   => 'cpan',
1756         'CUSTOMIZED' => [
1757             qw( lib/App/Prove.pm
1758                 lib/App/Prove/State.pm
1759                 lib/App/Prove/State/Result.pm
1760                 lib/App/Prove/State/Result/Test.pm
1761                 lib/TAP/Base.pm
1762                 lib/TAP/Formatter/Base.pm
1763                 lib/TAP/Formatter/Color.pm
1764                 lib/TAP/Formatter/Console.pm
1765                 lib/TAP/Formatter/Console/ParallelSession.pm
1766                 lib/TAP/Formatter/Console/Session.pm
1767                 lib/TAP/Formatter/File.pm
1768                 lib/TAP/Formatter/File/Session.pm
1769                 lib/TAP/Formatter/Session.pm
1770                 lib/TAP/Harness.pm
1771                 lib/TAP/Object.pm
1772                 lib/TAP/Parser.pm
1773                 lib/TAP/Parser/Aggregator.pm
1774                 lib/TAP/Parser/Grammar.pm
1775                 lib/TAP/Parser/Iterator.pm
1776                 lib/TAP/Parser/Iterator/Array.pm
1777                 lib/TAP/Parser/Iterator/Process.pm
1778                 lib/TAP/Parser/Iterator/Stream.pm
1779                 lib/TAP/Parser/IteratorFactory.pm
1780                 lib/TAP/Parser/Multiplexer.pm
1781                 lib/TAP/Parser/Result.pm
1782                 lib/TAP/Parser/Result/Bailout.pm
1783                 lib/TAP/Parser/Result/Comment.pm
1784                 lib/TAP/Parser/Result/Plan.pm
1785                 lib/TAP/Parser/Result/Pragma.pm
1786                 lib/TAP/Parser/Result/Test.pm
1787                 lib/TAP/Parser/Result/Unknown.pm
1788                 lib/TAP/Parser/Result/Version.pm
1789                 lib/TAP/Parser/Result/YAML.pm
1790                 lib/TAP/Parser/ResultFactory.pm
1791                 lib/TAP/Parser/Scheduler.pm
1792                 lib/TAP/Parser/Scheduler/Job.pm
1793                 lib/TAP/Parser/Scheduler/Spinner.pm
1794                 lib/TAP/Parser/Source.pm
1795                 lib/TAP/Parser/SourceHandler.pm
1796                 lib/TAP/Parser/SourceHandler/Executable.pm
1797                 lib/TAP/Parser/SourceHandler/File.pm
1798                 lib/TAP/Parser/SourceHandler/Handle.pm
1799                 lib/TAP/Parser/SourceHandler/Perl.pm
1800                 lib/TAP/Parser/SourceHandler/RawTAP.pm
1801                 lib/TAP/Parser/Utils.pm
1802                 lib/TAP/Parser/YAMLish/Reader.pm
1803                 lib/TAP/Parser/YAMLish/Writer.pm
1804                 lib/Test/Harness.pm
1805                 t/source.t
1806                 ),
1807         ],
1808     },
1809
1810     'Test::Simple' => {
1811         'MAINTAINER'   => 'mschwern',
1812         'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
1813         'FILES'        => q[cpan/Test-Simple],
1814         'EXCLUDED'     => [
1815             qw( .perlcriticrc
1816                 .perltidyrc
1817                 t/00compile.t
1818                 t/pod.t
1819                 t/pod-coverage.t
1820                 t/Builder/reset_outputs.t
1821                 lib/Test/Builder/IO/Scalar.pm
1822                 ),
1823         ],
1824         'UPSTREAM' => 'cpan',
1825     },
1826
1827     'Text::Abbrev' => {
1828         'MAINTAINER'   => 'p5p',
1829         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
1830         'FILES'        => q[dist/Text-Abbrev],
1831         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1832         'UPSTREAM'     => 'blead',
1833     },
1834
1835     'Text::Balanced' => {
1836         'MAINTAINER'   => 'dmanura',
1837         'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1838         'FILES'        => q[cpan/Text-Balanced],
1839         'EXCLUDED'     => [
1840             qw( t/97_meta.t
1841                 t/98_pod.t
1842                 t/99_pmv.t
1843                 ),
1844         ],
1845         'CUSTOMIZED'   => [
1846             qw( t/01_compile.t
1847                 t/02_extbrk.t
1848                 t/03_extcbk.t
1849                 t/04_extdel.t
1850                 t/05_extmul.t
1851                 t/06_extqlk.t
1852                 t/07_exttag.t
1853                 t/08_extvar.t
1854                 t/09_gentag.t
1855                 ),
1856         ],
1857         'UPSTREAM' => 'cpan',
1858     },
1859
1860     'Text::ParseWords' => {
1861         'MAINTAINER'   => 'chorny',
1862         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.27.zip',
1863         'FILES'        => q[cpan/Text-ParseWords],
1864         'EXCLUDED'     => ['t/pod.t'],
1865
1866         # For the benefit of make_ext.pl, we have to have this accessible:
1867         'MAP' => {
1868             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1869             ''              => 'cpan/Text-ParseWords/',
1870         },
1871         'UPSTREAM' => undef,
1872     },
1873
1874     'Text::Soundex' => {
1875         'MAINTAINER'   => 'markm',
1876         'DISTRIBUTION' => 'MARKM/Text-Soundex-3.03.tar.gz',
1877         'FILES'        => q[cpan/Text-Soundex],
1878         'MAP'          => {
1879             '' => 'cpan/Text-Soundex/',
1880
1881             # XXX these two files are clearly related,
1882             # but they appear to have diverged
1883             # considerably over the years
1884             'test.pl' => 'cpan/Text-Soundex/t/Soundex.t',
1885         },
1886         'UPSTREAM' => undef,
1887     },
1888
1889     'Text-Tabs+Wrap' => {
1890         'MAINTAINER'   => 'muir',
1891         'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2012.0818.tar.gz',
1892         'FILES'        => q[cpan/Text-Tabs],
1893         'EXCLUDED'   => [
1894             qr/^lib\.old/,
1895             't/dnsparks.t',    # see af6492bf9e
1896         ],
1897         'MAP'          => {
1898             ''                        => 'cpan/Text-Tabs/',
1899             'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1900             'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
1901         },
1902         'UPSTREAM'   => 'cpan',
1903     },
1904
1905     'Thread::Queue' => {
1906         'MAINTAINER'   => 'jdhedden',
1907         'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.01.tar.gz',
1908         'FILES'        => q[dist/Thread-Queue],
1909         'EXCLUDED'     => [
1910             qr{^examples/},
1911             qw( t/00_load.t
1912                 t/99_pod.t
1913                 t/test.pl
1914                 ),
1915         ],
1916         'UPSTREAM' => 'blead',
1917     },
1918
1919     'Thread::Semaphore' => {
1920         'MAINTAINER'   => 'jdhedden',
1921         'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1922         'FILES'        => q[dist/Thread-Semaphore],
1923         'EXCLUDED'     => [
1924             qw( examples/semaphore.pl
1925                 t/00_load.t
1926                 t/99_pod.t
1927                 t/test.pl
1928                 ),
1929         ],
1930         'UPSTREAM' => 'blead',
1931     },
1932
1933     'threads' => {
1934         'MAINTAINER'   => 'jdhedden',
1935         'DISTRIBUTION' => 'JDHEDDEN/threads-1.86.tar.gz',
1936         'FILES'        => q[dist/threads],
1937         'EXCLUDED'     => [
1938             qr{^examples/},
1939             qw( t/pod.t
1940                 t/test.pl
1941                 threads.h
1942                 ),
1943         ],
1944         'UPSTREAM' => 'blead',
1945     },
1946
1947     'threads::shared' => {
1948         'MAINTAINER'   => 'jdhedden',
1949         'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.42.tar.gz',
1950         'FILES'        => q[dist/threads-shared],
1951         'EXCLUDED'     => [
1952             qw( examples/class.pl
1953                 shared.h
1954                 t/pod.t
1955                 t/test.pl
1956                 ),
1957         ],
1958         'UPSTREAM' => 'blead',
1959     },
1960
1961     'Tie::File' => {
1962         'MAINTAINER'   => 'mjd',
1963         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1964         'FILES'        => q[dist/Tie-File],
1965         'UPSTREAM'     => 'blead',
1966     },
1967
1968     'Tie::Hash' => {
1969         'MAINTAINER' => 'p5p',
1970         'FILES'      => q[lib/Tie/Hash.{pm,t}],
1971         'UPSTREAM'   => 'blead',
1972     },
1973
1974     'Tie::Hash::NamedCapture' => {
1975         'MAINTAINER' => 'p5p',
1976         'FILES'      => q[ext/Tie-Hash-NamedCapture],
1977         'UPSTREAM'   => 'blead',
1978     },
1979
1980     'Tie::Memoize' => {
1981         'MAINTAINER' => 'p5p',
1982         'FILES'      => q[ext/Tie-Memoize],
1983         'UPSTREAM'   => 'blead',
1984     },
1985
1986     'Tie::RefHash' => {
1987         'MAINTAINER'   => 'nuffin',
1988         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1989         'FILES'        => q[cpan/Tie-RefHash],
1990         'UPSTREAM'     => 'cpan',
1991     },
1992
1993     'Time::HiRes' => {
1994         'MAINTAINER'   => 'zefram',
1995         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
1996         'FILES'        => q[cpan/Time-HiRes],
1997         'UPSTREAM'     => 'cpan',
1998     },
1999
2000     'Time::Local' => {
2001         'MAINTAINER'   => 'drolsky',
2002         'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
2003         'FILES'        => q[cpan/Time-Local],
2004         'EXCLUDED'     => [
2005             qw( t/pod-coverage.t
2006                 t/pod.t
2007                 ),
2008             qr{^t/release-.*\.t},
2009         ],
2010         'UPSTREAM' => 'cpan',
2011     },
2012
2013     'Time::Piece' => {
2014         'MAINTAINER'   => 'msergeant',
2015         'DISTRIBUTION' => 'MSERGEANT/Time-Piece-1.20.tar.gz',
2016         'FILES'        => q[cpan/Time-Piece],
2017         'UPSTREAM'     => undef,
2018     },
2019
2020     'Unicode::Collate' => {
2021         'MAINTAINER'   => 'sadahiro',
2022         'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.97.tar.gz',
2023         'FILES'        => q[cpan/Unicode-Collate],
2024         'EXCLUDED'     => [
2025             qr{N$},
2026             qr{^data/},
2027             qr{^gendata/},
2028             qw( disableXS
2029                 enableXS
2030                 mklocale
2031                 ),
2032         ],
2033         'UPSTREAM' => 'first-come',
2034     },
2035
2036     'Unicode::Normalize' => {
2037         'MAINTAINER'   => 'sadahiro',
2038         'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.16.tar.gz',
2039         'FILES'        => q[cpan/Unicode-Normalize],
2040         'EXCLUDED'     => [
2041             qw( MANIFEST.N
2042                 Normalize.pmN
2043                 disableXS
2044                 enableXS
2045                 ),
2046         ],
2047         'UPSTREAM' => 'first-come',
2048     },
2049
2050     'Unicode::UCD' => {
2051         'MAINTAINER' => 'blead',
2052         'FILES'      => q[lib/Unicode/UCD.{pm,t}],
2053         'UPSTREAM'   => 'blead',
2054     },
2055
2056     'version' => {
2057         'MAINTAINER'   => 'jpeacock',
2058         'DISTRIBUTION' => 'JPEACOCK/version-0.9901.tar.gz',
2059         'FILES'        => q[lib/version.pm lib/version.pod lib/version],
2060         'EXCLUDED' => [
2061             qr{^t/.*\.t$},
2062             qr{^vutil/},
2063             'lib/version/typemap',
2064             't/survey_locales',
2065             'vperl/vpp.pm',
2066         ],
2067         'MAP' => {
2068             'lib/'           => 'lib/',
2069             't/'             => 'lib/version/t/'
2070         },
2071         'UPSTREAM' => undef,
2072     },
2073
2074     'vms' => {
2075         'MAINTAINER' => 'craig',
2076         'FILES'      => q[vms configure.com README.vms],
2077         'UPSTREAM'   => undef,
2078     },
2079
2080     'VMS::DCLsym' => {
2081         'MAINTAINER' => 'craig',
2082         'FILES'      => q[ext/VMS-DCLsym],
2083         'UPSTREAM'   => undef,
2084     },
2085
2086     'VMS::Stdio' => {
2087         'MAINTAINER' => 'craig',
2088         'FILES'      => q[ext/VMS-Stdio],
2089         'UPSTREAM'   => undef,
2090     },
2091
2092     'warnings' => {
2093         'MAINTAINER' => 'pmqs',
2094         'FILES'      => q[regen/warnings.pl
2095                  lib/warnings.{pm,t}
2096                  lib/warnings
2097                  t/lib/warnings
2098                 ],
2099         'UPSTREAM' => 'blead',
2100     },
2101
2102     'win32' => {
2103         'MAINTAINER' => 'jand',
2104         'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
2105         'UPSTREAM'   => undef,
2106     },
2107
2108     'Win32' => {
2109         'MAINTAINER'   => 'jand',
2110         'DISTRIBUTION' => "JDB/Win32-0.45.tar.gz",
2111         'FILES'        => q[cpan/Win32],
2112         'UPSTREAM'     => 'cpan',
2113     },
2114
2115     'Win32API::File' => {
2116         'MAINTAINER'   => 'chorny',
2117         'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1200.tar.gz',
2118         'FILES'        => q[cpan/Win32API-File],
2119         'EXCLUDED'     => [
2120             qr{^ex/},
2121             't/pod.t',
2122         ],
2123         'UPSTREAM' => 'cpan',
2124     },
2125
2126     'XS::Typemap' => {
2127         'MAINTAINER' => 'p5p',
2128         'FILES'      => q[ext/XS-Typemap],
2129         'UPSTREAM'   => 'blead',
2130     },
2131
2132     'XSLoader' => {
2133         'MAINTAINER'   => 'saper',
2134         'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
2135         'FILES'        => q[dist/XSLoader],
2136         'EXCLUDED'     => [
2137             qr{^eg/},
2138             qw( t/pod.t
2139                 t/podcover.t
2140                 t/portfs.t
2141                 ),
2142             'XSLoader.pm',    # we use XSLoader_pm.PL
2143         ],
2144         # Revert UPSTREAM to 'blead' after 0.17 is released
2145         'UPSTREAM' => undef,
2146     },
2147
2148     's2p' => {
2149         'MAINTAINER' => 'laun',
2150         'FILES'      => q[x2p/s2p.PL],
2151         'UPSTREAM'   => undef,
2152     },
2153
2154     # this pseudo-module represents all the files under ext/ and lib/
2155     # that aren't otherwise claimed. This means that the following two
2156     # commands will check that every file under ext/ and lib/ is
2157     # accounted for, and that there are no duplicates:
2158     #
2159     #    perl Porting/Maintainers --checkmani lib ext
2160     #    perl Porting/Maintainers --checkmani
2161
2162     '_PERLLIB' => {
2163         'MAINTAINER' => 'p5p',
2164         'FILES'      => q[
2165                 ext/arybase/
2166                 ext/XS-APItest/
2167                 lib/CORE.pod
2168                 lib/Config.t
2169                 lib/Config/Extensions.{pm,t}
2170                 lib/DB.{pm,t}
2171                 lib/ExtUtils/Embed.pm
2172                 lib/ExtUtils/XSSymSet.pm
2173                 lib/ExtUtils/t/Embed.t
2174                 lib/ExtUtils/typemap
2175                 lib/Internals.t
2176                 lib/Net/hostent.{pm,t}
2177                 lib/Net/netent.{pm,t}
2178                 lib/Net/protoent.{pm,t}
2179                 lib/Net/servent.{pm,t}
2180                 lib/Pod/t/InputObjects.t
2181                 lib/Pod/t/Select.t
2182                 lib/Pod/t/Usage.t
2183                 lib/Pod/t/utils.t
2184                 lib/SelectSaver.{pm,t}
2185                 lib/Symbol.{pm,t}
2186                 lib/Thread.{pm,t}
2187                 lib/Tie/Array.pm
2188                 lib/Tie/Array/
2189                 lib/Tie/ExtraHash.t
2190                 lib/Tie/Handle.pm
2191                 lib/Tie/Handle/
2192                 lib/Tie/Scalar.{pm,t}
2193                 lib/Tie/StdHandle.pm
2194                 lib/Tie/SubstrHash.{pm,t}
2195                 lib/Time/gmtime.{pm,t}
2196                 lib/Time/localtime.{pm,t}
2197                 lib/Time/tm.pm
2198                 lib/UNIVERSAL.pm
2199                 lib/Unicode/README
2200                 lib/User/grent.{pm,t}
2201                 lib/User/pwent.{pm,t}
2202                 lib/blib.{pm,t}
2203                 lib/bytes.{pm,t}
2204                 lib/bytes_heavy.pl
2205                 lib/_charnames.pm
2206                 lib/charnames.{pm,t}
2207                 lib/dbm_filter_util.pl
2208                 lib/deprecate.pm
2209                 lib/dumpvar.{pl,t}
2210                 lib/feature.{pm,t}
2211                 lib/feature/
2212                 lib/filetest.{pm,t}
2213                 lib/h2ph.t
2214                 lib/h2xs.t
2215                 lib/integer.{pm,t}
2216                 lib/less.{pm,t}
2217                 lib/locale.{pm,t}
2218                 lib/open.{pm,t}
2219                 lib/overload/numbers.pm
2220                 lib/overloading.{pm,t}
2221                 lib/perl5db.{pl,t}
2222                 lib/perl5db/
2223                 lib/sort.{pm,t}
2224                 lib/strict.{pm,t}
2225                 lib/subs.{pm,t}
2226                 lib/unicore/
2227                 lib/utf8.{pm,t}
2228                 lib/utf8_heavy.pl
2229                 lib/vars{.pm,.t,_carp.t}
2230                 lib/vmsish.{pm,t}
2231                 ],
2232         'UPSTREAM' => 'blead',
2233     },
2234 );
2235
2236 # legacy CPAN flag
2237 for ( values %Modules ) {
2238     $_->{CPAN} = !!$_->{DISTRIBUTION};
2239 }
2240
2241 1;