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