This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add note about regenerating META files when updating CPAN-Meta
[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     # Note: When updating CPAN-Meta the META.* files will need to be regenerated
450     # perl -Icpan/CPAN-Meta/lib Porting/makemeta
451     'CPAN::Meta' => {
452         'MAINTAINER'   => 'dagolden',
453         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132140.tar.gz',
454         'FILES'        => q[cpan/CPAN-Meta],
455         'EXCLUDED'     => [
456             qw(t/00-compile.t),
457             qw[t/00-report-prereqs.t],
458             qr{^xt},
459             qr{^history},
460         ],
461         'UPSTREAM' => 'cpan',
462     },
463
464     'CPAN::Meta::Requirements' => {
465         'MAINTAINER'   => 'dagolden',
466         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz',
467         'FILES'        => q[cpan/CPAN-Meta-Requirements],
468         'EXCLUDED'     => [
469             qw(t/00-compile.t),
470             qr{^xt},
471             qr{^history},
472         ],
473         'UPSTREAM' => 'cpan',
474     },
475
476     'CPAN::Meta::YAML' => {
477         'MAINTAINER'   => 'dagolden',
478         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz',
479         'FILES'        => q[cpan/CPAN-Meta-YAML],
480         'EXCLUDED'     => [
481             't/00-compile.t',
482             't/04_scalar.t',    # requires YAML.pm
483             qr{^xt},
484         ],
485         'UPSTREAM' => 'cpan',
486     },
487
488     'Data::Dumper' => {
489         'MAINTAINER' => 'p5p',    # Not gsar. Not ilyam. Not really smueller
490         'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
491         'FILES'        => q[dist/Data-Dumper],
492         'UPSTREAM'     => 'blead',
493     },
494
495     'DB_File' => {
496         'MAINTAINER'   => 'pmqs',
497         'DISTRIBUTION' => 'PMQS/DB_File-1.829.tar.gz',
498         'FILES'        => q[cpan/DB_File],
499         'EXCLUDED'     => [
500             qr{^patches/},
501             qw( t/pod.t
502                 fallback.h
503                 fallback.xs
504                 ),
505         ],
506         'UPSTREAM' => 'cpan',
507     },
508
509     'DBM_Filter' => {
510         'MAINTAINER' => 'p5p',
511         'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
512         'UPSTREAM'   => 'blead',
513     },
514
515     'Devel::SelfStubber' => {
516         'MAINTAINER'   => 'p5p',
517         'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
518         'FILES'        => q[dist/Devel-SelfStubber],
519         'EXCLUDED'     => [qr{^t/release-.*\.t}],
520         'UPSTREAM'     => 'blead',
521     },
522
523     'Devel::Peek' => {
524         'MAINTAINER' => 'p5p',
525         'FILES'      => q[ext/Devel-Peek],
526         'UPSTREAM'   => 'blead',
527     },
528
529     'Devel::PPPort' => {
530         'MAINTAINER'   => 'mhx',
531         'DISTRIBUTION' => 'MHX/Devel-PPPort-3.20.tar.gz',
532         'FILES'        => q[cpan/Devel-PPPort],
533         'EXCLUDED' => ['PPPort.pm'],    # we use PPPort_pm.PL instead
534         'UPSTREAM' => undef, # rjbs has asked mhx to have blead be upstream
535     },
536
537     'diagnostics' => {
538         'MAINTAINER' => 'p5p',
539         'FILES'      => q[lib/diagnostics.{pm,t}],
540         'UPSTREAM'   => 'blead',
541     },
542
543     'Digest' => {
544         'MAINTAINER'   => 'gaas',
545         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
546         'FILES'        => q[cpan/Digest],
547         'EXCLUDED'     => ['digest-bench'],
548         'UPSTREAM'     => "cpan",
549     },
550
551     'Digest::MD5' => {
552         'MAINTAINER'   => 'gaas',
553         'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
554         'FILES'        => q[cpan/Digest-MD5],
555         'EXCLUDED'     => ['rfc1321.txt'],
556         'UPSTREAM'     => "cpan",
557     },
558
559     'Digest::SHA' => {
560         'MAINTAINER'   => 'mshelor',
561         'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.85.tar.gz',
562         'FILES'        => q[cpan/Digest-SHA],
563         'EXCLUDED'     => [
564             qw( t/pod.t
565                 t/podcover.t
566                 examples/dups
567                 ),
568         ],
569         'UPSTREAM' => 'cpan',
570     },
571
572     'DirHandle' => {
573         'MAINTAINER' => 'p5p',
574         'FILES'      => q[lib/DirHandle.{pm,t}],
575         'UPSTREAM'   => 'blead',
576     },
577
578     'Dumpvalue' => {
579         'MAINTAINER'   => 'p5p',
580         'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
581         'FILES'        => q[dist/Dumpvalue],
582         'EXCLUDED'     => [qr{^t/release-.*\.t}],
583         'UPSTREAM'     => 'blead',
584     },
585
586     'DynaLoader' => {
587         'MAINTAINER' => 'p5p',
588         'FILES'      => q[ext/DynaLoader],
589         'UPSTREAM'   => 'blead',
590     },
591
592     'Encode' => {
593         'MAINTAINER'   => 'dankogai',
594         'DISTRIBUTION' => 'DANKOGAI/Encode-2.51.tar.gz',
595         'FILES'        => q[cpan/Encode],
596         'UPSTREAM'     => 'cpan',
597     },
598
599     'encoding::warnings' => {
600         'MAINTAINER'   => 'audreyt',
601         'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
602         'FILES'        => q[cpan/encoding-warnings],
603         'EXCLUDED'     => [
604             qr{^inc/Module/},
605             qw( t/0-signature.t
606                 Makefile.PL
607                 MANIFEST
608                 META.yml
609                 README
610                 SIGNATURE
611                 ),
612         ],
613         'UPSTREAM' => undef,
614     },
615
616     'English' => {
617         'MAINTAINER' => 'p5p',
618         'FILES'      => q[lib/English.{pm,t}],
619         'UPSTREAM'   => 'blead',
620     },
621
622     'Env' => {
623         'MAINTAINER'   => 'p5p',
624         'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
625         'FILES'        => q[dist/Env],
626         'EXCLUDED'     => [qr{^t/release-.*\.t}],
627         'UPSTREAM'     => 'blead',
628     },
629
630     'Errno' => {
631         'MAINTAINER' => 'p5p',
632         'FILES'      => q[ext/Errno],
633         'UPSTREAM'   => 'blead',
634     },
635
636     'Exporter' => {
637         'MAINTAINER'   => 'ferreira',
638         'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
639         'FILES'        => q[dist/Exporter],
640         'EXCLUDED' => [
641             qw( t/pod.t
642                 t/use.t
643                 ),
644         ],
645         'UPSTREAM' => 'blead',
646     },
647
648     'ExtUtils::CBuilder' => {
649         'MAINTAINER'   => 'ambs',
650         'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz',
651         'FILES'        => q[dist/ExtUtils-CBuilder],
652         'UPSTREAM'     => 'blead',
653     },
654
655     'ExtUtils::Command' => {
656         'MAINTAINER'   => 'p5p',
657         'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.17.tar.gz',
658         'FILES'        => q[dist/ExtUtils-Command],
659         'EXCLUDED'     => [qr{^t/release-}],
660         'UPSTREAM'     => 'blead',
661     },
662
663     'ExtUtils::Constant' => {
664         'MAINTAINER' => 'nwclark',
665
666         # Nick has confirmed that while we have diverged from CPAN,
667         # this package isn't primarily maintained in core
668         # Another release will happen "Sometime"
669         'DISTRIBUTION' => '',    #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
670         'FILES'    => q[cpan/ExtUtils-Constant],
671         'EXCLUDED' => [
672             qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
673                 examples/perl_keyword.pl
674                 examples/perl_regcomp_posix_keyword.pl
675                 ),
676         ],
677         'UPSTREAM' => undef,
678     },
679
680     'ExtUtils::Install' => {
681         'MAINTAINER'   => 'yves',
682         'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
683         'FILES'        => q[dist/ExtUtils-Install],
684         'EXCLUDED'     => [
685             qw( t/lib/Test/Builder.pm
686                 t/lib/Test/Builder/Module.pm
687                 t/lib/Test/More.pm
688                 t/lib/Test/Simple.pm
689                 t/pod-coverage.t
690                 t/pod.t
691                 ),
692         ],
693         'UPSTREAM' => 'blead',
694     },
695
696     'ExtUtils::MakeMaker' => {
697         'MAINTAINER'   => 'mschwern',
698         'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.72.tar.gz',
699         'FILES'        => q[cpan/ExtUtils-MakeMaker],
700         'EXCLUDED'     => [
701             qr{^t/lib/Test/},
702             qr{^(bundled|my)/},
703             qr{^t/Liblist_Kid.t},
704             qr{^t/liblist/},
705             qr{^\.perlcriticrc},
706         ],
707         'UPSTREAM' => 'first-come',
708     },
709
710     'ExtUtils::Manifest' => {
711         'MAINTAINER'   => 'p5p',
712         'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.61.tar.gz',
713         'FILES'        => q[dist/ExtUtils-Manifest],
714         'EXCLUDED'     => [qr(t/release-.*\.t)],
715         'UPSTREAM'     => 'blead',
716     },
717
718     'ExtUtils::ParseXS' => {
719         'MAINTAINER'   => 'smueller',
720         'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.18.tar.gz',
721         'FILES'        => q[dist/ExtUtils-ParseXS],
722         'UPSTREAM'     => 'blead',
723     },
724
725     'perlfaq' => {
726         'MAINTAINER'   => 'perlfaq',
727         'DISTRIBUTION' => 'LLAP/perlfaq-5.0150043.tar.gz',
728         'FILES'        => q[cpan/perlfaq],
729         'EXCLUDED'     => [
730             qw( t/release-pod-syntax.t
731                 t/release-eol.t
732                 t/release-no-tabs.t
733                 )
734         ],
735         'UPSTREAM' => 'cpan',
736     },
737
738     'File::Basename' => {
739         'MAINTAINER' => 'p5p',
740         'FILES'      => q[lib/File/Basename.{pm,t}],
741         'UPSTREAM'   => 'blead',
742     },
743
744     'File::Compare' => {
745         'MAINTAINER' => 'p5p',
746         'FILES'      => q[lib/File/Compare.{pm,t}],
747         'UPSTREAM'   => 'blead',
748     },
749
750     'File::Copy' => {
751         'MAINTAINER' => 'p5p',
752         'FILES'      => q[lib/File/Copy.{pm,t}],
753         'UPSTREAM'   => 'blead',
754     },
755
756     'File::DosGlob' => {
757         'MAINTAINER' => 'p5p',
758         'FILES'      => q[ext/File-DosGlob],
759         'UPSTREAM'   => 'blead',
760     },
761
762     'File::Fetch' => {
763         'MAINTAINER'   => 'kane',
764         'DISTRIBUTION' => 'BINGOS/File-Fetch-0.42.tar.gz',
765         'FILES'        => q[cpan/File-Fetch],
766         'UPSTREAM'     => 'cpan',
767     },
768
769     'File::Find' => {
770         'MAINTAINER' => 'p5p',
771         'FILES'      => q[ext/File-Find],
772         'UPSTREAM'   => 'blead',
773     },
774
775     'File::Glob' => {
776         'MAINTAINER' => 'p5p',
777         'FILES'      => q[ext/File-Glob],
778         'UPSTREAM'   => 'blead',
779     },
780
781     'File::Path' => {
782         'MAINTAINER'   => 'dland',
783         'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
784         'FILES'        => q[cpan/File-Path],
785         'EXCLUDED'     => [
786             qw( eg/setup-extra-tests
787                 t/pod.t
788                 )
789         ],
790         'MAP' => {
791             ''   => 'cpan/File-Path/lib/File/',
792             't/' => 'cpan/File-Path/t/',
793         },
794         'UPSTREAM' => undef,
795     },
796
797     'File::stat' => {
798         'MAINTAINER' => 'p5p',
799         'FILES'      => q[lib/File/stat{.pm,*.t}],
800         'UPSTREAM'   => 'blead',
801     },
802
803     'File::Temp' => {
804         'MAINTAINER'   => 'tjenness',
805         'DISTRIBUTION' => 'DAGOLDEN/File-Temp-0.2301.tar.gz',
806         'FILES'        => q[cpan/File-Temp],
807         'EXCLUDED'     => [
808             qw( misc/benchmark.pl
809                 misc/results.txt
810                 ),
811             qw(t/00-compile.t),
812             qw[t/00-report-prereqs.t],
813             qr{^xt},
814         ],
815         'UPSTREAM' => 'cpan',
816     },
817
818     'FileCache' => {
819         'MAINTAINER' => 'p5p',
820         'FILES'      => q[ext/FileCache],
821         'UPSTREAM'   => 'blead',
822     },
823
824     'FileHandle' => {
825         'MAINTAINER' => 'p5p',
826         'FILES'      => q[lib/FileHandle.{pm,t}],
827         'UPSTREAM'   => 'blead',
828     },
829
830     'Filter::Simple' => {
831         'MAINTAINER'   => 'smueller',
832         'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
833         'FILES'        => q[dist/Filter-Simple],
834         'EXCLUDED'     => [
835             'Makefile.PL',
836             qr{^demo/}
837         ],
838         'UPSTREAM' => 'blead',
839     },
840
841     'Filter::Util::Call' => {
842         'MAINTAINER'   => 'pmqs',
843         'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
844         'FILES'        => q[cpan/Filter-Util-Call
845                  pod/perlfilter.pod
846                 ],
847         'EXCLUDED' => [
848             qr{^decrypt/},
849             qr{^examples/},
850             qr{^Exec/},
851             qr{^lib/Filter/},
852             qr{^tee/},
853             qw( Call/Makefile.PL
854                 Call/ppport.h
855                 Call/typemap
856                 mytest
857                 t/cpp.t
858                 t/decrypt.t
859                 t/exec.t
860                 t/order.t
861                 t/pod.t
862                 t/sh.t
863                 t/tee.t
864                 t/z_kwalitee.t
865                 t/z_meta.t
866                 t/z_perl_minimum_version.t
867                 t/z_pod-coverage.t
868                 t/z_pod.t
869                 ),
870         ],
871         'MAP' => {
872             'Call/'          => 'cpan/Filter-Util-Call/',
873             'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
874             'perlfilter.pod' => 'pod/perlfilter.pod',
875             ''               => 'cpan/Filter-Util-Call/',
876         },
877         'UPSTREAM' => 'cpan',
878     },
879
880     'FindBin' => {
881         'MAINTAINER' => 'p5p',
882         'FILES'      => q[lib/FindBin.{pm,t}],
883         'UPSTREAM'   => 'blead',
884     },
885
886     'GDBM_File' => {
887         'MAINTAINER' => 'p5p',
888         'FILES'      => q[ext/GDBM_File],
889         'UPSTREAM'   => 'blead',
890     },
891
892     'Fcntl' => {
893         'MAINTAINER' => 'p5p',
894         'FILES'      => q[ext/Fcntl],
895         'UPSTREAM'   => 'blead',
896     },
897
898     'Getopt::Long' => {
899         'MAINTAINER'   => 'jv',
900         'DISTRIBUTION' => 'JV/Getopt-Long-2.41.tar.gz',
901         'FILES'        => q[cpan/Getopt-Long],
902         'EXCLUDED'     => [
903             qr{^examples/},
904             qw( perl-Getopt-Long.spec
905                 lib/newgetopt.pl
906                 t/gol-compat.t
907                 ),
908         ],
909         'UPSTREAM' => 'cpan',
910     },
911
912     'Getopt::Std' => {
913         'MAINTAINER' => 'p5p',
914         'FILES'      => q[lib/Getopt/Std.{pm,t}],
915         'UPSTREAM'   => 'blead',
916     },
917
918     'Hash::Util::FieldHash' => {
919         'MAINTAINER' => 'p5p',
920         'FILES'      => q[ext/Hash-Util-FieldHash],
921         'UPSTREAM'   => 'blead',
922     },
923
924     'Hash::Util' => {
925         'MAINTAINER' => 'p5p',
926         'FILES'      => q[ext/Hash-Util],
927         'UPSTREAM'   => 'blead',
928     },
929
930     'HTTP::Tiny' => {
931         'MAINTAINER'   => 'dagolden',
932         'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.034.tar.gz',
933         'FILES'        => q[cpan/HTTP-Tiny],
934         'EXCLUDED'     => [
935             't/00-report-prereqs.t',
936             't/200_live.t',
937             't/200_live_local_ip.t',
938             't/210_live_ssl.t',
939             qr/^eg/,
940             qr/^xt/
941         ],
942         'UPSTREAM' => 'cpan',
943     },
944
945     'I18N::Collate' => {
946         'MAINTAINER'   => 'p5p',
947         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
948         'FILES'        => q[dist/I18N-Collate],
949         'EXCLUDED'     => [qr{^t/release-.*\.t}],
950         'UPSTREAM'     => 'blead',
951     },
952
953     'I18N::Langinfo' => {
954         'MAINTAINER' => 'p5p',
955         'FILES'      => q[ext/I18N-Langinfo],
956         'UPSTREAM'   => 'blead',
957     },
958
959     # Sean has donated it to us.
960     # Nothing has changed since his last CPAN release.
961     # (not strictly true: there have been some trivial typo fixes; DAPM 6/2009)
962     'I18N::LangTags' => {
963         'MAINTAINER'   => 'p5p',
964         'DISTRIBUTION' => 'SBURKE/I18N-LangTags-0.35.tar.gz',
965         'FILES'        => q[dist/I18N-LangTags],
966         'UPSTREAM'     => 'blead',
967     },
968
969     'if' => {
970         'MAINTAINER'   => 'ilyaz',
971         'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
972         'FILES'        => q[dist/if],
973         'UPSTREAM'     => 'blead',
974     },
975
976     'IO' => {
977         'MAINTAINER'   => 'p5p',
978         'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
979         'FILES'        => q[dist/IO/],
980         'EXCLUDED'     => ['t/test.pl'],
981         'UPSTREAM'     => 'blead',
982     },
983
984     'IO-Compress' => {
985         'MAINTAINER'   => 'pmqs',
986         'DISTRIBUTION' => 'PMQS/IO-Compress-2.061.tar.gz',
987         'FILES'        => q[cpan/IO-Compress],
988         'EXCLUDED'     => [qr{t/Test/}],
989         'UPSTREAM'     => 'cpan',
990     },
991
992     'IO::Zlib' => {
993         'MAINTAINER'   => 'tomhughes',
994         'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
995         'FILES'        => q[cpan/IO-Zlib],
996         'UPSTREAM'     => undef,
997     },
998
999     'IPC::Cmd' => {
1000         'MAINTAINER'   => 'kane',
1001         'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.82.tar.gz',
1002         'FILES'        => q[cpan/IPC-Cmd],
1003         'UPSTREAM'     => 'cpan',
1004     },
1005
1006     'IPC::Open3' => {
1007         'MAINTAINER' => 'p5p',
1008         'FILES'      => q[ext/IPC-Open3],
1009         'UPSTREAM'   => 'blead',
1010     },
1011
1012     'IPC::SysV' => {
1013         'MAINTAINER'   => 'mhx',
1014         'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
1015         'FILES'        => q[cpan/IPC-SysV],
1016         'EXCLUDED'     => [
1017             qw( const-c.inc
1018                 const-xs.inc
1019                 ),
1020         ],
1021         'UPSTREAM' => 'cpan',
1022     },
1023
1024     'JSON::PP' => {
1025         'MAINTAINER'   => 'makamaka',
1026         'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27202.tar.gz',
1027         'FILES'        => q[cpan/JSON-PP],
1028         'EXCLUDED'     => [
1029             't/900_pod.t',    # Pod testing
1030         ],
1031         'UPSTREAM' => 'cpan',
1032     },
1033
1034     'lib' => {
1035         'MAINTAINER'   => 'smueller',
1036         'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
1037         'FILES'        => q[dist/lib/],
1038         'EXCLUDED'     => [
1039             qw( forPAUSE/lib.pm
1040                 t/00pod.t
1041                 ),
1042         ],
1043         'UPSTREAM' => 'blead',
1044     },
1045
1046     'libnet' => {
1047         'MAINTAINER'   => 'gbarr',
1048         'DISTRIBUTION' => 'GBARR/libnet-1.22.tar.gz',
1049         'FILES'        => q[cpan/libnet],
1050         'EXCLUDED'     => [
1051             qw( Configure
1052                 install-nomake
1053                 Makefile.PL
1054                 ),
1055         ],
1056         'CUSTOMIZED' => ['Makefile.PL'],
1057         'UPSTREAM'   => undef,
1058     },
1059
1060     'Locale-Codes' => {
1061         'MAINTAINER'   => 'sbeck',
1062         'DISTRIBUTION' => 'SBECK/Locale-Codes-3.26.tar.gz',
1063         'FILES'        => q[cpan/Locale-Codes],
1064         'EXCLUDED'     => [
1065             qw( t/pod_coverage.t
1066                 t/pod.t),
1067             qr{^t/runtests},
1068             qr{^t/runtests\.bat},
1069             qr{^internal/},
1070             qr{^examples/},
1071         ],
1072         'UPSTREAM' => 'cpan',
1073     },
1074
1075     'Locale::Maketext' => {
1076         'MAINTAINER'   => 'ferreira',
1077         'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
1078         'FILES'        => q[dist/Locale-Maketext],
1079         'EXCLUDED'     => [
1080             qw(
1081                 perlcriticrc
1082                 t/00_load.t
1083                 t/pod.t
1084                 ),
1085         ],
1086         'UPSTREAM' => 'blead',
1087     },
1088
1089     'Locale::Maketext::Simple' => {
1090         'MAINTAINER'   => 'audreyt',
1091         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
1092         'FILES'        => q[cpan/Locale-Maketext-Simple],
1093         'EXCLUDED'     => [qr{^inc/}],
1094         'UPSTREAM'     => 'cpan',
1095     },
1096
1097     'mad' => {
1098         'MAINTAINER' => 'lwall',
1099         'FILES'      => q[mad],
1100         'UPSTREAM'   => undef,
1101     },
1102
1103     'Math::BigInt' => {
1104         'MAINTAINER'   => 'rafl',
1105         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
1106         'FILES'        => q[dist/Math-BigInt],
1107         'EXCLUDED'     => [
1108             qr{^inc/},
1109             qr{^examples/},
1110             qw( t/00sig.t
1111                 t/01load.t
1112                 t/02pod.t
1113                 t/03podcov.t
1114                 ),
1115         ],
1116         'UPSTREAM' => 'blead',
1117     },
1118
1119     'Math::BigInt::FastCalc' => {
1120         'MAINTAINER'   => 'rafl',
1121         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
1122         'FILES'        => q[dist/Math-BigInt-FastCalc],
1123         'EXCLUDED'     => [
1124             qr{^inc/},
1125             qw( t/00sig.t
1126                 t/01load.t
1127                 t/02pod.t
1128                 t/03podcov.t
1129                 ),
1130
1131             # instead we use the versions of these test
1132             # files that come with Math::BigInt:
1133             qw( t/bigfltpm.inc
1134                 t/bigfltpm.t
1135                 t/bigintpm.inc
1136                 t/bigintpm.t
1137                 t/mbimbf.inc
1138                 t/mbimbf.t
1139                 ),
1140         ],
1141         'UPSTREAM' => 'blead',
1142     },
1143
1144     'Math::BigRat' => {
1145         'MAINTAINER'   => 'rafl',
1146         'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
1147         'FILES'        => q[dist/Math-BigRat],
1148         'EXCLUDED'     => [
1149             qr{^inc/},
1150             qw( t/00sig.t
1151                 t/01load.t
1152                 t/02pod.t
1153                 t/03podcov.t
1154                 ),
1155         ],
1156         'UPSTREAM' => 'blead',
1157     },
1158
1159     'Math::Complex' => {
1160         'MAINTAINER'   => 'zefram',
1161         'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
1162         'FILES'        => q[cpan/Math-Complex],
1163         'EXCLUDED'     => [
1164             qw( t/pod.t
1165                 t/pod-coverage.t
1166                 ),
1167         ],
1168         'UPSTREAM' => 'cpan',
1169     },
1170
1171     'Memoize' => {
1172         'MAINTAINER'   => 'mjd',
1173         'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
1174         'FILES'        => q[cpan/Memoize],
1175         'EXCLUDED'     => ['article.html'],
1176         'UPSTREAM'     => 'cpan',
1177     },
1178
1179     'MIME::Base64' => {
1180         'MAINTAINER'   => 'gaas',
1181         'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
1182         'FILES'        => q[cpan/MIME-Base64],
1183         'EXCLUDED'     => ['t/bad-sv.t'],
1184         'UPSTREAM'     => 'cpan',
1185     },
1186
1187     #
1188     # To update Module-Build in blead see
1189     # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
1190     #
1191
1192     'Module::Build' => {
1193         'MAINTAINER'   => 'kwilliams',
1194         'DISTRIBUTION' => 'LEONT/Module-Build-0.4007.tar.gz',
1195         'FILES'        => q[cpan/Module-Build],
1196         'EXCLUDED'     => [
1197             qw( t/par.t
1198                 t/signature.t
1199                 ),
1200             qr{^contrib/},
1201             qr{^inc},
1202         ],
1203         'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
1204         'UPSTREAM'   => 'cpan',
1205     },
1206
1207     'Module::CoreList' => {
1208         'MAINTAINER'   => 'bingos',
1209         'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.94.tar.gz',
1210         'FILES'        => q[dist/Module-CoreList],
1211         'UPSTREAM'     => 'blead',
1212     },
1213
1214     'Module::Load' => {
1215         'MAINTAINER'   => 'kane',
1216         'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
1217         'FILES'        => q[cpan/Module-Load],
1218         'UPSTREAM'     => 'cpan',
1219     },
1220
1221     'Module::Load::Conditional' => {
1222         'MAINTAINER'   => 'kane',
1223         'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.54.tar.gz',
1224         'FILES'        => q[cpan/Module-Load-Conditional],
1225         'UPSTREAM'     => 'cpan',
1226     },
1227
1228     'Module::Loaded' => {
1229         'MAINTAINER'   => 'kane',
1230         'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
1231         'FILES'        => q[cpan/Module-Loaded],
1232         'UPSTREAM'     => 'cpan',
1233     },
1234
1235     'Module::Metadata' => {
1236         'MAINTAINER'   => 'dagolden',
1237         'DISTRIBUTION' => 'BOBTFISH/Module-Metadata-1.000014.tar.gz',
1238         'FILES'        => q[cpan/Module-Metadata],
1239         'EXCLUDED'     => [
1240             qr{^maint},
1241             qr{^xt},
1242         ],
1243         'UPSTREAM' => 'cpan',
1244     },
1245
1246     'mro' => {
1247         'MAINTAINER' => 'p5p',
1248         'FILES'      => q[ext/mro],
1249         'UPSTREAM'   => 'blead',
1250     },
1251
1252     'NDBM_File' => {
1253         'MAINTAINER' => 'p5p',
1254         'FILES'      => q[ext/NDBM_File],
1255         'UPSTREAM'   => 'blead',
1256     },
1257
1258     'Net::Ping' => {
1259         'MAINTAINER'   => 'smpeters',
1260         'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
1261         'FILES'        => q[dist/Net-Ping],
1262         'EXCLUDED'     => [
1263             qr{^.travis.yml},
1264             qr{^README.md},
1265         ],
1266         'UPSTREAM'     => 'blead',
1267     },
1268
1269     'NEXT' => {
1270         'MAINTAINER'   => 'rafl',
1271         'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
1272         'FILES'        => q[cpan/NEXT],
1273         'EXCLUDED'     => [qr{^demo/}],
1274         'UPSTREAM'     => 'cpan',
1275     },
1276
1277     'ODBM_File' => {
1278         'MAINTAINER' => 'p5p',
1279         'FILES'      => q[ext/ODBM_File],
1280         'UPSTREAM'   => 'blead',
1281     },
1282
1283     'Opcode' => {
1284         'MAINTAINER' => 'p5p',
1285         'FILES'      => q[ext/Opcode],
1286         'UPSTREAM'   => 'blead',
1287     },
1288
1289     'overload' => {
1290         'MAINTAINER' => 'p5p',
1291         'FILES'      => q[lib/overload{.pm,.t,64.t}],
1292         'UPSTREAM'   => 'blead',
1293     },
1294
1295     'Package::Constants' => {
1296         'MAINTAINER'   => 'kane',
1297         'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
1298         'FILES'        => q[cpan/Package-Constants],
1299         'UPSTREAM'     => 'cpan',
1300     },
1301
1302     'Params::Check' => {
1303         'MAINTAINER'   => 'kane',
1304         'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
1305         'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
1306         'FILES'        => q[cpan/Params-Check],
1307         'UPSTREAM'     => 'cpan',
1308     },
1309
1310     'parent' => {
1311         'MAINTAINER'   => 'corion',
1312         'DISTRIBUTION' => 'CORION/parent-0.226.tar.gz',
1313         'FILES'        => q[cpan/parent],
1314         'UPSTREAM'     => undef,
1315     },
1316
1317     'Parse::CPAN::Meta' => {
1318         'MAINTAINER'   => 'dagolden',
1319         'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4405.tar.gz',
1320         'FILES'        => q[cpan/Parse-CPAN-Meta],
1321         'EXCLUDED'     => [
1322             qw(t/00-compile.t),
1323             qw[t/00-report-prereqs.t],
1324             qr{^xt},
1325         ],
1326         'UPSTREAM'     => 'cpan',
1327     },
1328
1329     'PathTools' => {
1330         'MAINTAINER'   => 'kwilliams',
1331         'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
1332         'FILES'        => q[dist/Cwd],
1333         'EXCLUDED'     => [qr{^t/lib/Test/}],
1334         'UPSTREAM'     => "blead",
1335
1336         # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
1337         # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
1338         # that the leafname of some file corresponds with the pathname of the
1339         # directory.
1340     },
1341
1342     'perldtrace' => {
1343         'MAINTAINER' => 'sartak',
1344         'FILES'      => q[pod/perldtrace.pod],
1345         'UPSTREAM'   => 'blead',
1346     },
1347
1348     'perlebcdic' => {
1349         'MAINTAINER' => 'pvhp',
1350         'FILES'      => q[pod/perlebcdic.pod],
1351         'UPSTREAM'   => undef,
1352     },
1353
1354     'PerlIO' => {
1355         'MAINTAINER' => 'p5p',
1356         'FILES'      => q[lib/PerlIO.pm],
1357         'UPSTREAM'   => undef,
1358     },
1359
1360     'PerlIO::encoding' => {
1361         'MAINTAINER' => 'p5p',
1362         'FILES'      => q[ext/PerlIO-encoding],
1363         'UPSTREAM'   => 'blead',
1364     },
1365
1366     'PerlIO::mmap' => {
1367         'MAINTAINER' => 'p5p',
1368         'FILES'      => q[ext/PerlIO-mmap],
1369         'UPSTREAM'   => 'blead',
1370     },
1371
1372     'PerlIO::scalar' => {
1373         'MAINTAINER' => 'p5p',
1374         'FILES'      => q[ext/PerlIO-scalar],
1375         'UPSTREAM'   => 'blead',
1376     },
1377
1378     'PerlIO::via' => {
1379         'MAINTAINER' => 'p5p',
1380         'FILES'      => q[ext/PerlIO-via],
1381         'UPSTREAM'   => 'blead',
1382     },
1383
1384     'PerlIO::via::QuotedPrint' => {
1385         'MAINTAINER'   => 'elizabeth',
1386         'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
1387         'FILES'        => q[cpan/PerlIO-via-QuotedPrint],
1388         'UPSTREAM'     => undef,
1389     },
1390
1391     'Perl::OSType' => {
1392         'MAINTAINER'   => 'dagolden',
1393         'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.003.tar.gz',
1394         'FILES'        => q[cpan/Perl-OSType],
1395         'EXCLUDED'     => [qr/^xt/, qr{^t/00-}],
1396         'UPSTREAM'     => 'cpan',
1397     },
1398
1399     'perlpacktut' => {
1400         'MAINTAINER' => 'laun',
1401         'FILES'      => q[pod/perlpacktut.pod],
1402         'UPSTREAM'   => undef,
1403     },
1404
1405     'perlpodspec' => {
1406         'MAINTAINER' => 'sburke',
1407         'FILES'      => q[pod/perlpodspec.pod],
1408         'UPSTREAM'   => undef,
1409     },
1410
1411     'perlre' => {
1412         'MAINTAINER' => 'abigail',
1413         'FILES'      => q[pod/perlrecharclass.pod
1414                  pod/perlrebackslash.pod],
1415         'UPSTREAM' => undef,
1416     },
1417
1418     'perlreapi' => {
1419         MAINTAINER => 'avar',
1420         FILES      => q[pod/perlreapi.pod],
1421         'UPSTREAM' => undef,
1422     },
1423
1424     'perlreftut' => {
1425         'MAINTAINER' => 'mjd',
1426         'FILES'      => q[pod/perlreftut.pod],
1427         'UPSTREAM'   => 'blead',
1428     },
1429
1430     'perlthrtut' => {
1431         'MAINTAINER' => 'elizabeth',
1432         'FILES'      => q[pod/perlthrtut.pod],
1433         'UPSTREAM'   => undef,
1434     },
1435
1436     'Pod::Checker' => {
1437         'MAINTAINER' => 'marekr',
1438         'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
1439         'FILES'        => q[cpan/Pod-Checker],
1440         'UPSTREAM'     => 'cpan',
1441     },
1442
1443     'Pod::Escapes' => {
1444         'MAINTAINER'   => 'arandal',
1445         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1446         'FILES'        => q[cpan/Pod-Escapes],
1447         'UPSTREAM'     => undef,
1448     },
1449
1450     'Pod::Functions' => {
1451         'MAINTAINER' => 'p5p',
1452         'FILES'      => q[ext/Pod-Functions],
1453         'UPSTREAM'   => 'blead',
1454     },
1455
1456     'Pod::Html' => {
1457         'MAINTAINER' => 'p5p',
1458         'FILES'      => q[ext/Pod-Html],
1459         'UPSTREAM'   => 'blead',
1460     },
1461
1462     'Pod::Parser' => {
1463         'MAINTAINER' => 'marekr',
1464         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
1465         'FILES'        => q[cpan/Pod-Parser],
1466         'UPSTREAM'     => 'cpan',
1467     },
1468
1469     'Pod::Perldoc' => {
1470         'MAINTAINER'   => 'mallen',
1471         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.20.tar.gz',
1472         'FILES'        => q[cpan/Pod-Perldoc],
1473
1474         # in blead, the perldoc executable is generated by perldoc.PL
1475         # instead
1476         # XXX We can and should fix this, but clean up the DRY-failure in utils
1477         # first
1478         'EXCLUDED' => ['perldoc'],
1479         'UPSTREAM' => 'cpan',
1480     },
1481
1482     'Pod::Simple' => {
1483         'MAINTAINER'   => 'arandal',
1484         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
1485         'FILES'        => q[cpan/Pod-Simple],
1486         'UPSTREAM'     => 'cpan',
1487     },
1488
1489     'Pod::Usage' => {
1490         'MAINTAINER' => 'marekr',
1491         'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
1492         'FILES'        => q[cpan/Pod-Usage],
1493         'UPSTREAM'     => 'cpan',
1494     },
1495
1496     'podlators' => {
1497         'MAINTAINER'   => 'rra',
1498         'DISTRIBUTION' => 'RRA/podlators-2.5.1.tar.gz',
1499         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
1500
1501         # The perl distribution has pod2man.PL and pod2text.PL,  which are
1502         # run to create pod2man and pod2text, while the CPAN distribution
1503         # just has the post-generated pod2man and pod2text files.
1504         # The following entries attempt to codify that odd fact.
1505         'CUSTOMIZED' => [
1506             qw( scripts/pod2man.PL
1507                 scripts/pod2text.PL
1508                 ),
1509         ],
1510         'MAP' => {
1511             ''                 => 'cpan/podlators/',
1512             'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
1513             'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1514
1515             # this file lives outside the cpan/ directory
1516             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1517         },
1518         'UPSTREAM' => 'cpan',
1519     },
1520
1521     'POSIX' => {
1522         'MAINTAINER' => 'p5p',
1523         'FILES'      => q[ext/POSIX],
1524         'UPSTREAM'   => 'blead',
1525     },
1526
1527     're' => {
1528         'MAINTAINER' => 'p5p',
1529         'FILES'      => q[ext/re],
1530         'UPSTREAM'   => 'blead',
1531     },
1532
1533     'Safe' => {
1534         'MAINTAINER'   => 'rgarcia',
1535         'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
1536         'FILES'        => q[dist/Safe],
1537         'UPSTREAM'     => 'blead',
1538     },
1539
1540     'Scalar-List-Utils' => {
1541         'MAINTAINER'   => 'gbarr',
1542         'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.29.tar.gz',
1543
1544         # Note that perl uses its own version of Makefile.PL
1545         'FILES'    => q[cpan/List-Util],
1546         'EXCLUDED' => [
1547             qr{^inc/Module/},
1548             qr{^inc/Test/},
1549             'mytypemap',
1550         ],
1551         'UPSTREAM' => 'cpan',
1552     },
1553
1554     'SDBM_File' => {
1555         'MAINTAINER' => 'p5p',
1556         'FILES'      => q[ext/SDBM_File],
1557         'UPSTREAM'   => 'blead',
1558     },
1559
1560     'Search::Dict' => {
1561         'MAINTAINER'   => 'p5p',
1562         'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
1563         'FILES'        => q[dist/Search-Dict],
1564         'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
1565         'UPSTREAM'     => 'blead',
1566     },
1567
1568     'SelfLoader' => {
1569         'MAINTAINER'   => 'smueller',
1570         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1571         'FILES'        => q[dist/SelfLoader],
1572         'EXCLUDED'     => ['t/00pod.t'],
1573         'UPSTREAM'     => 'blead',
1574     },
1575
1576     'sigtrap' => {
1577         'MAINTAINER' => 'p5p',
1578         'FILES'      => q[lib/sigtrap.{pm,t}],
1579         'UPSTREAM'   => 'blead',
1580     },
1581
1582     'Socket' => {
1583         'MAINTAINER'   => 'pevans',
1584         'DISTRIBUTION' => 'PEVANS/Socket-2.011.tar.gz',
1585         'FILES'        => q[cpan/Socket],
1586         'UPSTREAM'     => 'cpan',
1587     },
1588
1589     'Storable' => {
1590         'MAINTAINER'   => 'ams',
1591         'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
1592         'FILES'        => q[dist/Storable],
1593         'EXCLUDED'     => [qr{^t/Test/}],
1594         'UPSTREAM'     => 'blead',
1595     },
1596
1597     'Sys::Hostname' => {
1598         'MAINTAINER' => 'p5p',
1599         'FILES'      => q[ext/Sys-Hostname],
1600         'UPSTREAM'   => 'blead',
1601     },
1602
1603     'Sys::Syslog' => {
1604         'MAINTAINER'   => 'saper',
1605         'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
1606         'FILES'        => q[cpan/Sys-Syslog],
1607         'EXCLUDED'     => [
1608             qr{^eg/},
1609             qw( t/data-validation.t
1610                 t/distchk.t
1611                 t/pod.t
1612                 t/podcover.t
1613                 t/podspell.t
1614                 t/portfs.t
1615                 win32/PerlLog.RES
1616                 ),
1617         ],
1618         'UPSTREAM'   => 'cpan',
1619     },
1620
1621     'Term::ANSIColor' => {
1622         'MAINTAINER'   => 'rra',
1623         'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
1624         'FILES'        => q[cpan/Term-ANSIColor],
1625         'EXCLUDED'     => [
1626             qr{^tests/},
1627             qr{^examples/},
1628             qr{^t/data/},
1629             qw( t/aliases-env.t
1630                 t/critic.t
1631                 t/minimum-version.t
1632                 t/pod-spelling.t
1633                 t/pod-coverage.t
1634                 t/pod.t
1635                 t/strict.t
1636                 t/synopsis.t
1637                 ),
1638         ],
1639         'UPSTREAM' => 'cpan',
1640     },
1641
1642     'Term::Cap' => {
1643         'MAINTAINER'   => 'jstowe',
1644         'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1645         'FILES'        => q[cpan/Term-Cap],
1646         'UPSTREAM'     => undef,
1647     },
1648
1649     'Term::Complete' => {
1650         'MAINTAINER'   => 'p5p',
1651         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1652         'FILES'        => q[dist/Term-Complete],
1653         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1654         'UPSTREAM'     => 'blead',
1655     },
1656
1657     'Term::ReadLine' => {
1658         'MAINTAINER'   => 'p5p',
1659         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.10.tar.gz',
1660         'FILES'        => q[dist/Term-ReadLine],
1661         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1662         'UPSTREAM'     => 'blead',
1663     },
1664
1665     'Test' => {
1666         'MAINTAINER'   => 'jesse',
1667         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
1668         'FILES'        => q[cpan/Test],
1669         'UPSTREAM'     => 'cpan',
1670     },
1671
1672     'Test::Harness' => {
1673         'MAINTAINER'   => 'andya',
1674         'DISTRIBUTION' => 'OVID/Test-Harness-3.28.tar.gz',
1675         'FILES'        => q[cpan/Test-Harness],
1676         'EXCLUDED'     => [
1677             qr{^examples/},
1678             qr{^inc/},
1679             qr{^t/lib/Test/},
1680             qr{^xt/},
1681             qw( Changes-2.64
1682                 NotBuild.PL
1683                 HACKING.pod
1684                 perlcriticrc
1685                 t/lib/if.pm
1686                 ),
1687         ],
1688         'CUSTOMIZED' => [ 't/source.t' ],
1689         'UPSTREAM'   => 'cpan',
1690     },
1691
1692     'Test::Simple' => {
1693         'MAINTAINER'   => 'mschwern',
1694         'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
1695         'FILES'        => q[cpan/Test-Simple],
1696         'EXCLUDED'     => [
1697             qw( .perlcriticrc
1698                 .perltidyrc
1699                 t/00compile.t
1700                 t/pod.t
1701                 t/pod-coverage.t
1702                 t/Builder/reset_outputs.t
1703                 lib/Test/Builder/IO/Scalar.pm
1704                 ),
1705         ],
1706         'CUSTOMIZED' =>  [
1707             't/fail-more.t', # awaiting upstream fix
1708         ],
1709         'UPSTREAM' => 'cpan',
1710     },
1711
1712     'Text::Abbrev' => {
1713         'MAINTAINER'   => 'p5p',
1714         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
1715         'FILES'        => q[dist/Text-Abbrev],
1716         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1717         'UPSTREAM'     => 'blead',
1718     },
1719
1720     'Text::Balanced' => {
1721         'MAINTAINER'   => 'dmanura',
1722         'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1723         'FILES'        => q[cpan/Text-Balanced],
1724         'EXCLUDED'     => [
1725             qw( t/97_meta.t
1726                 t/98_pod.t
1727                 t/99_pmv.t
1728                 ),
1729         ],
1730         'CUSTOMIZED'   => [
1731             qw( t/01_compile.t
1732                 t/02_extbrk.t
1733                 t/03_extcbk.t
1734                 t/04_extdel.t
1735                 t/05_extmul.t
1736                 t/06_extqlk.t
1737                 t/07_exttag.t
1738                 t/08_extvar.t
1739                 t/09_gentag.t
1740                 ),
1741         ],
1742         'UPSTREAM' => 'cpan',
1743     },
1744
1745     'Text::ParseWords' => {
1746         'MAINTAINER'   => 'chorny',
1747         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
1748         'FILES'        => q[cpan/Text-ParseWords],
1749         'EXCLUDED'     => ['t/pod.t'],
1750
1751         # For the benefit of make_ext.pl, we have to have this accessible:
1752         'MAP' => {
1753             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1754             ''              => 'cpan/Text-ParseWords/',
1755         },
1756         'UPSTREAM' => undef,
1757     },
1758
1759     'Text-Tabs+Wrap' => {
1760         'MAINTAINER'   => 'muir',
1761         'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
1762         'FILES'        => q[cpan/Text-Tabs],
1763         'EXCLUDED'   => [
1764             qr/^lib\.old/,
1765             't/dnsparks.t',    # see af6492bf9e
1766         ],
1767         'MAP'          => {
1768             ''                        => 'cpan/Text-Tabs/',
1769             'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1770             'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
1771         },
1772         'UPSTREAM'   => 'cpan',
1773     },
1774
1775     'Thread::Queue' => {
1776         'MAINTAINER'   => 'jdhedden',
1777         'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
1778         'FILES'        => q[dist/Thread-Queue],
1779         'EXCLUDED'     => [
1780             qr{^examples/},
1781             qw( t/00_load.t
1782                 t/99_pod.t
1783                 t/test.pl
1784                 ),
1785         ],
1786         'UPSTREAM' => 'blead',
1787     },
1788
1789     'Thread::Semaphore' => {
1790         'MAINTAINER'   => 'jdhedden',
1791         'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1792         'FILES'        => q[dist/Thread-Semaphore],
1793         'EXCLUDED'     => [
1794             qw( examples/semaphore.pl
1795                 t/00_load.t
1796                 t/99_pod.t
1797                 t/test.pl
1798                 ),
1799         ],
1800         'UPSTREAM' => 'blead',
1801     },
1802
1803     'threads' => {
1804         'MAINTAINER'   => 'jdhedden',
1805         'DISTRIBUTION' => 'JDHEDDEN/threads-1.87.tar.gz',
1806         'FILES'        => q[dist/threads],
1807         'EXCLUDED'     => [
1808             qr{^examples/},
1809             qw( t/pod.t
1810                 t/test.pl
1811                 threads.h
1812                 ),
1813         ],
1814         'UPSTREAM' => 'blead',
1815     },
1816
1817     'threads::shared' => {
1818         'MAINTAINER'   => 'jdhedden',
1819         'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
1820         'FILES'        => q[dist/threads-shared],
1821         'EXCLUDED'     => [
1822             qw( examples/class.pl
1823                 shared.h
1824                 t/pod.t
1825                 t/test.pl
1826                 ),
1827         ],
1828         'UPSTREAM' => 'blead',
1829     },
1830
1831     'Tie::File' => {
1832         'MAINTAINER'   => 'mjd',
1833         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1834         'FILES'        => q[dist/Tie-File],
1835         'UPSTREAM'     => 'blead',
1836     },
1837
1838     'Tie::Hash' => {
1839         'MAINTAINER' => 'p5p',
1840         'FILES'      => q[lib/Tie/Hash.{pm,t}],
1841         'UPSTREAM'   => 'blead',
1842     },
1843
1844     'Tie::Hash::NamedCapture' => {
1845         'MAINTAINER' => 'p5p',
1846         'FILES'      => q[ext/Tie-Hash-NamedCapture],
1847         'UPSTREAM'   => 'blead',
1848     },
1849
1850     'Tie::Memoize' => {
1851         'MAINTAINER' => 'p5p',
1852         'FILES'      => q[ext/Tie-Memoize],
1853         'UPSTREAM'   => 'blead',
1854     },
1855
1856     'Tie::RefHash' => {
1857         'MAINTAINER'   => 'nuffin',
1858         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1859         'FILES'        => q[cpan/Tie-RefHash],
1860         'UPSTREAM'     => 'cpan',
1861     },
1862
1863     'Time::HiRes' => {
1864         'MAINTAINER'   => 'zefram',
1865         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
1866         'FILES'        => q[cpan/Time-HiRes],
1867         'CUSTOMIZED'   => [
1868             'Makefile.PL', # awaiting patches applied upstream (see c7627e6d)
1869         ],
1870         'UPSTREAM'     => 'cpan',
1871     },
1872
1873     'Time::Local' => {
1874         'MAINTAINER'   => 'drolsky',
1875         'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
1876         'FILES'        => q[cpan/Time-Local],
1877         'EXCLUDED'     => [
1878             qw( t/pod-coverage.t
1879                 t/pod.t
1880                 ),
1881             qr{^t/release-.*\.t},
1882         ],
1883         'UPSTREAM' => 'cpan',
1884     },
1885
1886     'Time::Piece' => {
1887         'MAINTAINER'   => 'msergeant',
1888         'DISTRIBUTION' => 'RJBS/Time-Piece-1.21.tar.gz',
1889         'FILES'        => q[cpan/Time-Piece],
1890         'UPSTREAM'     => undef,
1891     },
1892
1893     'Unicode::Collate' => {
1894         'MAINTAINER'   => 'sadahiro',
1895         'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.98.tar.gz',
1896         'FILES'        => q[cpan/Unicode-Collate],
1897         'EXCLUDED'     => [
1898             qr{N$},
1899             qr{^data/},
1900             qr{^gendata/},
1901             qw( disableXS
1902                 enableXS
1903                 mklocale
1904                 ),
1905         ],
1906         'UPSTREAM' => 'first-come',
1907     },
1908
1909     'Unicode::Normalize' => {
1910         'MAINTAINER'   => 'sadahiro',
1911         'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.16.tar.gz',
1912         'FILES'        => q[cpan/Unicode-Normalize],
1913         'EXCLUDED'     => [
1914             qw( MANIFEST.N
1915                 Normalize.pmN
1916                 disableXS
1917                 enableXS
1918                 ),
1919         ],
1920         'UPSTREAM' => 'first-come',
1921     },
1922
1923     'Unicode::UCD' => {
1924         'MAINTAINER' => 'blead',
1925         'FILES'      => q[lib/Unicode/UCD.{pm,t}],
1926         'UPSTREAM'   => 'blead',
1927     },
1928
1929     'version' => {
1930         'MAINTAINER'   => 'jpeacock',
1931         'DISTRIBUTION' => 'JPEACOCK/version-0.9902.tar.gz',
1932         'FILES'        => q[cpan/version],
1933         'EXCLUDED' => [
1934             qr{^vutil/},
1935             'lib/version/typemap',
1936             't/survey_locales',
1937             'vperl/vpp.pm',
1938         ],
1939         'UPSTREAM' => undef,
1940     },
1941
1942     'vms' => {
1943         'MAINTAINER' => 'craig',
1944         'FILES'      => q[vms configure.com README.vms],
1945         'UPSTREAM'   => undef,
1946     },
1947
1948     'VMS::DCLsym' => {
1949         'MAINTAINER' => 'craig',
1950         'FILES'      => q[ext/VMS-DCLsym],
1951         'UPSTREAM'   => undef,
1952     },
1953
1954     'VMS::Filespec' => {
1955         'MAINTAINER' => 'p5p',
1956         'FILES'      => q[ext/VMS-Filespec],
1957         'UPSTREAM'   => undef,
1958     },
1959
1960     'VMS::Stdio' => {
1961         'MAINTAINER' => 'craig',
1962         'FILES'      => q[ext/VMS-Stdio],
1963         'UPSTREAM'   => undef,
1964     },
1965
1966     'warnings' => {
1967         'MAINTAINER' => 'pmqs',
1968         'FILES'      => q[regen/warnings.pl
1969                  lib/warnings.{pm,t}
1970                  lib/warnings
1971                  t/lib/warnings
1972                 ],
1973         'UPSTREAM' => 'blead',
1974     },
1975
1976     'win32' => {
1977         'MAINTAINER' => 'jand',
1978         'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
1979         'UPSTREAM'   => undef,
1980     },
1981
1982     'Win32' => {
1983         'MAINTAINER'   => 'jand',
1984         'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
1985         'FILES'        => q[cpan/Win32],
1986         'UPSTREAM'     => 'cpan',
1987     },
1988
1989     'Win32API::File' => {
1990         'MAINTAINER'   => 'chorny',
1991         'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
1992         'FILES'        => q[cpan/Win32API-File],
1993         'EXCLUDED'     => [
1994             qr{^ex/},
1995             't/pod.t',
1996         ],
1997         'UPSTREAM' => 'cpan',
1998     },
1999
2000     'XS::Typemap' => {
2001         'MAINTAINER' => 'p5p',
2002         'FILES'      => q[ext/XS-Typemap],
2003         'UPSTREAM'   => 'blead',
2004     },
2005
2006     'XSLoader' => {
2007         'MAINTAINER'   => 'saper',
2008         'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
2009         'FILES'        => q[dist/XSLoader],
2010         'EXCLUDED'     => [
2011             qr{^eg/},
2012             qw( t/00-load.t
2013                 t/01-api.t
2014                 t/distchk.t
2015                 t/pod.t
2016                 t/podcover.t
2017                 t/portfs.t
2018                 ),
2019             'XSLoader.pm',    # we use XSLoader_pm.PL
2020         ],
2021         # Revert UPSTREAM to 'blead' after 0.17 is released
2022         'UPSTREAM' => undef,
2023     },
2024
2025     's2p' => {
2026         'MAINTAINER' => 'laun',
2027         'FILES'      => q[x2p/s2p.PL],
2028         'UPSTREAM'   => undef,
2029     },
2030
2031     # this pseudo-module represents all the files under ext/ and lib/
2032     # that aren't otherwise claimed. This means that the following two
2033     # commands will check that every file under ext/ and lib/ is
2034     # accounted for, and that there are no duplicates:
2035     #
2036     #    perl Porting/Maintainers --checkmani lib ext
2037     #    perl Porting/Maintainers --checkmani
2038
2039     '_PERLLIB' => {
2040         'MAINTAINER' => 'p5p',
2041         'FILES'      => q[
2042                 ext/arybase/
2043                 ext/ExtUtils-Miniperl/
2044                 ext/XS-APItest/
2045                 lib/CORE.pod
2046                 lib/Config.t
2047                 lib/Config/Extensions.{pm,t}
2048                 lib/DB.{pm,t}
2049                 lib/ExtUtils/Embed.pm
2050                 lib/ExtUtils/XSSymSet.pm
2051                 lib/ExtUtils/t/Embed.t
2052                 lib/ExtUtils/typemap
2053                 lib/Internals.t
2054                 lib/Net/hostent.{pm,t}
2055                 lib/Net/netent.{pm,t}
2056                 lib/Net/protoent.{pm,t}
2057                 lib/Net/servent.{pm,t}
2058                 lib/Pod/t/InputObjects.t
2059                 lib/Pod/t/Select.t
2060                 lib/Pod/t/Usage.t
2061                 lib/Pod/t/utils.t
2062                 lib/SelectSaver.{pm,t}
2063                 lib/Symbol.{pm,t}
2064                 lib/Thread.{pm,t}
2065                 lib/Tie/Array.pm
2066                 lib/Tie/Array/
2067                 lib/Tie/ExtraHash.t
2068                 lib/Tie/Handle.pm
2069                 lib/Tie/Handle/
2070                 lib/Tie/Scalar.{pm,t}
2071                 lib/Tie/StdHandle.pm
2072                 lib/Tie/SubstrHash.{pm,t}
2073                 lib/Time/gmtime.{pm,t}
2074                 lib/Time/localtime.{pm,t}
2075                 lib/Time/tm.pm
2076                 lib/UNIVERSAL.pm
2077                 lib/Unicode/README
2078                 lib/User/grent.{pm,t}
2079                 lib/User/pwent.{pm,t}
2080                 lib/blib.{pm,t}
2081                 lib/bytes.{pm,t}
2082                 lib/bytes_heavy.pl
2083                 lib/_charnames.pm
2084                 lib/charnames.{pm,t}
2085                 lib/dbm_filter_util.pl
2086                 lib/deprecate.pm
2087                 lib/dumpvar.{pl,t}
2088                 lib/feature.{pm,t}
2089                 lib/feature/
2090                 lib/filetest.{pm,t}
2091                 lib/h2ph.t
2092                 lib/h2xs.t
2093                 lib/integer.{pm,t}
2094                 lib/less.{pm,t}
2095                 lib/locale.{pm,t}
2096                 lib/open.{pm,t}
2097                 lib/overload/numbers.pm
2098                 lib/overloading.{pm,t}
2099                 lib/perl5db.{pl,t}
2100                 lib/perl5db/
2101                 lib/sort.{pm,t}
2102                 lib/strict.{pm,t}
2103                 lib/subs.{pm,t}
2104                 lib/unicore/
2105                 lib/utf8.{pm,t}
2106                 lib/utf8_heavy.pl
2107                 lib/vars{.pm,.t,_carp.t}
2108                 lib/vmsish.{pm,t}
2109                 ],
2110         'UPSTREAM' => 'blead',
2111     },
2112 );
2113
2114 # legacy CPAN flag
2115 for ( values %Modules ) {
2116     $_->{CPAN} = !!$_->{DISTRIBUTION};
2117 }
2118
2119 1;