This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump Cwd, File::Spec version.
[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.25.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.048.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.048.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.9118.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.62.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' => 'DAGOLDEN/CPAN-Meta-2.120351.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.007.tar.gz',
497         'FILES'        => q[cpan/CPAN-Meta-YAML],
498         'EXCLUDED'     => [
499             't/00-compile.t',
500             't/04_scalar.t',    # requires YAML.pm
501             qr{^xt},
502         ],
503         'UPSTREAM' => 'cpan',
504     },
505
506     'Data::Dumper' => {
507         'MAINTAINER' => 'p5p',    # Not gsar. Not ilyam. Not really smueller
508         'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.135_01.tar.gz',
509         'FILES'        => q[dist/Data-Dumper],
510         'UPSTREAM'     => 'blead',
511     },
512
513     'DB_File' => {
514         'MAINTAINER'   => 'pmqs',
515         'DISTRIBUTION' => 'PMQS/DB_File-1.826.tar.gz',
516         'FILES'        => q[cpan/DB_File],
517         'EXCLUDED'     => [
518             qr{^patches/},
519             qw( t/pod.t
520                 fallback.h
521                 fallback.xs
522                 ),
523         ],
524         'UPSTREAM' => 'cpan',
525     },
526
527     'DBM_Filter' => {
528         'MAINTAINER' => 'p5p',
529         'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
530         'UPSTREAM'   => 'blead',
531     },
532
533     'Devel::SelfStubber' => {
534         'MAINTAINER'   => 'p5p',
535         'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
536         'FILES'        => q[dist/Devel-SelfStubber],
537         'EXCLUDED'     => [qr{^t/release-.*\.t}],
538         'UPSTREAM'     => 'blead',
539     },
540
541     'Devel::Peek' => {
542         'MAINTAINER' => 'p5p',
543         'FILES'      => q[ext/Devel-Peek],
544         'UPSTREAM'   => 'blead',
545     },
546
547     'Devel::PPPort' => {
548         'MAINTAINER'   => 'mhx',
549         'DISTRIBUTION' => 'MHX/Devel-PPPort-3.20.tar.gz',
550         'FILES'        => q[cpan/Devel-PPPort],
551         'EXCLUDED' => ['PPPort.pm'],    # we use PPPort_pm.PL instead
552         'UPSTREAM' => 'cpan',
553     },
554
555     'diagnostics' => {
556         'MAINTAINER' => 'p5p',
557         'FILES'      => q[lib/diagnostics.{pm,t}],
558         'UPSTREAM'   => 'blead',
559     },
560
561     'Digest' => {
562         'MAINTAINER'   => 'gaas',
563         'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
564         'FILES'        => q[cpan/Digest],
565         'EXCLUDED'     => ['digest-bench'],
566         'UPSTREAM'     => "cpan",
567     },
568
569     'Digest::MD5' => {
570         'MAINTAINER'   => 'gaas',
571         'DISTRIBUTION' => 'GAAS/Digest-MD5-2.51.tar.gz',
572         'FILES'        => q[cpan/Digest-MD5],
573         'EXCLUDED'     => ['rfc1321.txt'],
574         'UPSTREAM'     => "cpan",
575     },
576
577     'Digest::SHA' => {
578         'MAINTAINER'   => 'mshelor',
579         'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.70.tar.gz',
580         'FILES'        => q[cpan/Digest-SHA],
581         'EXCLUDED'     => [
582             qw( t/pod.t
583                 t/podcover.t
584                 examples/dups
585                 ),
586         ],
587         'UPSTREAM' => 'cpan',
588     },
589
590     'DirHandle' => {
591         'MAINTAINER' => 'p5p',
592         'FILES'      => q[lib/DirHandle.{pm,t}],
593         'UPSTREAM'   => 'blead',
594     },
595
596     'Dumpvalue' => {
597         'MAINTAINER'   => 'p5p',
598         'DISTRIBUTION' => 'FLORA/Dumpvalue-1.16.tar.gz',
599         'FILES'        => q[dist/Dumpvalue],
600         'EXCLUDED'     => [qr{^t/release-.*\.t}],
601         'UPSTREAM'     => 'blead',
602     },
603
604     'DynaLoader' => {
605         'MAINTAINER' => 'p5p',
606         'FILES'      => q[ext/DynaLoader],
607         'UPSTREAM'   => 'blead',
608     },
609
610     'Encode' => {
611         'MAINTAINER'   => 'dankogai',
612         'DISTRIBUTION' => 'DANKOGAI/Encode-2.44.tar.gz',
613         'FILES'        => q[cpan/Encode],
614         'UPSTREAM'     => 'cpan',
615     },
616
617     'encoding::warnings' => {
618         'MAINTAINER'   => 'audreyt',
619         'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
620         'FILES'        => q[cpan/encoding-warnings],
621         'EXCLUDED'     => [
622             qr{^inc/Module/},
623             qw( t/0-signature.t
624                 Makefile.PL
625                 MANIFEST
626                 META.yml
627                 README
628                 SIGNATURE
629                 ),
630         ],
631         'UPSTREAM' => undef,
632     },
633
634     'English' => {
635         'MAINTAINER' => 'p5p',
636         'FILES'      => q[lib/English.{pm,t}],
637         'UPSTREAM'   => 'blead',
638     },
639
640     'Env' => {
641         'MAINTAINER'   => 'p5p',
642         'DISTRIBUTION' => 'FLORA/Env-1.03.tar.gz',
643         'FILES'        => q[dist/Env],
644         'EXCLUDED'     => [qr{^t/release-.*\.t}],
645         'UPSTREAM'     => 'blead',
646     },
647
648     'Errno' => {
649         'MAINTAINER' => 'p5p',
650         'FILES'      => q[ext/Errno],
651         'UPSTREAM'   => 'blead',
652     },
653
654     'Exporter' => {
655         'MAINTAINER'   => 'ferreira',
656         'DISTRIBUTION' => 'TODDR/Exporter-5.66.tar.gz',
657         'FILES'        => q[lib/Exporter.pm
658                             lib/Exporter.t
659                             lib/Exporter/Heavy.pm
660                            ],
661         'EXCLUDED' => [
662             qw( t/pod.t
663                 t/use.t
664                 ),
665         ],
666         'MAP' => {
667             't/'   => 'lib/',
668             'lib/' => 'lib/',
669         },
670         'UPSTREAM' => 'blead',
671     },
672
673     'ExtUtils::CBuilder' => {
674         'MAINTAINER'   => 'dagolden',
675         'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-CBuilder-0.280202.tar.gz',
676         'FILES'        => q[dist/ExtUtils-CBuilder],
677         'EXCLUDED'     => [qr/^xt/],
678         'UPSTREAM'     => 'blead',
679     },
680
681     'ExtUtils::Command' => {
682         'MAINTAINER'   => 'p5p',
683         'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.17.tar.gz',
684         'FILES'        => q[dist/ExtUtils-Command],
685         'EXCLUDED'     => [qr{^t/release-}],
686         'UPSTREAM'     => 'blead',
687     },
688
689     'ExtUtils::Constant' => {
690         'MAINTAINER' => 'nwclark',
691
692         # Nick has confirmed that while we have diverged from CPAN,
693         # this package isn't primarily maintained in core
694         # Another release will happen "Sometime"
695         'DISTRIBUTION' => '',    #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
696         'FILES'    => q[cpan/ExtUtils-Constant],
697         'EXCLUDED' => [
698             qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
699                 examples/perl_keyword.pl
700                 examples/perl_regcomp_posix_keyword.pl
701                 ),
702         ],
703         'UPSTREAM' => undef,
704     },
705
706     'ExtUtils::Install' => {
707         'MAINTAINER'   => 'yves',
708         'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
709         'FILES'        => q[dist/ExtUtils-Install],
710         'EXCLUDED'     => [
711             qw( t/lib/Test/Builder.pm
712                 t/lib/Test/Builder/Module.pm
713                 t/lib/Test/More.pm
714                 t/lib/Test/Simple.pm
715                 t/pod-coverage.t
716                 t/pod.t
717                 ),
718         ],
719         'UPSTREAM' => 'blead',
720     },
721
722     'ExtUtils::MakeMaker' => {
723         'MAINTAINER'   => 'mschwern',
724         'DISTRIBUTION' => 'MSCHWERN/ExtUtils-MakeMaker-6.63_02.tar.gz',
725         'FILES'        => q[cpan/ExtUtils-MakeMaker],
726         'EXCLUDED'     => [
727             qr{^t/lib/Test/},
728             qr{^(bundled|my)/},
729             qr{^t/Liblist_Kid.t},
730             qr{^t/liblist/},
731         ],
732         'UPSTREAM' => 'first-come',
733     },
734
735     'ExtUtils::Manifest' => {
736         'MAINTAINER'   => 'p5p',
737         'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.60.tar.gz',
738         'FILES'        => q[dist/ExtUtils-Manifest],
739         'EXCLUDED'     => [qr(t/release-.*\.t)],
740         'UPSTREAM'     => 'blead',
741     },
742
743     'ExtUtils::ParseXS' => {
744         'MAINTAINER'   => 'smueller',
745         'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.15.tar.gz',
746         'FILES'        => q[dist/ExtUtils-ParseXS],
747         'UPSTREAM'     => 'blead',
748     },
749
750     'perlfaq' => {
751         'MAINTAINER'   => 'perlfaq',
752         'DISTRIBUTION' => 'LLAP/perlfaq-5.0150038.tar.gz',
753         'FILES'        => q[cpan/perlfaq],
754         'EXCLUDED'     => [
755             qw( t/release-pod-syntax.t
756                 t/release-eol.t
757                 t/release-no-tabs.t
758                 )
759         ],
760         'UPSTREAM' => 'cpan',
761     },
762
763     'File::Basename' => {
764         'MAINTAINER' => 'p5p',
765         'FILES'      => q[lib/File/Basename.{pm,t}],
766         'UPSTREAM'   => 'blead',
767     },
768
769     'File::Compare' => {
770         'MAINTAINER' => 'p5p',
771         'FILES'      => q[lib/File/Compare.{pm,t}],
772         'UPSTREAM'   => 'blead',
773     },
774
775     'File::Copy' => {
776         'MAINTAINER' => 'p5p',
777         'FILES'      => q[lib/File/Copy.{pm,t}],
778         'UPSTREAM'   => 'blead',
779     },
780
781     'File::CheckTree' => {
782         'MAINTAINER'   => 'p5p',
783         'DISTRIBUTION' => 'FLORA/File-CheckTree-4.41.tar.gz',
784         'FILES'        => q[dist/File-CheckTree],
785         'EXCLUDED'     => [qr{^t/release-.*\.t}],
786         'UPSTREAM'     => 'blead',
787     },
788
789     'File::DosGlob' => {
790         'MAINTAINER' => 'p5p',
791         'FILES'      => q[lib/File/DosGlob.{pm,t}],
792         'UPSTREAM'   => 'blead',
793     },
794
795     'File::Fetch' => {
796         'MAINTAINER'   => 'kane',
797         'DISTRIBUTION' => 'BINGOS/File-Fetch-0.32.tar.gz',
798         'FILES'        => q[cpan/File-Fetch],
799         'UPSTREAM'     => 'cpan',
800     },
801
802     'File::Find' => {
803         'MAINTAINER' => 'p5p',
804         'FILES'      => q[lib/File/Find.pm lib/File/Find],
805         'UPSTREAM'   => 'blead',
806     },
807
808     'File::Glob' => {
809         'MAINTAINER' => 'p5p',
810         'FILES'      => q[ext/File-Glob],
811         'UPSTREAM'   => 'blead',
812     },
813
814     'File::Path' => {
815         'MAINTAINER'   => 'dland',
816         'DISTRIBUTION' => 'DLAND/File-Path-2.08.tar.gz',
817         'FILES'        => q[cpan/File-Path],
818         'EXCLUDED'     => [
819             qw( eg/setup-extra-tests
820                 t/pod.t
821                 )
822         ],
823         'MAP' => {
824             ''   => 'cpan/File-Path/lib/File/',
825             't/' => 'cpan/File-Path/t/',
826         },
827         'UPSTREAM' => undef,
828     },
829
830     'File::stat' => {
831         'MAINTAINER' => 'p5p',
832         'FILES'      => q[lib/File/stat.{pm,t}],
833         'UPSTREAM'   => 'blead',
834     },
835
836     'File::Temp' => {
837         'MAINTAINER'   => 'tjenness',
838         'DISTRIBUTION' => 'TJENNESS/File-Temp-0.22.tar.gz',
839         'FILES'        => q[cpan/File-Temp],
840         'EXCLUDED'     => [
841             qw( misc/benchmark.pl
842                 misc/results.txt
843                 ),
844         ],
845         'UPSTREAM' => undef,
846     },
847
848     'FileCache' => {
849         'MAINTAINER' => 'p5p',
850         'FILES'      => q[ext/FileCache],
851         'UPSTREAM'   => 'blead',
852     },
853
854     'FileHandle' => {
855         'MAINTAINER' => 'p5p',
856         'FILES'      => q[lib/FileHandle.{pm,t}],
857         'UPSTREAM'   => 'blead',
858     },
859
860     'Filter::Simple' => {
861         'MAINTAINER'   => 'smueller',
862         'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
863         'FILES'        => q[dist/Filter-Simple],
864         'EXCLUDED'     => [
865             'Makefile.PL',
866             qr{^demo/}
867         ],
868         'UPSTREAM' => 'blead',
869     },
870
871     'Filter::Util::Call' => {
872         'MAINTAINER'   => 'pmqs',
873         'DISTRIBUTION' => 'PMQS/Filter-1.39.tar.gz',
874         'FILES'        => q[cpan/Filter-Util-Call
875                  pod/perlfilter.pod
876                 ],
877         'EXCLUDED' => [
878             qr{^decrypt/},
879             qr{^examples/},
880             qr{^Exec/},
881             qr{^lib/Filter/},
882             qr{^tee/},
883             qw( Call/Makefile.PL
884                 Call/ppport.h
885                 Call/typemap
886                 mytest
887                 t/cpp.t
888                 t/decrypt.t
889                 t/exec.t
890                 t/order.t
891                 t/pod.t
892                 t/sh.t
893                 t/tee.t
894                 ),
895         ],
896         'MAP' => {
897             'Call/'          => 'cpan/Filter-Util-Call/',
898             'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
899             'perlfilter.pod' => 'pod/perlfilter.pod',
900             ''               => 'cpan/Filter-Util-Call/',
901         },
902         'UPSTREAM' => undef,
903     },
904
905     'FindBin' => {
906         'MAINTAINER' => 'p5p',
907         'FILES'      => q[lib/FindBin.{pm,t}],
908         'UPSTREAM'   => 'blead',
909     },
910
911     'GDBM_File' => {
912         'MAINTAINER' => 'p5p',
913         'FILES'      => q[ext/GDBM_File],
914         'UPSTREAM'   => 'blead',
915     },
916
917     'Fcntl' => {
918         'MAINTAINER' => 'p5p',
919         'FILES'      => q[ext/Fcntl],
920         'UPSTREAM'   => 'blead',
921     },
922
923     'Getopt::Long' => {
924         'MAINTAINER'   => 'jv',
925         'DISTRIBUTION' => 'JV/Getopt-Long-2.38.tar.gz',
926         'FILES'        => q[cpan/Getopt-Long],
927         'EXCLUDED'     => [
928             qr{^examples/},
929             qw( perl-Getopt-Long.spec
930                 lib/newgetopt.pl
931                 t/gol-compat.t
932                 ),
933         ],
934         'MAP'      => { '' => 'cpan/Getopt-Long/' },
935         'UPSTREAM' => 'cpan',
936     },
937
938     'Getopt::Std' => {
939         'MAINTAINER' => 'p5p',
940         'FILES'      => q[lib/Getopt/Std.{pm,t}],
941         'UPSTREAM'   => 'blead',
942     },
943
944     'Hash::Util::FieldHash' => {
945         'MAINTAINER' => 'p5p',
946         'FILES'      => q[ext/Hash-Util-FieldHash],
947         'UPSTREAM'   => 'blead',
948     },
949
950     'Hash::Util' => {
951         'MAINTAINER' => 'p5p',
952         'FILES'      => q[ext/Hash-Util],
953         'UPSTREAM'   => 'blead',
954     },
955
956     'HTTP::Tiny' => {
957         'MAINTAINER'   => 'dagolden',
958         'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.016.tar.gz',
959         'FILES'        => q[cpan/HTTP-Tiny],
960         'EXCLUDED'     => [
961             't/200_live.t',
962             qr/^eg/,
963             qr/^xt/
964         ],
965         'UPSTREAM' => 'cpan',
966     },
967
968     'I18N::Collate' => {
969         'MAINTAINER'   => 'p5p',
970         'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
971         'FILES'        => q[dist/I18N-Collate],
972         'EXCLUDED'     => [qr{^t/release-.*\.t}],
973         'UPSTREAM'     => 'blead',
974     },
975
976     'I18N::Langinfo' => {
977         'MAINTAINER' => 'p5p',
978         'FILES'      => q[ext/I18N-Langinfo],
979         'UPSTREAM'   => 'blead',
980     },
981
982     # Sean has donated it to us.
983     # Nothing has changed since his last CPAN release.
984     # (not strictly true: there have been some trivial typo fixes; DAPM 6/2009)
985     'I18N::LangTags' => {
986         'MAINTAINER'   => 'p5p',
987         'DISTRIBUTION' => 'SBURKE/I18N-LangTags-0.35.tar.gz',
988         'FILES'        => q[dist/I18N-LangTags],
989         'UPSTREAM'     => 'blead',
990     },
991
992     'if' => {
993         'MAINTAINER'   => 'ilyaz',
994         'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
995         'FILES'        => q[dist/if],
996         'UPSTREAM'     => 'blead',
997     },
998
999     'IO' => {
1000         'MAINTAINER'   => 'p5p',
1001         'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
1002         'FILES'        => q[dist/IO/],
1003         'EXCLUDED'     => ['t/test.pl'],
1004         'UPSTREAM'     => 'blead',
1005     },
1006
1007     'IO-Compress' => {
1008         'MAINTAINER'   => 'pmqs',
1009         'DISTRIBUTION' => 'PMQS/IO-Compress-2.048.tar.gz',
1010         'FILES'        => q[cpan/IO-Compress],
1011         'EXCLUDED'     => [qr{t/Test/}],
1012         'UPSTREAM'     => 'cpan',
1013     },
1014
1015     'IO::Zlib' => {
1016         'MAINTAINER'   => 'tomhughes',
1017         'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
1018         'FILES'        => q[cpan/IO-Zlib],
1019         'UPSTREAM'     => undef,
1020     },
1021
1022     'IPC::Cmd' => {
1023         'MAINTAINER'   => 'kane',
1024         'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.76.tar.gz',
1025         'FILES'        => q[cpan/IPC-Cmd],
1026         'UPSTREAM'     => 'cpan',
1027     },
1028
1029     'IPC::Open3' => {
1030         'MAINTAINER' => 'p5p',
1031         'FILES'      => q[ext/IPC-Open3],
1032         'UPSTREAM'   => 'blead',
1033     },
1034
1035     'IPC::SysV' => {
1036         'MAINTAINER'   => 'mhx',
1037         'DISTRIBUTION' => 'MHX/IPC-SysV-2.03.tar.gz',
1038         'FILES'        => q[cpan/IPC-SysV],
1039         'EXCLUDED'     => [
1040             qw( const-c.inc
1041                 const-xs.inc
1042                 ),
1043         ],
1044         'UPSTREAM' => 'cpan',
1045     },
1046
1047     'JSON::PP' => {
1048         'MAINTAINER'   => 'makamaka',
1049         'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27200.tar.gz',
1050         'FILES'        => q[cpan/JSON-PP],
1051         'EXCLUDED'     => [
1052             't/900_pod.t',    # Pod testing
1053         ],
1054         'UPSTREAM' => 'cpan',
1055     },
1056
1057     'lib' => {
1058         'MAINTAINER'   => 'smueller',
1059         'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
1060         'FILES'        => q[dist/lib/],
1061         'EXCLUDED'     => [
1062             qw( forPAUSE/lib.pm
1063                 t/00pod.t
1064                 ),
1065         ],
1066         'UPSTREAM' => 'blead',
1067     },
1068
1069     'libnet' => {
1070         'MAINTAINER'   => 'gbarr',
1071         'DISTRIBUTION' => 'GBARR/libnet-1.22.tar.gz',
1072         'FILES'        => q[cpan/libnet],
1073         'EXCLUDED'     => [
1074             qw( Configure
1075                 install-nomake
1076                 Makefile.PL
1077                 ),
1078         ],
1079         'CUSTOMIZED' => ['Makefile.PL'],
1080         'UPSTREAM'   => undef,
1081     },
1082
1083     'Locale-Codes' => {
1084         'MAINTAINER'   => 'sbeck',
1085         'DISTRIBUTION' => 'SBECK/Locale-Codes-3.20.tar.gz',
1086         'FILES'        => q[cpan/Locale-Codes],
1087         'EXCLUDED'     => [
1088             qw( t/pod_coverage.t
1089                 t/pod.t),
1090             qr{^t/runtests},
1091             qr{^t/runtests\.bat},
1092             qr{^internal/},
1093             qr{^examples/},
1094         ],
1095         'UPSTREAM' => 'cpan',
1096     },
1097
1098     'Locale::Maketext' => {
1099         'MAINTAINER'   => 'ferreira',
1100         'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.22.tar.gz',
1101         'FILES'        => q[dist/Locale-Maketext],
1102         'EXCLUDED'     => [
1103             qw(
1104                 perlcriticrc
1105                 t/00_load.t
1106                 t/pod.t
1107                 ),
1108         ],
1109         'UPSTREAM' => 'blead',
1110     },
1111
1112     'Locale::Maketext::Simple' => {
1113         'MAINTAINER'   => 'audreyt',
1114         'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
1115         'FILES'        => q[cpan/Locale-Maketext-Simple],
1116         'EXCLUDED'     => [qr{^inc/}],
1117         'UPSTREAM'     => 'cpan',
1118     },
1119
1120     'Log::Message' => {
1121         'MAINTAINER'   => 'kane',
1122         'DISTRIBUTION' => 'BINGOS/Log-Message-0.04.tar.gz',
1123         'FILES'        => q[cpan/Log-Message],
1124         'UPSTREAM'     => 'cpan',
1125     },
1126
1127     'Log::Message::Simple' => {
1128         'MAINTAINER'   => 'kane',
1129         'DISTRIBUTION' => 'BINGOS/Log-Message-Simple-0.08.tar.gz',
1130         'FILES'        => q[cpan/Log-Message-Simple],
1131         'UPSTREAM'     => 'cpan',
1132     },
1133
1134     'mad' => {
1135         'MAINTAINER' => 'lwall',
1136         'FILES'      => q[mad],
1137         'UPSTREAM'   => undef,
1138     },
1139
1140     'Math::BigInt' => {
1141         'MAINTAINER'   => 'rafl',
1142         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
1143         'FILES'        => q[dist/Math-BigInt],
1144         'EXCLUDED'     => [
1145             qr{^inc/},
1146             qr{^examples/},
1147             qw( t/00sig.t
1148                 t/01load.t
1149                 t/02pod.t
1150                 t/03podcov.t
1151                 ),
1152         ],
1153         'UPSTREAM' => 'blead',
1154     },
1155
1156     'Math::BigInt::FastCalc' => {
1157         'MAINTAINER'   => 'rafl',
1158         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
1159         'FILES'        => q[dist/Math-BigInt-FastCalc],
1160         'EXCLUDED'     => [
1161             qr{^inc/},
1162             qw( t/00sig.t
1163                 t/01load.t
1164                 t/02pod.t
1165                 t/03podcov.t
1166                 ),
1167
1168             # instead we use the versions of these test
1169             # files that come with Math::BigInt:
1170             qw( t/bigfltpm.inc
1171                 t/bigfltpm.t
1172                 t/bigintpm.inc
1173                 t/bigintpm.t
1174                 t/mbimbf.inc
1175                 t/mbimbf.t
1176                 ),
1177         ],
1178         'UPSTREAM' => 'blead',
1179     },
1180
1181     'Math::BigRat' => {
1182         'MAINTAINER'   => 'rafl',
1183         'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
1184         'FILES'        => q[dist/Math-BigRat],
1185         'EXCLUDED'     => [
1186             qr{^inc/},
1187             qw( t/00sig.t
1188                 t/01load.t
1189                 t/02pod.t
1190                 t/03podcov.t
1191                 ),
1192         ],
1193         'UPSTREAM' => 'blead',
1194     },
1195
1196     'Math::Complex' => {
1197         'MAINTAINER'   => 'zefram',
1198         'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
1199         'FILES'        => q[cpan/Math-Complex],
1200         'EXCLUDED'     => [
1201             qw( t/pod.t
1202                 t/pod-coverage.t
1203                 ),
1204         ],
1205         'UPSTREAM' => 'cpan',
1206     },
1207
1208     'Memoize' => {
1209         'MAINTAINER'   => 'mjd',
1210         'DISTRIBUTION' => 'FLORA/Memoize-1.02.tar.gz',
1211         'FILES'        => q[cpan/Memoize],
1212         'EXCLUDED'     => ['article.html'],
1213         'UPSTREAM'     => 'cpan',
1214     },
1215
1216     'MIME::Base64' => {
1217         'MAINTAINER'   => 'gaas',
1218         'DISTRIBUTION' => 'GAAS/MIME-Base64-3.13.tar.gz',
1219         'FILES'        => q[cpan/MIME-Base64],
1220         'EXCLUDED'     => ['t/bad-sv.t'],
1221         'UPSTREAM'     => 'cpan',
1222     },
1223
1224     #
1225     # To update Module-Build in blead see
1226     # http://github.com/dagolden/module-build/blob/master/devtools/patching_blead.pod
1227     #
1228
1229     'Module::Build' => {
1230         'MAINTAINER'   => 'kwilliams',
1231         'DISTRIBUTION' => 'DAGOLDEN/Module-Build-0.39_01.tar.gz',
1232         'FILES'        => q[cpan/Module-Build],
1233         'EXCLUDED'     => [
1234             qw( t/par.t
1235                 t/signature.t
1236                 ),
1237             qr{^contrib/},
1238             qr{^devtools},
1239             qr{^inc},
1240         ],
1241         'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
1242         'UPSTREAM'   => 'cpan',
1243     },
1244
1245     'Module::CoreList' => {
1246         'MAINTAINER'   => 'bingos',
1247         'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.60.tar.gz',
1248         'FILES'        => q[dist/Module-CoreList],
1249         'UPSTREAM'     => 'blead',
1250     },
1251
1252     'Module::Load' => {
1253         'MAINTAINER'   => 'kane',
1254         'DISTRIBUTION' => 'BINGOS/Module-Load-0.22.tar.gz',
1255         'FILES'        => q[cpan/Module-Load],
1256         'UPSTREAM'     => 'cpan',
1257     },
1258
1259     'Module::Load::Conditional' => {
1260         'MAINTAINER'   => 'kane',
1261         'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.46.tar.gz',
1262         'FILES'        => q[cpan/Module-Load-Conditional],
1263         'UPSTREAM'     => 'cpan',
1264     },
1265
1266     'Module::Loaded' => {
1267         'MAINTAINER'   => 'kane',
1268         'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
1269         'FILES'        => q[cpan/Module-Loaded],
1270         'UPSTREAM'     => 'cpan',
1271     },
1272
1273     'Module::Metadata' => {
1274         'MAINTAINER'   => 'dagolden',
1275         'DISTRIBUTION' => 'DAGOLDEN/Module-Metadata-1.000009.tar.gz',
1276         'FILES'        => q[cpan/Module-Metadata],
1277         'EXCLUDED'     => [
1278             qr{^maint},
1279             qr{^xt},
1280         ],
1281         'UPSTREAM' => 'cpan',
1282     },
1283
1284     'Module::Pluggable' => {
1285         'MAINTAINER'   => 'simonw',
1286         'DISTRIBUTION' => 'SIMONW/Module-Pluggable-4.0.tar.gz',
1287         'FILES'        => q[cpan/Module-Pluggable],
1288         'UPSTREAM'     => 'cpan',
1289         'CUSTOMIZED'   => ['Makefile.PL'],
1290     },
1291
1292     'mro' => {
1293         'MAINTAINER' => 'p5p',
1294         'FILES'      => q[ext/mro],
1295         'UPSTREAM'   => 'blead',
1296     },
1297
1298     'NDBM_File' => {
1299         'MAINTAINER' => 'p5p',
1300         'FILES'      => q[ext/NDBM_File],
1301         'UPSTREAM'   => 'blead',
1302     },
1303
1304     'Net::Ping' => {
1305         'MAINTAINER'   => 'smpeters',
1306         'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.36.tar.gz',
1307         'FILES'        => q[dist/Net-Ping],
1308         'UPSTREAM'     => 'blead',
1309     },
1310
1311     'NEXT' => {
1312         'MAINTAINER'   => 'rafl',
1313         'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
1314         'FILES'        => q[cpan/NEXT],
1315         'EXCLUDED'     => [qr{^demo/}],
1316         'UPSTREAM'     => 'cpan',
1317     },
1318
1319     'Object::Accessor' => {
1320         'MAINTAINER'   => 'kane',
1321         'DISTRIBUTION' => 'BINGOS/Object-Accessor-0.42.tar.gz',
1322         'FILES'        => q[cpan/Object-Accessor],
1323         'UPSTREAM'     => 'cpan',
1324     },
1325
1326     'ODBM_File' => {
1327         'MAINTAINER' => 'p5p',
1328         'FILES'      => q[ext/ODBM_File],
1329         'UPSTREAM'   => 'blead',
1330     },
1331
1332     'Opcode' => {
1333         'MAINTAINER' => 'p5p',
1334         'FILES'      => q[ext/Opcode],
1335         'UPSTREAM'   => 'blead',
1336     },
1337
1338     'overload' => {
1339         'MAINTAINER' => 'p5p',
1340         'FILES'      => q[lib/overload{.pm,.t,64.t}],
1341         'UPSTREAM'   => 'blead',
1342     },
1343
1344     'Package::Constants' => {
1345         'MAINTAINER'   => 'kane',
1346         'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
1347         'FILES'        => q[cpan/Package-Constants],
1348         'UPSTREAM'     => 'cpan',
1349     },
1350
1351     'Params::Check' => {
1352         'MAINTAINER'   => 'kane',
1353         'DISTRIBUTION' => 'BINGOS/Params-Check-0.32.tar.gz',
1354         'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
1355         'FILES'        => q[cpan/Params-Check],
1356         'UPSTREAM'     => 'cpan',
1357     },
1358
1359     'parent' => {
1360         'MAINTAINER'   => 'corion',
1361         'DISTRIBUTION' => 'CORION/parent-0.225.tar.gz',
1362         'FILES'        => q[cpan/parent],
1363         'UPSTREAM'     => undef,
1364     },
1365
1366     'Parse::CPAN::Meta' => {
1367         'MAINTAINER'   => 'dagolden',
1368         'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4402.tar.gz',
1369         'FILES'        => q[cpan/Parse-CPAN-Meta],
1370         'EXCLUDED'     => [],
1371         'UPSTREAM'     => 'cpan',
1372     },
1373
1374     'PathTools' => {
1375         'MAINTAINER'   => 'kwilliams',
1376         'DISTRIBUTION' => 'SMUELLER/PathTools-3.33.tar.gz',
1377         'FILES'        => q[dist/Cwd],
1378         'EXCLUDED'     => [qr{^t/lib/Test/}],
1379         'UPSTREAM'     => "blead",
1380
1381         # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
1382         # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
1383         # that the leafname of some file corresponds with the pathname of the
1384         # directory.
1385     },
1386
1387     'perldtrace' => {
1388         'MAINTAINER' => 'sartak',
1389         'FILES'      => q[pod/perldtrace.pod],
1390         'UPSTREAM'   => 'blead',
1391     },
1392
1393     'perlebcdic' => {
1394         'MAINTAINER' => 'pvhp',
1395         'FILES'      => q[pod/perlebcdic.pod],
1396         'UPSTREAM'   => undef,
1397     },
1398
1399     'PerlIO' => {
1400         'MAINTAINER' => 'p5p',
1401         'FILES'      => q[lib/PerlIO.pm],
1402         'UPSTREAM'   => undef,
1403     },
1404
1405     'PerlIO::encoding' => {
1406         'MAINTAINER' => 'p5p',
1407         'FILES'      => q[ext/PerlIO-encoding],
1408         'UPSTREAM'   => 'blead',
1409     },
1410
1411     'PerlIO::mmap' => {
1412         'MAINTAINER' => 'p5p',
1413         'FILES'      => q[ext/PerlIO-mmap],
1414         'UPSTREAM'   => 'blead',
1415     },
1416
1417     'PerlIO::scalar' => {
1418         'MAINTAINER' => 'p5p',
1419         'FILES'      => q[ext/PerlIO-scalar],
1420         'UPSTREAM'   => 'blead',
1421     },
1422
1423     'PerlIO::via' => {
1424         'MAINTAINER' => 'p5p',
1425         'FILES'      => q[ext/PerlIO-via],
1426         'UPSTREAM'   => 'blead',
1427     },
1428
1429     'PerlIO::via::QuotedPrint' => {
1430         'MAINTAINER'   => 'elizabeth',
1431         'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.06.tar.gz',
1432         'FILES'        => q[cpan/PerlIO-via-QuotedPrint],
1433         'UPSTREAM'     => undef,
1434     },
1435
1436     'Perl::OSType' => {
1437         'MAINTAINER'   => 'dagolden',
1438         'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.002.tar.gz',
1439         'FILES'        => q[cpan/Perl-OSType],
1440         'EXCLUDED'     => [qr/^xt/],
1441         'UPSTREAM'     => 'cpan',
1442     },
1443
1444     'perlpacktut' => {
1445         'MAINTAINER' => 'laun',
1446         'FILES'      => q[pod/perlpacktut.pod],
1447         'UPSTREAM'   => undef,
1448     },
1449
1450     'perlpodspec' => {
1451         'MAINTAINER' => 'sburke',
1452         'FILES'      => q[pod/perlpodspec.pod],
1453         'UPSTREAM'   => undef,
1454     },
1455
1456     'perlre' => {
1457         'MAINTAINER' => 'abigail',
1458         'FILES'      => q[pod/perlrecharclass.pod
1459                  pod/perlrebackslash.pod],
1460         'UPSTREAM' => undef,
1461     },
1462
1463     'perlreapi' => {
1464         MAINTAINER => 'avar',
1465         FILES      => q[pod/perlreapi.pod],
1466         'UPSTREAM' => undef,
1467     },
1468
1469     'perlreftut' => {
1470         'MAINTAINER' => 'mjd',
1471         'FILES'      => q[pod/perlreftut.pod],
1472         'UPSTREAM'   => 'blead',
1473     },
1474
1475     'perlthrtut' => {
1476         'MAINTAINER' => 'elizabeth',
1477         'FILES'      => q[pod/perlthrtut.pod],
1478         'UPSTREAM'   => undef,
1479     },
1480
1481     'Pod::Escapes' => {
1482         'MAINTAINER'   => 'arandal',
1483         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1484         'FILES'        => q[cpan/Pod-Escapes],
1485         'UPSTREAM'     => undef,
1486     },
1487
1488     'Pod::Html' => {
1489         'MAINTAINER' => 'p5p',
1490         'FILES'      => q[ext/Pod-Html],
1491         'UPSTREAM'   => 'blead',
1492     },
1493
1494     'Pod::LaTeX' => {
1495         'MAINTAINER'   => 'tjenness',
1496         'DISTRIBUTION' => 'TJENNESS/Pod-LaTeX-0.60.tar.gz',
1497         'FILES'        => q[cpan/Pod-LaTeX],
1498         'EXCLUDED'     => ['t/require.t'],
1499         'UPSTREAM'     => undef,
1500     },
1501
1502     'Pod::Parser' => {
1503         'MAINTAINER' => 'marekr',
1504         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.51.tar.gz',
1505         'FILES'        => q[cpan/Pod-Parser],
1506         'UPSTREAM'     => 'cpan',
1507     },
1508
1509     'Pod::Perldoc' => {
1510         'MAINTAINER'   => 'mallen',
1511         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.15_15.tar.gz',
1512         'FILES'        => q[cpan/Pod-Perldoc],
1513
1514         # in blead, the perldoc executable is generated by perldoc.PL
1515         # instead
1516         # XXX We can and should fix this, but clean up the DRY-failure in utils
1517         # first
1518         'EXCLUDED' => ['perldoc'],
1519         'UPSTREAM' => 'cpan',
1520     },
1521
1522     'Pod::Simple' => {
1523         'MAINTAINER'   => 'arandal',
1524         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.19.tar.gz',
1525         'FILES'        => q[cpan/Pod-Simple],
1526         'UPSTREAM'     => 'cpan',
1527     },
1528
1529     'podlators' => {
1530         'MAINTAINER'   => 'rra',
1531         'DISTRIBUTION' => 'RRA/podlators-2.4.0.tar.gz',
1532         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
1533
1534         # The perl distribution has pod2man.PL and pod2text.PL,  which are
1535         # run to create pod2man and pod2text, while the CPAN distribution
1536         # just has the post-generated pod2man and pod2text files.
1537         # The following entries attempt to codify that odd fact.
1538         'CUSTOMIZED' => [
1539             qw( scripts/pod2man.PL
1540                 scripts/pod2text.PL
1541                 pod/perlpodstyle.pod
1542                 ),
1543         ],
1544         'MAP' => {
1545             ''                 => 'cpan/podlators/',
1546             'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
1547             'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1548
1549             # this file lives outside the cpan/ directory
1550             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1551         },
1552         'UPSTREAM' => 'cpan',
1553     },
1554
1555     'POSIX' => {
1556         'MAINTAINER' => 'p5p',
1557         'FILES'      => q[ext/POSIX],
1558         'UPSTREAM'   => 'blead',
1559     },
1560
1561     're' => {
1562         'MAINTAINER' => 'p5p',
1563         'FILES'      => q[ext/re],
1564         'UPSTREAM'   => 'blead',
1565     },
1566
1567     'Safe' => {
1568         'MAINTAINER'   => 'rgarcia',
1569         'DISTRIBUTION' => 'RGARCIA/Safe-2.30.tar.gz',
1570         'FILES'        => q[dist/Safe],
1571         'UPSTREAM'     => 'blead',
1572     },
1573
1574     'Scalar-List-Utils' => {
1575         'MAINTAINER'   => 'gbarr',
1576         'DISTRIBUTION' => 'GBARR/Scalar-List-Utils-1.23.tar.gz',
1577
1578         # Note that perl uses its own version of Makefile.PL
1579         'FILES'    => q[cpan/List-Util],
1580         'EXCLUDED' => [
1581             qr{^inc/Module/},
1582             qr{^inc/Test/},
1583             'mytypemap',
1584         ],
1585         'UPSTREAM' => 'cpan',
1586     },
1587
1588     'SDBM_File' => {
1589         'MAINTAINER' => 'p5p',
1590         'FILES'      => q[ext/SDBM_File],
1591         'UPSTREAM'   => 'blead',
1592     },
1593
1594     'Search::Dict' => {
1595         'MAINTAINER'   => 'p5p',
1596         'DISTRIBUTION' => 'FLORA/Search-Dict-1.03.tar.gz',
1597         'FILES'        => q[dist/Search-Dict],
1598         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1599         'UPSTREAM'     => 'blead',
1600     },
1601
1602     'SelfLoader' => {
1603         'MAINTAINER'   => 'smueller',
1604         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1605         'FILES'        => q[dist/SelfLoader],
1606         'EXCLUDED'     => ['t/00pod.t'],
1607         'UPSTREAM'     => 'blead',
1608     },
1609
1610     'sigtrap' => {
1611         'MAINTAINER' => 'p5p',
1612         'FILES'      => q[lib/sigtrap.{pm,t}],
1613         'UPSTREAM'   => 'blead',
1614     },
1615
1616     'Socket' => {
1617         'MAINTAINER'   => 'pevans',
1618         'DISTRIBUTION' => 'PEVANS/Socket-1.98.tar.gz',
1619         'FILES'        => q[cpan/Socket],
1620         'UPSTREAM'     => 'cpan',
1621     },
1622
1623     'Storable' => {
1624         'MAINTAINER'   => 'ams',
1625         'DISTRIBUTION' => 'AMS/Storable-2.30.tar.gz',
1626         'FILES'        => q[dist/Storable],
1627         'EXCLUDED'     => [qr{^t/Test/}],
1628         'UPSTREAM'     => 'blead',
1629     },
1630
1631     'Sys::Hostname' => {
1632         'MAINTAINER' => 'p5p',
1633         'FILES'      => q[ext/Sys-Hostname],
1634         'UPSTREAM'   => 'blead',
1635     },
1636
1637     'Sys::Syslog' => {
1638         'MAINTAINER'   => 'saper',
1639         'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.29.tar.gz',
1640         'FILES'        => q[cpan/Sys-Syslog],
1641         'EXCLUDED'     => [
1642             qr{^eg/},
1643             qw( t/data-validation.t
1644                 t/distchk.t
1645                 t/pod.t
1646                 t/podcover.t
1647                 t/podspell.t
1648                 t/portfs.t
1649                 win32/PerlLog.RES
1650                 win32/PerlLog_RES.uu
1651                 ),
1652         ],
1653         'UPSTREAM'   => 'cpan',
1654         'CUSTOMIZED' => ['t/syslog.t'],
1655     },
1656
1657     'Term::ANSIColor' => {
1658         'MAINTAINER'   => 'rra',
1659         'DISTRIBUTION' => 'RRA/Term-ANSIColor-3.01.tar.gz',
1660         'FILES'        => q[cpan/Term-ANSIColor],
1661         'EXCLUDED'     => [
1662             qr{^tests/},
1663             qw( t/pod-spelling.t
1664                 t/pod.t
1665                 ),
1666         ],
1667         'UPSTREAM' => 'cpan',
1668     },
1669
1670     'Term::Cap' => {
1671         'MAINTAINER'   => 'jstowe',
1672         'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1673         'FILES'        => q[cpan/Term-Cap],
1674         'UPSTREAM'     => undef,
1675     },
1676
1677     'Term::Complete' => {
1678         'MAINTAINER'   => 'p5p',
1679         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1680         'FILES'        => q[dist/Term-Complete],
1681         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1682         'UPSTREAM'     => 'blead',
1683     },
1684
1685     'Term::ReadLine' => {
1686         'MAINTAINER'   => 'p5p',
1687         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.07.tar.gz',
1688         'FILES'        => q[dist/Term-ReadLine],
1689         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1690         'UPSTREAM'     => 'blead',
1691     },
1692
1693     'Term::UI' => {
1694         'MAINTAINER'   => 'kane',
1695         'DISTRIBUTION' => 'BINGOS/Term-UI-0.30.tar.gz',
1696         'FILES'        => q[cpan/Term-UI],
1697         'UPSTREAM'     => 'cpan',
1698     },
1699
1700     'Test' => {
1701         'MAINTAINER'   => 'jesse',
1702         'DISTRIBUTION' => 'JESSE/Test-1.25_02.tar.gz',
1703         'FILES'        => q[cpan/Test],
1704         'UPSTREAM'     => 'cpan',
1705     },
1706
1707     'Test::Harness' => {
1708         'MAINTAINER'   => 'andya',
1709         'DISTRIBUTION' => 'ANDYA/Test-Harness-3.23.tar.gz',
1710         'FILES'        => q[cpan/Test-Harness],
1711         'EXCLUDED'     => [
1712             qr{^examples/},
1713             qr{^inc/},
1714             qr{^t/lib/Test/},
1715             qr{^xt/},
1716             qw( Changes-2.64
1717                 NotBuild.PL
1718                 HACKING.pod
1719                 perlcriticrc
1720                 t/lib/if.pm
1721                 ),
1722         ],
1723         'UPSTREAM'   => 'cpan',
1724         'CUSTOMIZED' => [
1725             qw( t/source.t
1726                 t/testargs.t
1727                 ),
1728         ],
1729     },
1730
1731     'Test::Simple' => {
1732         'MAINTAINER'   => 'mschwern',
1733         'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
1734         'FILES'        => q[cpan/Test-Simple],
1735         'EXCLUDED'     => [
1736             qw( .perlcriticrc
1737                 .perltidyrc
1738                 t/00compile.t
1739                 t/pod.t
1740                 t/pod-coverage.t
1741                 t/Builder/reset_outputs.t
1742                 lib/Test/Builder/IO/Scalar.pm
1743                 ),
1744         ],
1745         'UPSTREAM' => 'cpan',
1746     },
1747
1748     'Text::Abbrev' => {
1749         'MAINTAINER'   => 'p5p',
1750         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.01.tar.gz',
1751         'FILES'        => q[dist/Text-Abbrev],
1752         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1753         'UPSTREAM'     => 'blead',
1754     },
1755
1756     'Text::Balanced' => {
1757         'MAINTAINER'   => 'dmanura',
1758         'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1759         'FILES'        => q[cpan/Text-Balanced],
1760         'EXCLUDED'     => [
1761             qw( t/97_meta.t
1762                 t/98_pod.t
1763                 t/99_pmv.t
1764                 ),
1765         ],
1766         'UPSTREAM' => 'cpan',
1767     },
1768
1769     'Text::ParseWords' => {
1770         'MAINTAINER'   => 'chorny',
1771         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.27.zip',
1772         'FILES'        => q[cpan/Text-ParseWords],
1773         'EXCLUDED'     => ['t/pod.t'],
1774
1775         # For the benefit of make_ext.pl, we have to have this accessible:
1776         'MAP' => {
1777             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1778             ''              => 'cpan/Text-ParseWords/',
1779         },
1780         'UPSTREAM' => undef,
1781     },
1782
1783     'Text::Soundex' => {
1784         'MAINTAINER'   => 'markm',
1785         'DISTRIBUTION' => 'MARKM/Text-Soundex-3.03.tar.gz',
1786         'FILES'        => q[cpan/Text-Soundex],
1787         'MAP'          => {
1788             '' => 'cpan/Text-Soundex/',
1789
1790             # XXX these two files are clearly related,
1791             # but they appear to have diverged
1792             # considerably over the years
1793             'test.pl' => 'cpan/Text-Soundex/t/Soundex.t',
1794         },
1795         'UPSTREAM' => undef,
1796     },
1797
1798     'Text-Tabs+Wrap' => {
1799         'MAINTAINER'   => 'muir',
1800         'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2009.0305.tar.gz',
1801         'FILES'        => q[cpan/Text-Tabs],
1802         'EXCLUDED'   => ['t/dnsparks.t'],    # see af6492bf9e
1803         'UPSTREAM'   => 'cpan',
1804         'CUSTOMIZED' => [
1805             qw( t/fill.t
1806                 t/tabs.t
1807                 ),
1808         ],
1809     },
1810
1811     'Thread::Queue' => {
1812         'MAINTAINER'   => 'jdhedden',
1813         'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-2.12.tar.gz',
1814         'FILES'        => q[dist/Thread-Queue],
1815         'EXCLUDED'     => [
1816             qw( examples/queue.pl
1817                 t/00_load.t
1818                 t/99_pod.t
1819                 t/test.pl
1820                 ),
1821         ],
1822         'UPSTREAM' => 'blead',
1823     },
1824
1825     'Thread::Semaphore' => {
1826         'MAINTAINER'   => 'jdhedden',
1827         'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1828         'FILES'        => q[dist/Thread-Semaphore],
1829         'EXCLUDED'     => [
1830             qw( examples/semaphore.pl
1831                 t/00_load.t
1832                 t/99_pod.t
1833                 t/test.pl
1834                 ),
1835         ],
1836         'UPSTREAM' => 'blead',
1837     },
1838
1839     'threads' => {
1840         'MAINTAINER'   => 'jdhedden',
1841         'DISTRIBUTION' => 'JDHEDDEN/threads-1.86.tar.gz',
1842         'FILES'        => q[dist/threads],
1843         'EXCLUDED'     => [
1844             qr{^examples/},
1845             qw( t/pod.t
1846                 t/test.pl
1847                 threads.h
1848                 ),
1849         ],
1850         'UPSTREAM' => 'blead',
1851     },
1852
1853     'threads::shared' => {
1854         'MAINTAINER'   => 'jdhedden',
1855         'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.40.tar.gz',
1856         'FILES'        => q[dist/threads-shared],
1857         'EXCLUDED'     => [
1858             qw( examples/class.pl
1859                 shared.h
1860                 t/pod.t
1861                 t/test.pl
1862                 ),
1863         ],
1864         'UPSTREAM' => 'blead',
1865     },
1866
1867     'Tie::File' => {
1868         'MAINTAINER'   => 'mjd',
1869         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1870         'FILES'        => q[dist/Tie-File],
1871         'UPSTREAM'     => 'blead',
1872     },
1873
1874     'Tie::Hash' => {
1875         'MAINTAINER' => 'p5p',
1876         'FILES'      => q[lib/Tie/Hash.{pm,t}],
1877         'UPSTREAM'   => 'blead',
1878     },
1879
1880     'Tie::Hash::NamedCapture' => {
1881         'MAINTAINER' => 'p5p',
1882         'FILES'      => q[ext/Tie-Hash-NamedCapture],
1883         'UPSTREAM'   => 'blead',
1884     },
1885
1886     'Tie::Memoize' => {
1887         'MAINTAINER' => 'p5p',
1888         'FILES'      => q[ext/Tie-Memoize],
1889         'UPSTREAM'   => 'blead',
1890     },
1891
1892     'Tie::RefHash' => {
1893         'MAINTAINER'   => 'nuffin',
1894         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1895         'FILES'        => q[cpan/Tie-RefHash],
1896         'UPSTREAM'     => 'cpan',
1897     },
1898
1899     'Time::HiRes' => {
1900         'MAINTAINER'   => 'zefram',
1901         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
1902         'FILES'        => q[cpan/Time-HiRes],
1903         'UPSTREAM'     => 'cpan',
1904     },
1905
1906     'Time::Local' => {
1907         'MAINTAINER'   => 'drolsky',
1908         'DISTRIBUTION' => 'FLORA/Time-Local-1.2000.tar.gz',
1909         'FILES'        => q[cpan/Time-Local],
1910         'EXCLUDED'     => [
1911             qw( t/pod-coverage.t
1912                 t/pod.t
1913                 ),
1914         ],
1915         'UPSTREAM' => 'cpan',
1916     },
1917
1918     'Time::Piece' => {
1919         'MAINTAINER'   => 'msergeant',
1920         'DISTRIBUTION' => 'MSERGEANT/Time-Piece-1.20.tar.gz',
1921         'FILES'        => q[cpan/Time-Piece],
1922         'UPSTREAM'     => undef,
1923     },
1924
1925     'Unicode::Collate' => {
1926         'MAINTAINER'   => 'sadahiro',
1927         'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.87.tar.gz',
1928         'FILES'        => q[cpan/Unicode-Collate],
1929         'EXCLUDED'     => [
1930             qr{N$},
1931             qr{^data/},
1932             qr{^gendata/},
1933             qw( disableXS
1934                 enableXS
1935                 mklocale
1936                 ),
1937         ],
1938         'UPSTREAM' => 'first-come',
1939     },
1940
1941     'Unicode::Normalize' => {
1942         'MAINTAINER'   => 'sadahiro',
1943         'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.13.tar.gz',
1944         'FILES'        => q[cpan/Unicode-Normalize],
1945         'EXCLUDED'     => [
1946             qw( MANIFEST.N
1947                 Normalize.pmN
1948                 disableXS
1949                 enableXS
1950                 ),
1951         ],
1952         'UPSTREAM' => 'first-come',
1953     },
1954
1955     'Unicode::UCD' => {
1956         'MAINTAINER' => 'blead',
1957         'FILES'      => q[lib/Unicode/UCD.{pm,t}],
1958         'UPSTREAM'   => 'blead',
1959     },
1960
1961     'Version::Requirements' => {
1962         'MAINTAINER'   => 'rjbs',
1963         'DISTRIBUTION' => 'RJBS/Version-Requirements-0.101022.tar.gz',
1964         'FILES'        => q[cpan/Version-Requirements],
1965         'EXCLUDED'     => ['t/release-pod-syntax.t'],
1966         'UPSTREAM'     => 'cpan',
1967     },
1968
1969     'version' => {
1970         'MAINTAINER'   => 'jpeacock',
1971         'DISTRIBUTION' => 'JPEACOCK/version-0.93.tar.gz',
1972         'FILES'        => q[lib/version.pm lib/version.pod lib/version],
1973         'EXCLUDED' => [
1974             qr{^t/.*\.t$},
1975             qr{^vutil/},
1976             'lib/version/typemap',
1977             't/survey_locales',
1978             'vperl/vpp.pm',
1979         ],
1980         'MAP' => {
1981             'lib/'           => 'lib/',
1982             't/'             => 'lib/version/t/'
1983         },
1984         'UPSTREAM' => undef,
1985     },
1986
1987     'vms' => {
1988         'MAINTAINER' => 'craig',
1989         'FILES'      => q[vms configure.com README.vms],
1990         'UPSTREAM'   => undef,
1991     },
1992
1993     'VMS::DCLsym' => {
1994         'MAINTAINER' => 'craig',
1995         'FILES'      => q[ext/VMS-DCLsym],
1996         'UPSTREAM'   => undef,
1997     },
1998
1999     'VMS::Stdio' => {
2000         'MAINTAINER' => 'craig',
2001         'FILES'      => q[ext/VMS-Stdio],
2002         'UPSTREAM'   => undef,
2003     },
2004
2005     'warnings' => {
2006         'MAINTAINER' => 'pmqs',
2007         'FILES'      => q[regen/warnings.pl
2008                  lib/warnings.{pm,t}
2009                  lib/warnings
2010                  t/lib/warnings
2011                 ],
2012         'UPSTREAM' => 'blead',
2013     },
2014
2015     'win32' => {
2016         'MAINTAINER' => 'jand',
2017         'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
2018         'UPSTREAM'   => undef,
2019     },
2020
2021     'Win32' => {
2022         'MAINTAINER'   => 'jand',
2023         'DISTRIBUTION' => "JDB/Win32-0.44.tar.gz",
2024         'FILES'        => q[cpan/Win32],
2025         'UPSTREAM'     => 'cpan',
2026     },
2027
2028     'Win32API::File' => {
2029         'MAINTAINER'   => 'chorny',
2030         'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1200.tar.gz',
2031         'FILES'        => q[cpan/Win32API-File],
2032         'EXCLUDED'     => [
2033             qr{^ex/},
2034             't/pod.t',
2035         ],
2036         'UPSTREAM' => 'cpan',
2037     },
2038
2039     'XS::Typemap' => {
2040         'MAINTAINER' => 'p5p',
2041         'FILES'      => q[ext/XS-Typemap],
2042         'UPSTREAM'   => 'blead',
2043     },
2044
2045     'XSLoader' => {
2046         'MAINTAINER'   => 'saper',
2047         'DISTRIBUTION' => 'SAPER/XSLoader-0.15.tar.gz',
2048         'FILES'        => q[dist/XSLoader],
2049         'EXCLUDED'     => [
2050             qr{^eg/},
2051             qw( t/pod.t
2052                 t/podcover.t
2053                 t/portfs.t
2054                 ),
2055             'XSLoader.pm',    # we use XSLoader_pm.PL
2056         ],
2057         'UPSTREAM' => 'blead',
2058     },
2059
2060     's2p' => {
2061         'MAINTAINER' => 'laun',
2062         'FILES'      => q[x2p/s2p.PL],
2063         'UPSTREAM'   => undef,
2064     },
2065
2066     # this pseudo-module represents all the files under ext/ and lib/
2067     # that aren't otherwise claimed. This means that the following two
2068     # commands will check that every file under ext/ and lib/ is
2069     # accounted for, and that there are no duplicates:
2070     #
2071     #    perl Porting/Maintainers --checkmani lib ext
2072     #    perl Porting/Maintainers --checkmani
2073
2074     '_PERLLIB' => {
2075         'MAINTAINER' => 'p5p',
2076         'FILES'      => q[
2077                 ext/arybase/
2078                 ext/XS-APItest/
2079                 lib/CORE.pod
2080                 lib/Config.t
2081                 lib/Config/Extensions.{pm,t}
2082                 lib/DB.{pm,t}
2083                 lib/ExtUtils/Embed.pm
2084                 lib/ExtUtils/XSSymSet.pm
2085                 lib/ExtUtils/t/Embed.t
2086                 lib/ExtUtils/typemap
2087                 lib/Internals.t
2088                 lib/Net/hostent.{pm,t}
2089                 lib/Net/netent.{pm,t}
2090                 lib/Net/protoent.{pm,t}
2091                 lib/Net/servent.{pm,t}
2092                 lib/Pod/Functions.pm
2093                 lib/Pod/t/Functions.t
2094                 lib/Pod/t/InputObjects.t
2095                 lib/Pod/t/Select.t
2096                 lib/Pod/t/Usage.t
2097                 lib/Pod/t/utils.t
2098                 lib/SelectSaver.{pm,t}
2099                 lib/Symbol.{pm,t}
2100                 lib/Thread.{pm,t}
2101                 lib/Tie/Array.pm
2102                 lib/Tie/Array/
2103                 lib/Tie/ExtraHash.t
2104                 lib/Tie/Handle.pm
2105                 lib/Tie/Handle/
2106                 lib/Tie/Scalar.{pm,t}
2107                 lib/Tie/StdHandle.pm
2108                 lib/Tie/SubstrHash.{pm,t}
2109                 lib/Time/gmtime.{pm,t}
2110                 lib/Time/localtime.{pm,t}
2111                 lib/Time/tm.pm
2112                 lib/UNIVERSAL.pm
2113                 lib/Unicode/README
2114                 lib/User/grent.{pm,t}
2115                 lib/User/pwent.{pm,t}
2116                 lib/blib.{pm,t}
2117                 lib/bytes.{pm,t}
2118                 lib/bytes_heavy.pl
2119                 lib/_charnames.pm
2120                 lib/charnames.{pm,t}
2121                 lib/dbm_filter_util.pl
2122                 lib/deprecate.pm
2123                 lib/dumpvar.{pl,t}
2124                 lib/feature.{pm,t}
2125                 lib/feature/
2126                 lib/filetest.{pm,t}
2127                 lib/h2ph.t
2128                 lib/h2xs.t
2129                 lib/integer.{pm,t}
2130                 lib/less.{pm,t}
2131                 lib/locale.{pm,t}
2132                 lib/open.{pm,t}
2133                 lib/overload/numbers.pm
2134                 lib/overloading.{pm,t}
2135                 lib/perl5db.{pl,t}
2136                 lib/perl5db/
2137                 lib/sort.{pm,t}
2138                 lib/strict.{pm,t}
2139                 lib/subs.{pm,t}
2140                 lib/unicore/
2141                 lib/utf8.{pm,t}
2142                 lib/utf8_heavy.pl
2143                 lib/vars{.pm,.t,_carp.t}
2144                 lib/vmsish.{pm,t}
2145                 ],
2146         'UPSTREAM' => 'blead',
2147     },
2148 );
2149
2150 # legacy CPAN flag
2151 for ( values %Modules ) {
2152     $_->{CPAN} = !!$_->{DISTRIBUTION};
2153 }
2154
2155 1;