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