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