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