This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
92171e4d9a4851f778193378ec30e5e2a087359a
[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.  If the upstream
159 # distribution should be modified to incorporate the change then be sure
160 # to raise a ticket for it on rt.cpan.org and add a comment alongside the
161 # list of CUSTOMIZED files noting the ticket number.
162
163 # DEPRECATED contains the *first* version of Perl in which the module
164 # was considered deprecated.  It should only be present if the module is
165 # actually deprecated.  Such modules should use deprecated.pm to
166 # issue a warning if used.  E.g.:
167 #
168 #     use if $] >= 5.011, 'deprecate';
169 #
170
171 # MAP is a hash that maps CPAN paths to their core equivalents.
172 # Each key represents a string prefix, with longest prefixes checked
173 # first. The first match causes that prefix to be replaced with the
174 # corresponding key. For example, with the following MAP:
175 #   {
176 #     'lib/'     => 'lib/',
177 #     ''     => 'lib/Foo/',
178 #   },
179 #
180 # these files are mapped as shown:
181 #
182 #    README     becomes lib/Foo/README
183 #    lib/Foo.pm becomes lib/Foo.pm
184 #
185 # The default is dependent on the type of module.
186 # For distributions which appear to be stored under ext/, it defaults to:
187 #
188 #   { '' => 'ext/Foo-Bar/' }
189 #
190 # otherwise, it's
191 #
192 #   {
193 #     'lib/'     => 'lib/',
194 #     ''     => 'lib/Foo/Bar/',
195 #   }
196
197 %Modules = (
198
199     'AnyDBM_File' => {
200         'MAINTAINER'  => 'p5p',
201         'FILES'       => q[lib/AnyDBM_File.{pm,t}],
202         'UPSTREAM'    => 'blead',
203     },
204
205     'Archive::Tar' => {
206         'MAINTAINER'   => 'kane',
207         'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.92.tar.gz',
208         'FILES'        => q[cpan/Archive-Tar],
209         'UPSTREAM'     => 'cpan',
210         'BUGS'         => 'bug-archive-tar@rt.cpan.org',
211     },
212
213     'Attribute::Handlers' => {
214         'MAINTAINER'   => 'rgarcia',
215         'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
216         'FILES'        => q[dist/Attribute-Handlers],
217         'UPSTREAM'     => 'blead',
218     },
219
220     'attributes' => {
221         'MAINTAINER' => 'p5p',
222         'FILES'      => q[ext/attributes],
223         'UPSTREAM'   => 'blead',
224     },
225
226     'autodie' => {
227         'MAINTAINER'   => 'pjf',
228         'DISTRIBUTION' => 'PJF/autodie-2.20.tar.gz',
229         'FILES'        => q[cpan/autodie],
230         'EXCLUDED'     => [
231             qr{^inc/Module/},
232             qr{benchmarks},
233             # All these tests depend upon external
234             # modules that don't exist when we're
235             # building the core.  Hence, they can
236             # never run, and should not be merged.
237             qw( t/boilerplate.t
238                 t/author-critic.t
239                 t/critic.t
240                 t/fork.t
241                 t/kwalitee.t
242                 t/lex58.t
243                 t/pod-coverage.t
244                 t/pod.t
245                 t/release-pod-coverage.t
246                 t/release-pod-syntax.t
247                 t/socket.t
248                 t/system.t
249                 )
250         ],
251         # Test got broken by Carp change; update to be merged upstream
252         # [rt.cpan.org #88076].
253         'CUSTOMIZED' => ['t/backcompat.t'],
254         'UPSTREAM'   => 'cpan',
255     },
256
257     'AutoLoader' => {
258         'MAINTAINER'   => 'smueller',
259         'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
260         'FILES'        => q[cpan/AutoLoader],
261         'EXCLUDED'     => ['t/00pod.t'],
262         'UPSTREAM'     => 'cpan',
263     },
264
265     'autouse' => {
266         'MAINTAINER'   => 'p5p',
267         'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
268         'FILES'        => q[dist/autouse],
269         'EXCLUDED'     => [qr{^t/release-.*\.t}],
270         'UPSTREAM'     => 'blead',
271     },
272
273     'B' => {
274         'MAINTAINER' => 'p5p',
275         'FILES'      => q[ext/B],
276         'EXCLUDED'   => [
277             qw( B/Concise.pm
278                 t/concise.t
279                 ),
280         ],
281         'UPSTREAM' => 'blead',
282     },
283
284     'B::Concise' => {
285         'MAINTAINER' => 'smccam',
286         'FILES'      => q[ext/B/B/Concise.pm ext/B/t/concise.t],
287         'UPSTREAM'   => 'blead',
288     },
289
290     'B::Debug' => {
291         'MAINTAINER'   => 'rurban',
292         'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
293         'FILES'        => q[cpan/B-Debug],
294         'EXCLUDED'     => ['t/pod.t'],
295         'UPSTREAM'     => 'cpan',
296     },
297
298     'B::Deparse' => {
299         'MAINTAINER' => 'smccam',
300         'FILES'      => q[dist/B-Deparse],
301         'UPSTREAM'   => 'blead',
302     },
303
304     'base' => {
305         'MAINTAINER'   => 'rgarcia',
306         'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
307         'FILES'        => q[dist/base],
308         'UPSTREAM'     => 'blead',
309     },
310
311     'Benchmark' => {
312         'MAINTAINER' => 'p5p',
313         'FILES'      => q[lib/Benchmark.{pm,t}],
314         'UPSTREAM'   => 'blead',
315     },
316
317     'bignum' => {
318         'MAINTAINER'   => 'rafl',
319         'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
320         'FILES'        => q[dist/bignum],
321         'EXCLUDED'     => [
322             qr{^inc/Module/},
323             qw( t/pod.t
324                 t/pod_cov.t
325                 ),
326         ],
327         'UPSTREAM' => 'blead',
328     },
329
330     'Carp' => {
331         'MAINTAINER'   => 'zefram',
332         'DISTRIBUTION' => 'ZEFRAM/Carp-1.26.tar.gz',
333         'FILES'        => q[dist/Carp],
334         'UPSTREAM'     => 'blead',
335     },
336
337     'CGI' => {
338         'MAINTAINER'   => 'lstein',
339         'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
340         'FILES'        => q[cpan/CGI],
341         'EXCLUDED'     => [
342             qw( cgi_docs.html
343                 examples/WORLD_WRITABLE/18.157.1.253.sav
344                 t/gen-tests/gen-start-end-tags.pl
345                 t/fast.t
346                 ),
347         ],
348         'UPSTREAM'   => 'cpan',
349     },
350
351     'Class::Struct' => {
352         'MAINTAINER' => 'p5p',
353         'FILES'      => q[lib/Class/Struct.{pm,t}],
354         'UPSTREAM'   => 'blead',
355     },
356
357     'Compress::Raw::Bzip2' => {
358         'MAINTAINER'   => 'pmqs',
359         'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.062.tar.gz',
360         'FILES'        => q[cpan/Compress-Raw-Bzip2],
361         'EXCLUDED'     => [
362             qr{^t/Test/},
363             'bzip2-src/bzip2-cpp.patch',
364         ],
365         'UPSTREAM' => 'cpan',
366     },
367
368     'Compress::Raw::Zlib' => {
369         'MAINTAINER'   => 'pmqs',
370         'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.062.tar.gz',
371
372         'FILES'    => q[cpan/Compress-Raw-Zlib],
373         'EXCLUDED' => [
374             qr{^t/Test/},
375             qw( t/000prereq.t
376                 t/99pod.t
377                 ),
378         ],
379         'UPSTREAM' => 'cpan',
380     },
381
382     'Config::Perl::V' => {
383         'MAINTAINER'   => 'hmbrand',
384         'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.19.tgz',
385         'FILES'        => q[cpan/Config-Perl-V],
386         'EXCLUDED'     => ['examples/show-v.pl'],
387         'UPSTREAM'     => 'cpan',
388     },
389
390     'constant' => {
391         'MAINTAINER'   => 'saper',
392         'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
393         'FILES'        => q[dist/constant],
394         'EXCLUDED'     => [
395             qw( t/00-load.t
396                 t/more-tests.t
397                 t/pod-coverage.t
398                 t/pod.t
399                 eg/synopsis.pl
400                 ),
401         ],
402         'UPSTREAM' => 'blead',
403     },
404
405     'CPAN' => {
406         'MAINTAINER'   => 'andk',
407         'DISTRIBUTION' => 'ANDK/CPAN-2.00.tar.gz',
408         'FILES'        => q[cpan/CPAN],
409         'EXCLUDED'     => [
410             qr{^distroprefs/},
411             qr{^inc/Test/},
412             qr{^t/CPAN/authors/},
413             qw( lib/CPAN/Admin.pm
414                 scripts/cpan-mirrors
415                 SlayMakefile
416                 t/00signature.t
417                 t/04clean_load.t
418                 t/12cpan.t
419                 t/13tarzip.t
420                 t/14forkbomb.t
421                 t/30shell.coverage
422                 t/30shell.t
423                 t/31sessions.t
424                 t/41distribution.t
425                 t/42distroprefs.t
426                 t/44cpanmeta.t
427                 t/43distroprefspref.t
428                 t/50pod.t
429                 t/51pod.t
430                 t/52podcover.t
431                 t/60credentials.t
432                 t/70_critic.t
433                 t/CPAN/CpanTestDummies-1.55.pm
434                 t/CPAN/TestConfig.pm
435                 t/CPAN/TestMirroredBy
436                 t/CPAN/TestPatch.txt
437                 t/CPAN/modules/02packages.details.txt
438                 t/CPAN/modules/03modlist.data
439                 t/data/META-dynamic.json
440                 t/data/META-dynamic.yml
441                 t/data/META-static.json
442                 t/data/META-static.yml
443                 t/data/MYMETA.json
444                 t/data/MYMETA.yml
445                 t/local_utils.pm
446                 t/perlcriticrc
447                 t/yaml_code.yml
448                 ),
449         ],
450         'UPSTREAM' => 'cpan',
451     },
452
453     # Note: When updating CPAN-Meta the META.* files will need to be regenerated
454     # perl -Icpan/CPAN-Meta/lib Porting/makemeta
455     'CPAN::Meta' => {
456         'MAINTAINER'   => 'dagolden',
457         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.132140.tar.gz',
458         'FILES'        => q[cpan/CPAN-Meta],
459         'EXCLUDED'     => [
460             qw(t/00-compile.t),
461             qw[t/00-report-prereqs.t],
462             qr{^xt},
463             qr{^history},
464         ],
465         'UPSTREAM' => 'cpan',
466     },
467
468     'CPAN::Meta::Requirements' => {
469         'MAINTAINER'   => 'dagolden',
470         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz',
471         'FILES'        => q[cpan/CPAN-Meta-Requirements],
472         'EXCLUDED'     => [
473             qw(t/00-compile.t),
474             qr{^xt},
475             qr{^history},
476         ],
477         'UPSTREAM' => 'cpan',
478     },
479
480     'CPAN::Meta::YAML' => {
481         'MAINTAINER'   => 'dagolden',
482         'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz',
483         'FILES'        => q[cpan/CPAN-Meta-YAML],
484         'EXCLUDED'     => [
485             't/00-compile.t',
486             't/04_scalar.t',    # requires YAML.pm
487             qr{^xt},
488         ],
489         'UPSTREAM' => 'cpan',
490     },
491
492     'Data::Dumper' => {
493         'MAINTAINER' => 'p5p',    # Not gsar. Not ilyam. Not really smueller
494         'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
495         'FILES'        => q[dist/Data-Dumper],
496         'UPSTREAM'     => 'blead',
497     },
498
499     'DB_File' => {
500         'MAINTAINER'   => 'pmqs',
501         'DISTRIBUTION' => 'PMQS/DB_File-1.829.tar.gz',
502         'FILES'        => q[cpan/DB_File],
503         'EXCLUDED'     => [
504             qr{^patches/},
505             qw( t/pod.t
506                 fallback.h
507                 fallback.xs
508                 ),
509         ],
510         'UPSTREAM' => 'cpan',
511     },
512
513     'DBM_Filter' => {
514         'MAINTAINER' => 'p5p',
515         'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
516         'UPSTREAM'   => 'blead',
517     },
518
519     'Devel::SelfStubber' => {
520         'MAINTAINER'   => 'p5p',
521         'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
522         'FILES'        => q[dist/Devel-SelfStubber],
523         'EXCLUDED'     => [qr{^t/release-.*\.t}],
524         'UPSTREAM'     => 'blead',
525     },
526
527     'Devel::Peek' => {
528         'MAINTAINER' => 'p5p',
529         'FILES'      => q[ext/Devel-Peek],
530         'UPSTREAM'   => 'blead',
531     },
532
533     'Devel::PPPort' => {
534         'MAINTAINER'   => 'mhx',
535         'DISTRIBUTION' => 'MHX/Devel-PPPort-3.21.tar.gz',
536         'FILES'        => q[cpan/Devel-PPPort],
537         'EXCLUDED'     => ['PPPort.pm'],    # we use PPPort_pm.PL instead
538         'UPSTREAM'     => undef, # rjbs has asked mhx to have blead be upstream
539     },
540
541     'diagnostics' => {
542         'MAINTAINER' => 'p5p',
543         'FILES'      => q[lib/diagnostics.{pm,t}],
544         'UPSTREAM'   => 'blead',
545     },
546
547     'Digest' => {
548         'MAINTAINER'   => 'gaas',
549         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
550         'FILES'        => q[cpan/Digest],
551         'EXCLUDED'     => ['digest-bench'],
552         'UPSTREAM'     => "cpan",
553     },
554
555     'Digest::MD5' => {
556         'MAINTAINER'   => 'gaas',
557         'DISTRIBUTION' => 'GAAS/Digest-MD5-2.53.tar.gz',
558         'FILES'        => q[cpan/Digest-MD5],
559         'EXCLUDED'     => ['rfc1321.txt'],
560         'UPSTREAM'     => "cpan",
561     },
562
563     'Digest::SHA' => {
564         'MAINTAINER'   => 'mshelor',
565         'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.85.tar.gz',
566         'FILES'        => q[cpan/Digest-SHA],
567         'EXCLUDED'     => [
568             qw( t/pod.t
569                 t/podcover.t
570                 examples/dups
571                 ),
572         ],
573         'UPSTREAM' => 'cpan',
574     },
575
576     'DirHandle' => {
577         'MAINTAINER' => 'p5p',
578         'FILES'      => q[lib/DirHandle.{pm,t}],
579         'UPSTREAM'   => 'blead',
580     },
581
582     'Dumpvalue' => {
583         'MAINTAINER'   => 'p5p',
584         'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
585         'FILES'        => q[dist/Dumpvalue],
586         'EXCLUDED'     => [qr{^t/release-.*\.t}],
587         'UPSTREAM'     => 'blead',
588     },
589
590     'DynaLoader' => {
591         'MAINTAINER' => 'p5p',
592         'FILES'      => q[ext/DynaLoader],
593         'UPSTREAM'   => 'blead',
594     },
595
596     'Encode' => {
597         'MAINTAINER'   => 'dankogai',
598         'DISTRIBUTION' => 'DANKOGAI/Encode-2.52.tar.gz',
599         'FILES'        => q[cpan/Encode],
600         'UPSTREAM'     => 'cpan',
601     },
602
603     'encoding::warnings' => {
604         'MAINTAINER'   => 'audreyt',
605         'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
606         'FILES'        => q[cpan/encoding-warnings],
607         'EXCLUDED'     => [
608             qr{^inc/Module/},
609             qw(t/0-signature.t),
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.74.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.21.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             qr{^demo/}
834         ],
835         'UPSTREAM' => 'blead',
836     },
837
838     'Filter::Util::Call' => {
839         'MAINTAINER'   => 'pmqs',
840         'DISTRIBUTION' => 'RURBAN/Filter-1.49.tar.gz',
841         'FILES'        => q[cpan/Filter-Util-Call
842                  pod/perlfilter.pod
843                 ],
844         'EXCLUDED' => [
845             qr{^decrypt/},
846             qr{^examples/},
847             qr{^Exec/},
848             qr{^lib/Filter/},
849             qr{^tee/},
850             qw( Call/Makefile.PL
851                 Call/ppport.h
852                 Call/typemap
853                 mytest
854                 t/cpp.t
855                 t/decrypt.t
856                 t/exec.t
857                 t/order.t
858                 t/pod.t
859                 t/sh.t
860                 t/tee.t
861                 t/z_kwalitee.t
862                 t/z_meta.t
863                 t/z_perl_minimum_version.t
864                 t/z_pod-coverage.t
865                 t/z_pod.t
866                 ),
867         ],
868         'MAP' => {
869             'Call/'          => 'cpan/Filter-Util-Call/',
870             'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
871             'perlfilter.pod' => 'pod/perlfilter.pod',
872             ''               => 'cpan/Filter-Util-Call/',
873         },
874         'UPSTREAM' => 'cpan',
875     },
876
877     'FindBin' => {
878         'MAINTAINER' => 'p5p',
879         'FILES'      => q[lib/FindBin.{pm,t}],
880         'UPSTREAM'   => 'blead',
881     },
882
883     'GDBM_File' => {
884         'MAINTAINER' => 'p5p',
885         'FILES'      => q[ext/GDBM_File],
886         'UPSTREAM'   => 'blead',
887     },
888
889     'Fcntl' => {
890         'MAINTAINER' => 'p5p',
891         'FILES'      => q[ext/Fcntl],
892         'UPSTREAM'   => 'blead',
893     },
894
895     'Getopt::Long' => {
896         'MAINTAINER'   => 'jv',
897         'DISTRIBUTION' => 'JV/Getopt-Long-2.41.tar.gz',
898         'FILES'        => q[cpan/Getopt-Long],
899         'EXCLUDED'     => [
900             qr{^examples/},
901             qw( perl-Getopt-Long.spec
902                 lib/newgetopt.pl
903                 t/gol-compat.t
904                 ),
905         ],
906         'UPSTREAM' => 'cpan',
907     },
908
909     'Getopt::Std' => {
910         'MAINTAINER' => 'p5p',
911         'FILES'      => q[lib/Getopt/Std.{pm,t}],
912         'UPSTREAM'   => 'blead',
913     },
914
915     'Hash::Util::FieldHash' => {
916         'MAINTAINER' => 'p5p',
917         'FILES'      => q[ext/Hash-Util-FieldHash],
918         'UPSTREAM'   => 'blead',
919     },
920
921     'Hash::Util' => {
922         'MAINTAINER' => 'p5p',
923         'FILES'      => q[ext/Hash-Util],
924         'UPSTREAM'   => 'blead',
925     },
926
927     'HTTP::Tiny' => {
928         'MAINTAINER'   => 'dagolden',
929         'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.034.tar.gz',
930         'FILES'        => q[cpan/HTTP-Tiny],
931         'EXCLUDED'     => [
932             't/00-report-prereqs.t',
933             't/200_live.t',
934             't/200_live_local_ip.t',
935             't/210_live_ssl.t',
936             qr/^eg/,
937             qr/^xt/
938         ],
939         'UPSTREAM' => 'cpan',
940     },
941
942     'I18N::Collate' => {
943         'MAINTAINER'   => 'p5p',
944         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
945         'FILES'        => q[dist/I18N-Collate],
946         'EXCLUDED'     => [qr{^t/release-.*\.t}],
947         'UPSTREAM'     => 'blead',
948     },
949
950     'I18N::Langinfo' => {
951         'MAINTAINER' => 'p5p',
952         'FILES'      => q[ext/I18N-Langinfo],
953         'UPSTREAM'   => 'blead',
954     },
955
956     'I18N::LangTags' => {
957         'MAINTAINER'   => 'p5p',
958         'FILES'        => q[dist/I18N-LangTags],
959         'UPSTREAM'     => 'blead',
960     },
961
962     'if' => {
963         'MAINTAINER'   => 'ilyaz',
964         'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
965         'FILES'        => q[dist/if],
966         'UPSTREAM'     => 'blead',
967     },
968
969     'IO' => {
970         'MAINTAINER'   => 'p5p',
971         'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
972         'FILES'        => q[dist/IO/],
973         'EXCLUDED'     => ['t/test.pl'],
974         'UPSTREAM'     => 'blead',
975     },
976
977     'IO-Compress' => {
978         'MAINTAINER'   => 'pmqs',
979         'DISTRIBUTION' => 'PMQS/IO-Compress-2.062.tar.gz',
980         'FILES'        => q[cpan/IO-Compress],
981         'EXCLUDED'     => [qr{t/Test/}],
982         'UPSTREAM'     => 'cpan',
983     },
984
985     'IO::Zlib' => {
986         'MAINTAINER'   => 'tomhughes',
987         'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
988         'FILES'        => q[cpan/IO-Zlib],
989         'UPSTREAM'     => undef,
990     },
991
992     'IPC::Cmd' => {
993         'MAINTAINER'   => 'kane',
994         'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.84.tar.gz',
995         'FILES'        => q[cpan/IPC-Cmd],
996         'UPSTREAM'     => 'cpan',
997     },
998
999     'IPC::Open3' => {
1000         'MAINTAINER' => 'p5p',
1001         'FILES'      => q[ext/IPC-Open3],
1002         'UPSTREAM'   => 'blead',
1003     },
1004
1005     'IPC::SysV' => {
1006         'MAINTAINER'   => 'mhx',
1007         'DISTRIBUTION' => 'MHX/IPC-SysV-2.04.tar.gz',
1008         'FILES'        => q[cpan/IPC-SysV],
1009         'EXCLUDED'     => [
1010             qw( const-c.inc
1011                 const-xs.inc
1012                 ),
1013         ],
1014         'UPSTREAM' => 'cpan',
1015     },
1016
1017     'JSON::PP' => {
1018         'MAINTAINER'   => 'makamaka',
1019         'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27202.tar.gz',
1020         'FILES'        => q[cpan/JSON-PP],
1021         'EXCLUDED'     => [
1022             't/900_pod.t',    # Pod testing
1023         ],
1024         'UPSTREAM' => 'cpan',
1025     },
1026
1027     'lib' => {
1028         'MAINTAINER'   => 'smueller',
1029         'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
1030         'FILES'        => q[dist/lib/],
1031         'EXCLUDED'     => [
1032             qw( forPAUSE/lib.pm
1033                 t/00pod.t
1034                 ),
1035         ],
1036         'UPSTREAM' => 'blead',
1037     },
1038
1039     'libnet' => {
1040         'MAINTAINER'   => 'gbarr',
1041         'DISTRIBUTION' => 'SHAY/libnet-1.23.tar.gz',
1042         'FILES'        => q[cpan/libnet],
1043         'EXCLUDED'     => [
1044             qw( Configure
1045                 install-nomake
1046                 ),
1047         ],
1048         # Customized for perl since we cannot use either an auto-generated
1049         # script or the version in the CPAN distro.
1050         'CUSTOMIZED' => ['Makefile.PL'],
1051         'UPSTREAM'   => 'cpan',
1052     },
1053
1054     'Locale-Codes' => {
1055         'MAINTAINER'   => 'sbeck',
1056         'DISTRIBUTION' => 'SBECK/Locale-Codes-3.26.tar.gz',
1057         'FILES'        => q[cpan/Locale-Codes],
1058         'EXCLUDED'     => [
1059             qw( t/pod_coverage.t
1060                 t/pod.t),
1061             qr{^t/runtests},
1062             qr{^t/runtests\.bat},
1063             qr{^internal/},
1064             qr{^examples/},
1065         ],
1066         'UPSTREAM' => 'cpan',
1067     },
1068
1069     'Locale::Maketext' => {
1070         'MAINTAINER'   => 'ferreira',
1071         'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
1072         'FILES'        => q[dist/Locale-Maketext],
1073         'EXCLUDED'     => [
1074             qw(
1075                 perlcriticrc
1076                 t/00_load.t
1077                 t/pod.t
1078                 ),
1079         ],
1080         'UPSTREAM' => 'blead',
1081     },
1082
1083     'Locale::Maketext::Simple' => {
1084         'MAINTAINER'   => 'audreyt',
1085         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
1086         'FILES'        => q[cpan/Locale-Maketext-Simple],
1087         'EXCLUDED'     => [qr{^inc/}],
1088         'UPSTREAM'     => 'cpan',
1089     },
1090
1091     'mad' => {
1092         'MAINTAINER' => 'lwall',
1093         'FILES'      => q[mad],
1094         'UPSTREAM'   => undef,
1095     },
1096
1097     'Math::BigInt' => {
1098         'MAINTAINER'   => 'rafl',
1099         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
1100         'FILES'        => q[dist/Math-BigInt],
1101         'EXCLUDED'     => [
1102             qr{^inc/},
1103             qr{^examples/},
1104             qw( t/00sig.t
1105                 t/01load.t
1106                 t/02pod.t
1107                 t/03podcov.t
1108                 ),
1109         ],
1110         'UPSTREAM' => 'blead',
1111     },
1112
1113     'Math::BigInt::FastCalc' => {
1114         'MAINTAINER'   => 'rafl',
1115         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
1116         'FILES'        => q[dist/Math-BigInt-FastCalc],
1117         'EXCLUDED'     => [
1118             qr{^inc/},
1119             qw( t/00sig.t
1120                 t/01load.t
1121                 t/02pod.t
1122                 t/03podcov.t
1123                 ),
1124
1125             # instead we use the versions of these test
1126             # files that come with Math::BigInt:
1127             qw( t/bigfltpm.inc
1128                 t/bigfltpm.t
1129                 t/bigintpm.inc
1130                 t/bigintpm.t
1131                 t/mbimbf.inc
1132                 t/mbimbf.t
1133                 ),
1134         ],
1135         'UPSTREAM' => 'blead',
1136     },
1137
1138     'Math::BigRat' => {
1139         'MAINTAINER'   => 'rafl',
1140         'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
1141         'FILES'        => q[dist/Math-BigRat],
1142         'EXCLUDED'     => [
1143             qr{^inc/},
1144             qw( t/00sig.t
1145                 t/01load.t
1146                 t/02pod.t
1147                 t/03podcov.t
1148                 ),
1149         ],
1150         'UPSTREAM' => 'blead',
1151     },
1152
1153     'Math::Complex' => {
1154         'MAINTAINER'   => 'zefram',
1155         'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
1156         'FILES'        => q[cpan/Math-Complex],
1157         'EXCLUDED'     => [
1158             qw( t/pod.t
1159                 t/pod-coverage.t
1160                 ),
1161         ],
1162         'UPSTREAM' => 'cpan',
1163     },
1164
1165     'Memoize' => {
1166         'MAINTAINER'   => 'mjd',
1167         'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
1168         'FILES'        => q[cpan/Memoize],
1169         'EXCLUDED'     => ['article.html'],
1170         'UPSTREAM'     => 'cpan',
1171     },
1172
1173     'MIME::Base64' => {
1174         'MAINTAINER'   => 'gaas',
1175         'DISTRIBUTION' => 'GAAS/MIME-Base64-3.14.tar.gz',
1176         'FILES'        => q[cpan/MIME-Base64],
1177         'EXCLUDED'     => ['t/bad-sv.t'],
1178         'UPSTREAM'     => 'cpan',
1179     },
1180
1181     #
1182     # To update Module-Build in blead see
1183     # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
1184     #
1185
1186     'Module::Build' => {
1187         'MAINTAINER'   => 'kwilliams',
1188         'DISTRIBUTION' => 'LEONT/Module-Build-0.4007.tar.gz',
1189         'FILES'        => q[cpan/Module-Build],
1190         'EXCLUDED'     => [
1191             qw( t/par.t
1192                 t/signature.t
1193                 ),
1194             qr{^contrib/},
1195             qr{^inc},
1196         ],
1197         # Generated file, not part of the CPAN distro:
1198         'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
1199         'UPSTREAM'   => 'cpan',
1200     },
1201
1202     'Module::CoreList' => {
1203         'MAINTAINER'   => 'bingos',
1204         'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.97.tar.gz',
1205         'FILES'        => q[dist/Module-CoreList],
1206         'UPSTREAM'     => 'blead',
1207     },
1208
1209     'Module::Load' => {
1210         'MAINTAINER'   => 'kane',
1211         'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
1212         'FILES'        => q[cpan/Module-Load],
1213         'UPSTREAM'     => 'cpan',
1214     },
1215
1216     'Module::Load::Conditional' => {
1217         'MAINTAINER'   => 'kane',
1218         'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.54.tar.gz',
1219         'FILES'        => q[cpan/Module-Load-Conditional],
1220         'UPSTREAM'     => 'cpan',
1221     },
1222
1223     'Module::Loaded' => {
1224         'MAINTAINER'   => 'kane',
1225         'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
1226         'FILES'        => q[cpan/Module-Loaded],
1227         'UPSTREAM'     => 'cpan',
1228     },
1229
1230     'Module::Metadata' => {
1231         'MAINTAINER'   => 'dagolden',
1232         'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000016.tar.gz',
1233         'FILES'        => q[cpan/Module-Metadata],
1234         'EXCLUDED'     => [
1235             qr{^maint},
1236             qr{^xt},
1237         ],
1238         'UPSTREAM' => 'cpan',
1239     },
1240
1241     'mro' => {
1242         'MAINTAINER' => 'p5p',
1243         'FILES'      => q[ext/mro],
1244         'UPSTREAM'   => 'blead',
1245     },
1246
1247     'NDBM_File' => {
1248         'MAINTAINER' => 'p5p',
1249         'FILES'      => q[ext/NDBM_File],
1250         'UPSTREAM'   => 'blead',
1251     },
1252
1253     'Net::Ping' => {
1254         'MAINTAINER'   => 'smpeters',
1255         'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
1256         'FILES'        => q[dist/Net-Ping],
1257         'EXCLUDED'     => [
1258             qr{^.travis.yml},
1259             qr{^README.md},
1260         ],
1261         'UPSTREAM'     => 'blead',
1262     },
1263
1264     'NEXT' => {
1265         'MAINTAINER'   => 'rafl',
1266         'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
1267         'FILES'        => q[cpan/NEXT],
1268         'EXCLUDED'     => [qr{^demo/}],
1269         'UPSTREAM'     => 'cpan',
1270     },
1271
1272     'ODBM_File' => {
1273         'MAINTAINER' => 'p5p',
1274         'FILES'      => q[ext/ODBM_File],
1275         'UPSTREAM'   => 'blead',
1276     },
1277
1278     'Opcode' => {
1279         'MAINTAINER' => 'p5p',
1280         'FILES'      => q[ext/Opcode],
1281         'UPSTREAM'   => 'blead',
1282     },
1283
1284     'overload' => {
1285         'MAINTAINER' => 'p5p',
1286         'FILES'      => q[lib/overload{.pm,.t,64.t}],
1287         'UPSTREAM'   => 'blead',
1288     },
1289
1290     'Package::Constants' => {
1291         'MAINTAINER'   => 'kane',
1292         'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
1293         'FILES'        => q[cpan/Package-Constants],
1294         'UPSTREAM'     => 'cpan',
1295     },
1296
1297     'Params::Check' => {
1298         'MAINTAINER'   => 'kane',
1299         'DISTRIBUTION' => 'BINGOS/Params-Check-0.38.tar.gz',
1300         'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
1301         'FILES'        => q[cpan/Params-Check],
1302         'UPSTREAM'     => 'cpan',
1303     },
1304
1305     'parent' => {
1306         'MAINTAINER'   => 'corion',
1307         'DISTRIBUTION' => 'CORION/parent-0.226.tar.gz',
1308         'FILES'        => q[cpan/parent],
1309         'UPSTREAM'     => undef,
1310     },
1311
1312     'Parse::CPAN::Meta' => {
1313         'MAINTAINER'   => 'dagolden',
1314         'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4405.tar.gz',
1315         'FILES'        => q[cpan/Parse-CPAN-Meta],
1316         'EXCLUDED'     => [
1317             qw(t/00-compile.t),
1318             qw[t/00-report-prereqs.t],
1319             qr{^xt},
1320         ],
1321         'UPSTREAM'     => 'cpan',
1322     },
1323
1324     'PathTools' => {
1325         'MAINTAINER'   => 'kwilliams',
1326         'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
1327         'FILES'        => q[dist/Cwd],
1328         'EXCLUDED'     => [qr{^t/lib/Test/}],
1329         'UPSTREAM'     => "blead",
1330
1331         # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
1332         # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
1333         # that the leafname of some file corresponds with the pathname of the
1334         # directory.
1335     },
1336
1337     'perldtrace' => {
1338         'MAINTAINER' => 'sartak',
1339         'FILES'      => q[pod/perldtrace.pod],
1340         'UPSTREAM'   => 'blead',
1341     },
1342
1343     'perlebcdic' => {
1344         'MAINTAINER' => 'pvhp',
1345         'FILES'      => q[pod/perlebcdic.pod],
1346         'UPSTREAM'   => undef,
1347     },
1348
1349     'PerlIO' => {
1350         'MAINTAINER' => 'p5p',
1351         'FILES'      => q[lib/PerlIO.pm],
1352         'UPSTREAM'   => undef,
1353     },
1354
1355     'PerlIO::encoding' => {
1356         'MAINTAINER' => 'p5p',
1357         'FILES'      => q[ext/PerlIO-encoding],
1358         'UPSTREAM'   => 'blead',
1359     },
1360
1361     'PerlIO::mmap' => {
1362         'MAINTAINER' => 'p5p',
1363         'FILES'      => q[ext/PerlIO-mmap],
1364         'UPSTREAM'   => 'blead',
1365     },
1366
1367     'PerlIO::scalar' => {
1368         'MAINTAINER' => 'p5p',
1369         'FILES'      => q[ext/PerlIO-scalar],
1370         'UPSTREAM'   => 'blead',
1371     },
1372
1373     'PerlIO::via' => {
1374         'MAINTAINER' => 'p5p',
1375         'FILES'      => q[ext/PerlIO-via],
1376         'UPSTREAM'   => 'blead',
1377     },
1378
1379     'PerlIO::via::QuotedPrint' => {
1380         'MAINTAINER'   => 'elizabeth',
1381         'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
1382         'FILES'        => q[cpan/PerlIO-via-QuotedPrint],
1383
1384         # Waiting to be merged upstream: see CPAN RT#54047
1385         'CUSTOMIZED'   => [
1386             qw( t/QuotedPrint.t
1387                 ),
1388         ],
1389
1390         'UPSTREAM'     => undef,
1391     },
1392
1393     'Perl::OSType' => {
1394         'MAINTAINER'   => 'dagolden',
1395         'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.004.tar.gz',
1396         'FILES'        => q[cpan/Perl-OSType],
1397         'EXCLUDED'     => [qr/^xt/, qr{^t/00-}],
1398         'UPSTREAM'     => 'cpan',
1399     },
1400
1401     'perlpacktut' => {
1402         'MAINTAINER' => 'laun',
1403         'FILES'      => q[pod/perlpacktut.pod],
1404         'UPSTREAM'   => undef,
1405     },
1406
1407     'perlpodspec' => {
1408         'MAINTAINER' => 'sburke',
1409         'FILES'      => q[pod/perlpodspec.pod],
1410         'UPSTREAM'   => undef,
1411     },
1412
1413     'perlre' => {
1414         'MAINTAINER' => 'abigail',
1415         'FILES'      => q[pod/perlrecharclass.pod
1416                  pod/perlrebackslash.pod],
1417         'UPSTREAM' => undef,
1418     },
1419
1420     'perlreapi' => {
1421         MAINTAINER => 'avar',
1422         FILES      => q[pod/perlreapi.pod],
1423         'UPSTREAM' => undef,
1424     },
1425
1426     'perlreftut' => {
1427         'MAINTAINER' => 'mjd',
1428         'FILES'      => q[pod/perlreftut.pod],
1429         'UPSTREAM'   => 'blead',
1430     },
1431
1432     'perlthrtut' => {
1433         'MAINTAINER' => 'elizabeth',
1434         'FILES'      => q[pod/perlthrtut.pod],
1435         'UPSTREAM'   => undef,
1436     },
1437
1438     'Pod::Checker' => {
1439         'MAINTAINER' => 'marekr',
1440         'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
1441         'FILES'        => q[cpan/Pod-Checker],
1442         'UPSTREAM'     => 'cpan',
1443     },
1444
1445     'Pod::Escapes' => {
1446         'MAINTAINER'   => 'arandal',
1447         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1448         'FILES'        => q[cpan/Pod-Escapes],
1449         'UPSTREAM'     => undef,
1450     },
1451
1452     'Pod::Functions' => {
1453         'MAINTAINER' => 'p5p',
1454         'FILES'      => q[ext/Pod-Functions],
1455         'UPSTREAM'   => 'blead',
1456     },
1457
1458     'Pod::Html' => {
1459         'MAINTAINER' => 'p5p',
1460         'FILES'      => q[ext/Pod-Html],
1461         'UPSTREAM'   => 'blead',
1462     },
1463
1464     'Pod::Parser' => {
1465         'MAINTAINER' => 'marekr',
1466         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.61.tar.gz',
1467         'FILES'        => q[cpan/Pod-Parser],
1468         'UPSTREAM'     => 'cpan',
1469     },
1470
1471     'Pod::Perldoc' => {
1472         'MAINTAINER'   => 'mallen',
1473         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.20.tar.gz',
1474         'FILES'        => q[cpan/Pod-Perldoc],
1475
1476         # in blead, the perldoc executable is generated by perldoc.PL
1477         # instead
1478         # XXX We can and should fix this, but clean up the DRY-failure in utils
1479         # first
1480         'EXCLUDED' => ['perldoc'],
1481         'UPSTREAM' => 'cpan',
1482     },
1483
1484     'Pod::Simple' => {
1485         'MAINTAINER'   => 'arandal',
1486         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
1487         'FILES'        => q[cpan/Pod-Simple],
1488         'UPSTREAM'     => 'cpan',
1489     },
1490
1491     'Pod::Usage' => {
1492         'MAINTAINER' => 'marekr',
1493         'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.63.tar.gz',
1494         'FILES'        => q[cpan/Pod-Usage],
1495         'UPSTREAM'     => 'cpan',
1496     },
1497
1498     'podlators' => {
1499         'MAINTAINER'   => 'rra',
1500         'DISTRIBUTION' => 'RRA/podlators-2.5.1.tar.gz',
1501         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
1502
1503         # The perl distribution has pod2man.PL and pod2text.PL,  which are
1504         # run to create pod2man and pod2text, while the CPAN distribution
1505         # just has the post-generated pod2man and pod2text files.
1506         # The following entries attempt to codify that odd fact.
1507         'CUSTOMIZED' => [
1508             qw( scripts/pod2man.PL
1509                 scripts/pod2text.PL
1510                 ),
1511
1512             # Waiting to be merged upstream: see CPAN RT#87440
1513             qw( pod/perlpodstyle.pod
1514                 ),
1515         ],
1516         'MAP' => {
1517             ''                 => 'cpan/podlators/',
1518             'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
1519             'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1520
1521             # this file lives outside the cpan/ directory
1522             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1523         },
1524         'UPSTREAM' => 'cpan',
1525     },
1526
1527     'POSIX' => {
1528         'MAINTAINER' => 'p5p',
1529         'FILES'      => q[ext/POSIX],
1530         'UPSTREAM'   => 'blead',
1531     },
1532
1533     're' => {
1534         'MAINTAINER' => 'p5p',
1535         'FILES'      => q[ext/re],
1536         'UPSTREAM'   => 'blead',
1537     },
1538
1539     'Safe' => {
1540         'MAINTAINER'   => 'rgarcia',
1541         'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
1542         'FILES'        => q[dist/Safe],
1543         'UPSTREAM'     => 'blead',
1544     },
1545
1546     'Scalar-List-Utils' => {
1547         'MAINTAINER'   => 'gbarr',
1548         'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.31.tar.gz',
1549         'FILES'    => q[cpan/List-Util],
1550         'EXCLUDED' => [
1551             qr{^inc/Module/},
1552             qr{^inc/Test/},
1553             'mytypemap',
1554         ],
1555         'UPSTREAM' => 'cpan',
1556     },
1557
1558     'SDBM_File' => {
1559         'MAINTAINER' => 'p5p',
1560         'FILES'      => q[ext/SDBM_File],
1561         'UPSTREAM'   => 'blead',
1562     },
1563
1564     'Search::Dict' => {
1565         'MAINTAINER'   => 'p5p',
1566         'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
1567         'FILES'        => q[dist/Search-Dict],
1568         'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
1569         'UPSTREAM'     => 'blead',
1570     },
1571
1572     'SelfLoader' => {
1573         'MAINTAINER'   => 'smueller',
1574         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1575         'FILES'        => q[dist/SelfLoader],
1576         'EXCLUDED'     => ['t/00pod.t'],
1577         'UPSTREAM'     => 'blead',
1578     },
1579
1580     'sigtrap' => {
1581         'MAINTAINER' => 'p5p',
1582         'FILES'      => q[lib/sigtrap.{pm,t}],
1583         'UPSTREAM'   => 'blead',
1584     },
1585
1586     'Socket' => {
1587         'MAINTAINER'   => 'pevans',
1588         'DISTRIBUTION' => 'PEVANS/Socket-2.011.tar.gz',
1589         'FILES'        => q[cpan/Socket],
1590         'UPSTREAM'     => 'cpan',
1591     },
1592
1593     'Storable' => {
1594         'MAINTAINER'   => 'ams',
1595         'DISTRIBUTION' => 'AMS/Storable-2.45.tar.gz',
1596         'FILES'        => q[dist/Storable],
1597         'EXCLUDED'     => [qr{^t/Test/}],
1598         'UPSTREAM'     => 'blead',
1599     },
1600
1601     'Sys::Hostname' => {
1602         'MAINTAINER' => 'p5p',
1603         'FILES'      => q[ext/Sys-Hostname],
1604         'UPSTREAM'   => 'blead',
1605     },
1606
1607     'Sys::Syslog' => {
1608         'MAINTAINER'   => 'saper',
1609         'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.33.tar.gz',
1610         'FILES'        => q[cpan/Sys-Syslog],
1611         'EXCLUDED'     => [
1612             qr{^eg/},
1613             qw( t/data-validation.t
1614                 t/distchk.t
1615                 t/pod.t
1616                 t/podcover.t
1617                 t/podspell.t
1618                 t/portfs.t
1619                 win32/PerlLog.RES
1620                 ),
1621         ],
1622         'UPSTREAM'   => 'cpan',
1623     },
1624
1625     'Term::ANSIColor' => {
1626         'MAINTAINER'   => 'rra',
1627         'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
1628         'FILES'        => q[cpan/Term-ANSIColor],
1629         'EXCLUDED'     => [
1630             qr{^tests/},
1631             qr{^examples/},
1632             qr{^t/data/},
1633             qw( t/aliases-env.t
1634                 t/critic.t
1635                 t/minimum-version.t
1636                 t/pod-spelling.t
1637                 t/pod-coverage.t
1638                 t/pod.t
1639                 t/strict.t
1640                 t/synopsis.t
1641                 ),
1642         ],
1643         'UPSTREAM' => 'cpan',
1644     },
1645
1646     'Term::Cap' => {
1647         'MAINTAINER'   => 'jstowe',
1648         'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1649         'FILES'        => q[cpan/Term-Cap],
1650
1651         # Waiting to be merged upstream: see CPAN RT#73447
1652         'CUSTOMIZED'   => [
1653             qw( Cap.pm
1654                 test.pl
1655                 ),
1656         ],
1657
1658         'UPSTREAM'     => undef,
1659     },
1660
1661     'Term::Complete' => {
1662         'MAINTAINER'   => 'p5p',
1663         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1664         'FILES'        => q[dist/Term-Complete],
1665         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1666         'UPSTREAM'     => 'blead',
1667     },
1668
1669     'Term::ReadLine' => {
1670         'MAINTAINER'   => 'p5p',
1671         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.10.tar.gz',
1672         'FILES'        => q[dist/Term-ReadLine],
1673         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1674         'UPSTREAM'     => 'blead',
1675     },
1676
1677     'Test' => {
1678         'MAINTAINER'   => 'jesse',
1679         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
1680         'FILES'        => q[cpan/Test],
1681         'UPSTREAM'     => 'cpan',
1682     },
1683
1684     'Test::Harness' => {
1685         'MAINTAINER'   => 'andya',
1686         'DISTRIBUTION' => 'OVID/Test-Harness-3.28.tar.gz',
1687         'FILES'        => q[cpan/Test-Harness],
1688         'EXCLUDED'     => [
1689             qr{^examples/},
1690             qr{^inc/},
1691             qr{^t/lib/Test/},
1692             qr{^xt/},
1693             qw( Changes-2.64
1694                 NotBuild.PL
1695                 HACKING.pod
1696                 perlcriticrc
1697                 t/lib/if.pm
1698                 ),
1699         ],
1700
1701         # Waiting to be merged upstream: see CPAN RT#64353
1702         'CUSTOMIZED' => [ 't/source.t' ],
1703
1704         'UPSTREAM'   => 'cpan',
1705     },
1706
1707     'Test::Simple' => {
1708         'MAINTAINER'   => 'mschwern',
1709         'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
1710         'FILES'        => q[cpan/Test-Simple],
1711         'EXCLUDED'     => [
1712             qw( .perlcriticrc
1713                 .perltidyrc
1714                 t/00compile.t
1715                 t/pod.t
1716                 t/pod-coverage.t
1717                 t/Builder/reset_outputs.t
1718                 lib/Test/Builder/IO/Scalar.pm
1719                 ),
1720         ],
1721
1722         # Waiting to be merged upstream: see CPAN RT#79762
1723         'CUSTOMIZED' =>  [ 't/fail-more.t' ],
1724
1725         'UPSTREAM' => 'cpan',
1726     },
1727
1728     'Text::Abbrev' => {
1729         'MAINTAINER'   => 'p5p',
1730         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
1731         'FILES'        => q[dist/Text-Abbrev],
1732         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1733         'UPSTREAM'     => 'blead',
1734     },
1735
1736     'Text::Balanced' => {
1737         'MAINTAINER'   => 'dmanura',
1738         'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1739         'FILES'        => q[cpan/Text-Balanced],
1740         'EXCLUDED'     => [
1741             qw( t/97_meta.t
1742                 t/98_pod.t
1743                 t/99_pmv.t
1744                 ),
1745         ],
1746
1747         # Waiting to be merged upstream: see CPAN RT#87788
1748         'CUSTOMIZED'   => [
1749             qw( t/01_compile.t
1750                 t/02_extbrk.t
1751                 t/03_extcbk.t
1752                 t/04_extdel.t
1753                 t/05_extmul.t
1754                 t/06_extqlk.t
1755                 t/07_exttag.t
1756                 t/08_extvar.t
1757                 t/09_gentag.t
1758                 ),
1759         ],
1760
1761         'UPSTREAM' => 'cpan',
1762     },
1763
1764     'Text::ParseWords' => {
1765         'MAINTAINER'   => 'chorny',
1766         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.29.tar.gz',
1767         'FILES'        => q[cpan/Text-ParseWords],
1768         'EXCLUDED'     => ['t/pod.t'],
1769
1770         # Waiting to be merged upstream: see CPAN RT#50929
1771         'CUSTOMIZED'   => [
1772             qw( t/ParseWords.t
1773                 t/taint.t
1774                 ),
1775         ],
1776
1777         # For the benefit of make_ext.pl, we have to have this accessible:
1778         'MAP' => {
1779             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1780             ''              => 'cpan/Text-ParseWords/',
1781         },
1782         'UPSTREAM' => undef,
1783     },
1784
1785     'Text-Tabs+Wrap' => {
1786         'MAINTAINER'   => 'muir',
1787         'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2013.0523.tar.gz',
1788         'FILES'        => q[cpan/Text-Tabs],
1789         'EXCLUDED'   => [
1790             qr/^lib\.old/,
1791             't/dnsparks.t',    # see af6492bf9e
1792         ],
1793         'MAP'          => {
1794             ''                        => 'cpan/Text-Tabs/',
1795             'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1796             'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
1797         },
1798         'UPSTREAM'   => 'cpan',
1799     },
1800
1801     'Thread::Queue' => {
1802         'MAINTAINER'   => 'jdhedden',
1803         'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
1804         'FILES'        => q[dist/Thread-Queue],
1805         'EXCLUDED'     => [
1806             qr{^examples/},
1807             qw( t/00_load.t
1808                 t/99_pod.t
1809                 t/test.pl
1810                 ),
1811         ],
1812         'UPSTREAM' => 'blead',
1813     },
1814
1815     'Thread::Semaphore' => {
1816         'MAINTAINER'   => 'jdhedden',
1817         'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1818         'FILES'        => q[dist/Thread-Semaphore],
1819         'EXCLUDED'     => [
1820             qw( examples/semaphore.pl
1821                 t/00_load.t
1822                 t/99_pod.t
1823                 t/test.pl
1824                 ),
1825         ],
1826         'UPSTREAM' => 'blead',
1827     },
1828
1829     'threads' => {
1830         'MAINTAINER'   => 'jdhedden',
1831         'DISTRIBUTION' => 'JDHEDDEN/threads-1.87.tar.gz',
1832         'FILES'        => q[dist/threads],
1833         'EXCLUDED'     => [
1834             qr{^examples/},
1835             qw( t/pod.t
1836                 t/test.pl
1837                 threads.h
1838                 ),
1839         ],
1840         'UPSTREAM' => 'blead',
1841     },
1842
1843     'threads::shared' => {
1844         'MAINTAINER'   => 'jdhedden',
1845         'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
1846         'FILES'        => q[dist/threads-shared],
1847         'EXCLUDED'     => [
1848             qw( examples/class.pl
1849                 shared.h
1850                 t/pod.t
1851                 t/test.pl
1852                 ),
1853         ],
1854         'UPSTREAM' => 'blead',
1855     },
1856
1857     'Tie::File' => {
1858         'MAINTAINER'   => 'mjd',
1859         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1860         'FILES'        => q[dist/Tie-File],
1861         'UPSTREAM'     => 'blead',
1862     },
1863
1864     'Tie::Hash' => {
1865         'MAINTAINER' => 'p5p',
1866         'FILES'      => q[lib/Tie/Hash.{pm,t}],
1867         'UPSTREAM'   => 'blead',
1868     },
1869
1870     'Tie::Hash::NamedCapture' => {
1871         'MAINTAINER' => 'p5p',
1872         'FILES'      => q[ext/Tie-Hash-NamedCapture],
1873         'UPSTREAM'   => 'blead',
1874     },
1875
1876     'Tie::Memoize' => {
1877         'MAINTAINER' => 'p5p',
1878         'FILES'      => q[ext/Tie-Memoize],
1879         'UPSTREAM'   => 'blead',
1880     },
1881
1882     'Tie::RefHash' => {
1883         'MAINTAINER'   => 'nuffin',
1884         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1885         'FILES'        => q[cpan/Tie-RefHash],
1886         'UPSTREAM'     => 'cpan',
1887     },
1888
1889     'Time::HiRes' => {
1890         'MAINTAINER'   => 'zefram',
1891         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
1892         'FILES'        => q[cpan/Time-HiRes],
1893         'UPSTREAM'     => 'cpan',
1894     },
1895
1896     'Time::Local' => {
1897         'MAINTAINER'   => 'drolsky',
1898         'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
1899         'FILES'        => q[cpan/Time-Local],
1900         'EXCLUDED'     => [
1901             qw( t/pod-coverage.t
1902                 t/pod.t
1903                 ),
1904             qr{^t/release-.*\.t},
1905         ],
1906         'UPSTREAM' => 'cpan',
1907     },
1908
1909     'Time::Piece' => {
1910         'MAINTAINER'   => 'msergeant',
1911         'DISTRIBUTION' => 'RJBS/Time-Piece-1.22.tar.gz',
1912         'FILES'        => q[cpan/Time-Piece],
1913         'UPSTREAM'     => undef,
1914     },
1915
1916     'Unicode::Collate' => {
1917         'MAINTAINER'   => 'sadahiro',
1918         'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.98.tar.gz',
1919         'FILES'        => q[cpan/Unicode-Collate],
1920         'EXCLUDED'     => [
1921             qr{N$},
1922             qr{^data/},
1923             qr{^gendata/},
1924             qw( disableXS
1925                 enableXS
1926                 mklocale
1927                 ),
1928         ],
1929         'UPSTREAM' => 'first-come',
1930     },
1931
1932     'Unicode::Normalize' => {
1933         'MAINTAINER'   => 'sadahiro',
1934         'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.16.tar.gz',
1935         'FILES'        => q[cpan/Unicode-Normalize],
1936         'EXCLUDED'     => [
1937             qw( MANIFEST.N
1938                 Normalize.pmN
1939                 disableXS
1940                 enableXS
1941                 ),
1942         ],
1943         'UPSTREAM' => 'first-come',
1944     },
1945
1946     'Unicode::UCD' => {
1947         'MAINTAINER' => 'blead',
1948         'FILES'      => q[lib/Unicode/UCD.{pm,t}],
1949         'UPSTREAM'   => 'blead',
1950     },
1951
1952     'version' => {
1953         'MAINTAINER'   => 'jpeacock',
1954         'DISTRIBUTION' => 'JPEACOCK/version-0.9903.tar.gz',
1955         'FILES'        => q[cpan/version],
1956         'EXCLUDED' => [
1957             qr{^vutil/},
1958             'lib/version/typemap',
1959             't/survey_locales',
1960             'vperl/vpp.pm',
1961         ],
1962
1963         # Waiting to be merged upstream: see CPAN RT#87513
1964         'CUSTOMIZED'   => [
1965             qw( lib/version.pm
1966                 t/01base.t
1967                 t/02derived.t
1968                 t/03require.t
1969                 t/04strict_lax.t
1970                 t/07locale.t
1971                 t/coretests.pm
1972                 ),
1973         ],
1974
1975         'UPSTREAM' => undef,
1976     },
1977
1978     'vms' => {
1979         'MAINTAINER' => 'craig',
1980         'FILES'      => q[vms configure.com README.vms],
1981         'UPSTREAM'   => undef,
1982     },
1983
1984     'VMS::DCLsym' => {
1985         'MAINTAINER' => 'craig',
1986         'FILES'      => q[ext/VMS-DCLsym],
1987         'UPSTREAM'   => undef,
1988     },
1989
1990     'VMS::Filespec' => {
1991         'MAINTAINER' => 'p5p',
1992         'FILES'      => q[ext/VMS-Filespec],
1993         'UPSTREAM'   => undef,
1994     },
1995
1996     'VMS::Stdio' => {
1997         'MAINTAINER' => 'craig',
1998         'FILES'      => q[ext/VMS-Stdio],
1999         'UPSTREAM'   => undef,
2000     },
2001
2002     'warnings' => {
2003         'MAINTAINER' => 'pmqs',
2004         'FILES'      => q[regen/warnings.pl
2005                  lib/warnings.{pm,t}
2006                  lib/warnings
2007                  t/lib/warnings
2008                 ],
2009         'UPSTREAM' => 'blead',
2010     },
2011
2012     'win32' => {
2013         'MAINTAINER' => 'jand',
2014         'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
2015         'UPSTREAM'   => undef,
2016     },
2017
2018     'Win32' => {
2019         'MAINTAINER'   => 'jand',
2020         'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
2021         'FILES'        => q[cpan/Win32],
2022         'UPSTREAM'     => 'cpan',
2023     },
2024
2025     'Win32API::File' => {
2026         'MAINTAINER'   => 'chorny',
2027         'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
2028         'FILES'        => q[cpan/Win32API-File],
2029         'EXCLUDED'     => [
2030             qr{^ex/},
2031             't/pod.t',
2032         ],
2033         'UPSTREAM' => 'cpan',
2034     },
2035
2036     'XS::Typemap' => {
2037         'MAINTAINER' => 'p5p',
2038         'FILES'      => q[ext/XS-Typemap],
2039         'UPSTREAM'   => 'blead',
2040     },
2041
2042     'XSLoader' => {
2043         'MAINTAINER'   => 'saper',
2044         'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
2045         'FILES'        => q[dist/XSLoader],
2046         'EXCLUDED'     => [
2047             qr{^eg/},
2048             qw( t/00-load.t
2049                 t/01-api.t
2050                 t/distchk.t
2051                 t/pod.t
2052                 t/podcover.t
2053                 t/portfs.t
2054                 ),
2055             'XSLoader.pm',    # we use XSLoader_pm.PL
2056         ],
2057         # Revert UPSTREAM to 'blead' after 0.17 is released
2058         'UPSTREAM' => undef,
2059     },
2060
2061     's2p' => {
2062         'MAINTAINER' => 'laun',
2063         'FILES'      => q[x2p/s2p.PL],
2064         'UPSTREAM'   => undef,
2065     },
2066
2067     # this pseudo-module represents all the files under ext/ and lib/
2068     # that aren't otherwise claimed. This means that the following two
2069     # commands will check that every file under ext/ and lib/ is
2070     # accounted for, and that there are no duplicates:
2071     #
2072     #    perl Porting/Maintainers --checkmani lib ext
2073     #    perl Porting/Maintainers --checkmani
2074
2075     '_PERLLIB' => {
2076         'MAINTAINER' => 'p5p',
2077         'FILES'      => q[
2078                 ext/arybase/
2079                 ext/ExtUtils-Miniperl/
2080                 ext/XS-APItest/
2081                 lib/CORE.pod
2082                 lib/Config.t
2083                 lib/Config/Extensions.{pm,t}
2084                 lib/DB.{pm,t}
2085                 lib/ExtUtils/Embed.pm
2086                 lib/ExtUtils/XSSymSet.pm
2087                 lib/ExtUtils/t/Embed.t
2088                 lib/ExtUtils/typemap
2089                 lib/Internals.t
2090                 lib/Net/hostent.{pm,t}
2091                 lib/Net/netent.{pm,t}
2092                 lib/Net/protoent.{pm,t}
2093                 lib/Net/servent.{pm,t}
2094                 lib/Pod/t/InputObjects.t
2095                 lib/Pod/t/Select.t
2096                 lib/Pod/t/Usage.t
2097                 lib/Pod/t/utils.t
2098                 lib/SelectSaver.{pm,t}
2099                 lib/Symbol.{pm,t}
2100                 lib/Thread.{pm,t}
2101                 lib/Tie/Array.pm
2102                 lib/Tie/Array/
2103                 lib/Tie/ExtraHash.t
2104                 lib/Tie/Handle.pm
2105                 lib/Tie/Handle/
2106                 lib/Tie/Scalar.{pm,t}
2107                 lib/Tie/StdHandle.pm
2108                 lib/Tie/SubstrHash.{pm,t}
2109                 lib/Time/gmtime.{pm,t}
2110                 lib/Time/localtime.{pm,t}
2111                 lib/Time/tm.pm
2112                 lib/UNIVERSAL.pm
2113                 lib/Unicode/README
2114                 lib/User/grent.{pm,t}
2115                 lib/User/pwent.{pm,t}
2116                 lib/blib.{pm,t}
2117                 lib/bytes.{pm,t}
2118                 lib/bytes_heavy.pl
2119                 lib/_charnames.pm
2120                 lib/charnames.{pm,t}
2121                 lib/dbm_filter_util.pl
2122                 lib/deprecate.pm
2123                 lib/dumpvar.{pl,t}
2124                 lib/feature.{pm,t}
2125                 lib/feature/
2126                 lib/filetest.{pm,t}
2127                 lib/h2ph.t
2128                 lib/h2xs.t
2129                 lib/integer.{pm,t}
2130                 lib/less.{pm,t}
2131                 lib/locale.{pm,t}
2132                 lib/open.{pm,t}
2133                 lib/overload/numbers.pm
2134                 lib/overloading.{pm,t}
2135                 lib/perl5db.{pl,t}
2136                 lib/perl5db/
2137                 lib/sort.{pm,t}
2138                 lib/strict.{pm,t}
2139                 lib/subs.{pm,t}
2140                 lib/unicore/
2141                 lib/utf8.{pm,t}
2142                 lib/utf8_heavy.pl
2143                 lib/vars{.pm,.t,_carp.t}
2144                 lib/vmsish.{pm,t}
2145                 ],
2146         'UPSTREAM' => 'blead',
2147     },
2148 );
2149
2150 # legacy CPAN flag
2151 for ( values %Modules ) {
2152     $_->{CPAN} = !!$_->{DISTRIBUTION};
2153 }
2154
2155 1;