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