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