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