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