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