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