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