This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
1417d87f8f59444dea298b9e44d601ae37f936e1
[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.64.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.16.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' => 'FLORA/File-CheckTree-4.41.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.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.22.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::Escapes' => {
1507         'MAINTAINER'   => 'arandal',
1508         'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1509         'FILES'        => q[cpan/Pod-Escapes],
1510         'UPSTREAM'     => undef,
1511     },
1512
1513     'Pod::Functions' => {
1514         'MAINTAINER' => 'p5p',
1515         'FILES'      => q[ext/Pod-Functions],
1516         'UPSTREAM'   => 'blead',
1517     },
1518
1519     'Pod::Html' => {
1520         'MAINTAINER' => 'p5p',
1521         'FILES'      => q[ext/Pod-Html],
1522         'UPSTREAM'   => 'blead',
1523     },
1524
1525     'Pod::LaTeX' => {
1526         'MAINTAINER'   => 'tjenness',
1527         'DISTRIBUTION' => 'TJENNESS/Pod-LaTeX-0.61.tar.gz',
1528         'FILES'        => q[cpan/Pod-LaTeX],
1529         'EXCLUDED'     => ['t/require.t'],
1530         'UPSTREAM'     => undef,
1531     },
1532
1533     'Pod::Parser' => {
1534         'MAINTAINER' => 'marekr',
1535         'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.51.tar.gz',
1536         'FILES'        => q[cpan/Pod-Parser],
1537         'UPSTREAM'     => 'cpan',
1538     },
1539
1540     'Pod::Perldoc' => {
1541         'MAINTAINER'   => 'mallen',
1542         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.19.tar.gz',
1543         'FILES'        => q[cpan/Pod-Perldoc],
1544
1545         # in blead, the perldoc executable is generated by perldoc.PL
1546         # instead
1547         # XXX We can and should fix this, but clean up the DRY-failure in utils
1548         # first
1549         'EXCLUDED' => ['perldoc'],
1550         'UPSTREAM' => 'cpan',
1551     },
1552
1553     'Pod::Simple' => {
1554         'MAINTAINER'   => 'arandal',
1555         'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.23.tar.gz',
1556         'FILES'        => q[cpan/Pod-Simple],
1557         'UPSTREAM'     => 'cpan',
1558     },
1559
1560     'podlators' => {
1561         'MAINTAINER'   => 'rra',
1562         'DISTRIBUTION' => 'RRA/podlators-2.5.0.tar.gz',
1563         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
1564
1565         # The perl distribution has pod2man.PL and pod2text.PL,  which are
1566         # run to create pod2man and pod2text, while the CPAN distribution
1567         # just has the post-generated pod2man and pod2text files.
1568         # The following entries attempt to codify that odd fact.
1569         'CUSTOMIZED' => [
1570             qw( scripts/pod2man.PL
1571                 scripts/pod2text.PL
1572                 ),
1573         ],
1574         'MAP' => {
1575             ''                 => 'cpan/podlators/',
1576             'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
1577             'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
1578
1579             # this file lives outside the cpan/ directory
1580             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
1581         },
1582         'UPSTREAM' => 'cpan',
1583     },
1584
1585     'POSIX' => {
1586         'MAINTAINER' => 'p5p',
1587         'FILES'      => q[ext/POSIX],
1588         'UPSTREAM'   => 'blead',
1589     },
1590
1591     're' => {
1592         'MAINTAINER' => 'p5p',
1593         'FILES'      => q[ext/re],
1594         'UPSTREAM'   => 'blead',
1595     },
1596
1597     'Safe' => {
1598         'MAINTAINER'   => 'rgarcia',
1599         'DISTRIBUTION' => 'RGARCIA/Safe-2.33.tar.gz',
1600         'FILES'        => q[dist/Safe],
1601         'UPSTREAM'     => 'blead',
1602     },
1603
1604     'Scalar-List-Utils' => {
1605         'MAINTAINER'   => 'gbarr',
1606         'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.27.tar.gz',
1607
1608         # Note that perl uses its own version of Makefile.PL
1609         'FILES'    => q[cpan/List-Util],
1610         'EXCLUDED' => [
1611             qr{^inc/Module/},
1612             qr{^inc/Test/},
1613             'mytypemap',
1614         ],
1615         'UPSTREAM' => 'cpan',
1616     },
1617
1618     'SDBM_File' => {
1619         'MAINTAINER' => 'p5p',
1620         'FILES'      => q[ext/SDBM_File],
1621         'UPSTREAM'   => 'blead',
1622     },
1623
1624     'Search::Dict' => {
1625         'MAINTAINER'   => 'p5p',
1626         'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
1627         'FILES'        => q[dist/Search-Dict],
1628         'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
1629         'UPSTREAM'     => 'blead',
1630     },
1631
1632     'SelfLoader' => {
1633         'MAINTAINER'   => 'smueller',
1634         'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
1635         'FILES'        => q[dist/SelfLoader],
1636         'EXCLUDED'     => ['t/00pod.t'],
1637         'UPSTREAM'     => 'blead',
1638     },
1639
1640     'sigtrap' => {
1641         'MAINTAINER' => 'p5p',
1642         'FILES'      => q[lib/sigtrap.{pm,t}],
1643         'UPSTREAM'   => 'blead',
1644     },
1645
1646     'Socket' => {
1647         'MAINTAINER'   => 'pevans',
1648         'DISTRIBUTION' => 'PEVANS/Socket-2.009.tar.gz',
1649         'FILES'        => q[cpan/Socket],
1650         'UPSTREAM'     => 'cpan',
1651     },
1652
1653     'Storable' => {
1654         'MAINTAINER'   => 'ams',
1655         'DISTRIBUTION' => 'AMS/Storable-2.39.tar.gz',
1656         'FILES'        => q[dist/Storable],
1657         'EXCLUDED'     => [qr{^t/Test/}],
1658         'UPSTREAM'     => 'blead',
1659     },
1660
1661     'Sys::Hostname' => {
1662         'MAINTAINER' => 'p5p',
1663         'FILES'      => q[ext/Sys-Hostname],
1664         'UPSTREAM'   => 'blead',
1665     },
1666
1667     'Sys::Syslog' => {
1668         'MAINTAINER'   => 'saper',
1669         'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.32.tar.gz',
1670         'FILES'        => q[cpan/Sys-Syslog],
1671         'EXCLUDED'     => [
1672             qr{^eg/},
1673             qw( t/data-validation.t
1674                 t/distchk.t
1675                 t/pod.t
1676                 t/podcover.t
1677                 t/podspell.t
1678                 t/portfs.t
1679                 win32/PerlLog.RES
1680                 ),
1681         ],
1682         'UPSTREAM'   => 'cpan',
1683     },
1684
1685     'Term::ANSIColor' => {
1686         'MAINTAINER'   => 'rra',
1687         'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
1688         'FILES'        => q[cpan/Term-ANSIColor],
1689         'EXCLUDED'     => [
1690             qr{^tests/},
1691             qr{^examples/},
1692             qr{^t/data/},
1693             qw( t/aliases-env.t
1694                 t/critic.t
1695                 t/minimum-version.t
1696                 t/pod-spelling.t
1697                 t/pod-coverage.t
1698                 t/pod.t
1699                 t/strict.t
1700                 t/synopsis.t
1701                 ),
1702         ],
1703         'UPSTREAM' => 'cpan',
1704     },
1705
1706     'Term::Cap' => {
1707         'MAINTAINER'   => 'jstowe',
1708         'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
1709         'FILES'        => q[cpan/Term-Cap],
1710         'UPSTREAM'     => undef,
1711     },
1712
1713     'Term::Complete' => {
1714         'MAINTAINER'   => 'p5p',
1715         'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
1716         'FILES'        => q[dist/Term-Complete],
1717         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1718         'UPSTREAM'     => 'blead',
1719     },
1720
1721     'Term::ReadLine' => {
1722         'MAINTAINER'   => 'p5p',
1723         'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.10.tar.gz',
1724         'FILES'        => q[dist/Term-ReadLine],
1725         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1726         'UPSTREAM'     => 'blead',
1727     },
1728
1729     'Term::UI' => {
1730         'MAINTAINER'   => 'kane',
1731         'DISTRIBUTION' => 'BINGOS/Term-UI-0.34.tar.gz',
1732         'FILES'        => q[cpan/Term-UI],
1733         'UPSTREAM'     => 'cpan',
1734     },
1735
1736     'Test' => {
1737         'MAINTAINER'   => 'jesse',
1738         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
1739         'FILES'        => q[cpan/Test],
1740         'UPSTREAM'     => 'cpan',
1741     },
1742
1743     'Test::Harness' => {
1744         'MAINTAINER'   => 'andya',
1745         'DISTRIBUTION' => 'OVID/Test-Harness-3.26.tar.gz',
1746         'FILES'        => q[cpan/Test-Harness],
1747         'EXCLUDED'     => [
1748             qr{^examples/},
1749             qr{^inc/},
1750             qr{^t/lib/Test/},
1751             qr{^xt/},
1752             qw( Changes-2.64
1753                 NotBuild.PL
1754                 HACKING.pod
1755                 perlcriticrc
1756                 t/lib/if.pm
1757                 ),
1758         ],
1759         'CUSTOMIZED' => [ 't/source.t' ],
1760         'UPSTREAM'   => 'cpan',
1761     },
1762
1763     'Test::Simple' => {
1764         'MAINTAINER'   => 'mschwern',
1765         'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
1766         'FILES'        => q[cpan/Test-Simple],
1767         'EXCLUDED'     => [
1768             qw( .perlcriticrc
1769                 .perltidyrc
1770                 t/00compile.t
1771                 t/pod.t
1772                 t/pod-coverage.t
1773                 t/Builder/reset_outputs.t
1774                 lib/Test/Builder/IO/Scalar.pm
1775                 ),
1776         ],
1777         'UPSTREAM' => 'cpan',
1778     },
1779
1780     'Text::Abbrev' => {
1781         'MAINTAINER'   => 'p5p',
1782         'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
1783         'FILES'        => q[dist/Text-Abbrev],
1784         'EXCLUDED'     => [qr{^t/release-.*\.t}],
1785         'UPSTREAM'     => 'blead',
1786     },
1787
1788     'Text::Balanced' => {
1789         'MAINTAINER'   => 'dmanura',
1790         'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
1791         'FILES'        => q[cpan/Text-Balanced],
1792         'EXCLUDED'     => [
1793             qw( t/97_meta.t
1794                 t/98_pod.t
1795                 t/99_pmv.t
1796                 ),
1797         ],
1798         'CUSTOMIZED'   => [
1799             qw( t/01_compile.t
1800                 t/02_extbrk.t
1801                 t/03_extcbk.t
1802                 t/04_extdel.t
1803                 t/05_extmul.t
1804                 t/06_extqlk.t
1805                 t/07_exttag.t
1806                 t/08_extvar.t
1807                 t/09_gentag.t
1808                 ),
1809         ],
1810         'UPSTREAM' => 'cpan',
1811     },
1812
1813     'Text::ParseWords' => {
1814         'MAINTAINER'   => 'chorny',
1815         'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.27.zip',
1816         'FILES'        => q[cpan/Text-ParseWords],
1817         'EXCLUDED'     => ['t/pod.t'],
1818
1819         # For the benefit of make_ext.pl, we have to have this accessible:
1820         'MAP' => {
1821             'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1822             ''              => 'cpan/Text-ParseWords/',
1823         },
1824         'UPSTREAM' => undef,
1825     },
1826
1827     'Text::Soundex' => {
1828         'MAINTAINER'   => 'markm',
1829         'DISTRIBUTION' => 'MARKM/Text-Soundex-3.03.tar.gz',
1830         'FILES'        => q[cpan/Text-Soundex],
1831         'MAP'          => {
1832             '' => 'cpan/Text-Soundex/',
1833
1834             # XXX these two files are clearly related,
1835             # but they appear to have diverged
1836             # considerably over the years
1837             'test.pl' => 'cpan/Text-Soundex/t/Soundex.t',
1838         },
1839         'UPSTREAM' => undef,
1840     },
1841
1842     'Text-Tabs+Wrap' => {
1843         'MAINTAINER'   => 'muir',
1844         'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2012.0818.tar.gz',
1845         'FILES'        => q[cpan/Text-Tabs],
1846         'EXCLUDED'   => [
1847             qr/^lib\.old/,
1848             't/dnsparks.t',    # see af6492bf9e
1849         ],
1850         'MAP'          => {
1851             ''                        => 'cpan/Text-Tabs/',
1852             'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
1853             'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
1854         },
1855         'UPSTREAM'   => 'cpan',
1856     },
1857
1858     'Thread::Queue' => {
1859         'MAINTAINER'   => 'jdhedden',
1860         'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.01.tar.gz',
1861         'FILES'        => q[dist/Thread-Queue],
1862         'EXCLUDED'     => [
1863             qr{^examples/},
1864             qw( t/00_load.t
1865                 t/99_pod.t
1866                 t/test.pl
1867                 ),
1868         ],
1869         'UPSTREAM' => 'blead',
1870     },
1871
1872     'Thread::Semaphore' => {
1873         'MAINTAINER'   => 'jdhedden',
1874         'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
1875         'FILES'        => q[dist/Thread-Semaphore],
1876         'EXCLUDED'     => [
1877             qw( examples/semaphore.pl
1878                 t/00_load.t
1879                 t/99_pod.t
1880                 t/test.pl
1881                 ),
1882         ],
1883         'UPSTREAM' => 'blead',
1884     },
1885
1886     'threads' => {
1887         'MAINTAINER'   => 'jdhedden',
1888         'DISTRIBUTION' => 'JDHEDDEN/threads-1.86.tar.gz',
1889         'FILES'        => q[dist/threads],
1890         'EXCLUDED'     => [
1891             qr{^examples/},
1892             qw( t/pod.t
1893                 t/test.pl
1894                 threads.h
1895                 ),
1896         ],
1897         'UPSTREAM' => 'blead',
1898     },
1899
1900     'threads::shared' => {
1901         'MAINTAINER'   => 'jdhedden',
1902         'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
1903         'FILES'        => q[dist/threads-shared],
1904         'EXCLUDED'     => [
1905             qw( examples/class.pl
1906                 shared.h
1907                 t/pod.t
1908                 t/test.pl
1909                 ),
1910         ],
1911         'UPSTREAM' => 'blead',
1912     },
1913
1914     'Tie::File' => {
1915         'MAINTAINER'   => 'mjd',
1916         'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
1917         'FILES'        => q[dist/Tie-File],
1918         'UPSTREAM'     => 'blead',
1919     },
1920
1921     'Tie::Hash' => {
1922         'MAINTAINER' => 'p5p',
1923         'FILES'      => q[lib/Tie/Hash.{pm,t}],
1924         'UPSTREAM'   => 'blead',
1925     },
1926
1927     'Tie::Hash::NamedCapture' => {
1928         'MAINTAINER' => 'p5p',
1929         'FILES'      => q[ext/Tie-Hash-NamedCapture],
1930         'UPSTREAM'   => 'blead',
1931     },
1932
1933     'Tie::Memoize' => {
1934         'MAINTAINER' => 'p5p',
1935         'FILES'      => q[ext/Tie-Memoize],
1936         'UPSTREAM'   => 'blead',
1937     },
1938
1939     'Tie::RefHash' => {
1940         'MAINTAINER'   => 'nuffin',
1941         'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
1942         'FILES'        => q[cpan/Tie-RefHash],
1943         'UPSTREAM'     => 'cpan',
1944     },
1945
1946     'Time::HiRes' => {
1947         'MAINTAINER'   => 'zefram',
1948         'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
1949         'FILES'        => q[cpan/Time-HiRes],
1950         'UPSTREAM'     => 'cpan',
1951     },
1952
1953     'Time::Local' => {
1954         'MAINTAINER'   => 'drolsky',
1955         'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
1956         'FILES'        => q[cpan/Time-Local],
1957         'EXCLUDED'     => [
1958             qw( t/pod-coverage.t
1959                 t/pod.t
1960                 ),
1961             qr{^t/release-.*\.t},
1962         ],
1963         'UPSTREAM' => 'cpan',
1964     },
1965
1966     'Time::Piece' => {
1967         'MAINTAINER'   => 'msergeant',
1968         'DISTRIBUTION' => 'MSERGEANT/Time-Piece-1.20.tar.gz',
1969         'FILES'        => q[cpan/Time-Piece],
1970         'UPSTREAM'     => undef,
1971     },
1972
1973     'Unicode::Collate' => {
1974         'MAINTAINER'   => 'sadahiro',
1975         'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.97.tar.gz',
1976         'FILES'        => q[cpan/Unicode-Collate],
1977         'EXCLUDED'     => [
1978             qr{N$},
1979             qr{^data/},
1980             qr{^gendata/},
1981             qw( disableXS
1982                 enableXS
1983                 mklocale
1984                 ),
1985         ],
1986         'UPSTREAM' => 'first-come',
1987     },
1988
1989     'Unicode::Normalize' => {
1990         'MAINTAINER'   => 'sadahiro',
1991         'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.16.tar.gz',
1992         'FILES'        => q[cpan/Unicode-Normalize],
1993         'EXCLUDED'     => [
1994             qw( MANIFEST.N
1995                 Normalize.pmN
1996                 disableXS
1997                 enableXS
1998                 ),
1999         ],
2000         'UPSTREAM' => 'first-come',
2001     },
2002
2003     'Unicode::UCD' => {
2004         'MAINTAINER' => 'blead',
2005         'FILES'      => q[lib/Unicode/UCD.{pm,t}],
2006         'UPSTREAM'   => 'blead',
2007     },
2008
2009     'version' => {
2010         'MAINTAINER'   => 'jpeacock',
2011         'DISTRIBUTION' => 'JPEACOCK/version-0.9901.tar.gz',
2012         'FILES'        => q[lib/version.pm lib/version.pod lib/version],
2013         'EXCLUDED' => [
2014             qr{^t/.*\.t$},
2015             qr{^vutil/},
2016             'lib/version/typemap',
2017             't/survey_locales',
2018             'vperl/vpp.pm',
2019         ],
2020         'MAP' => {
2021             'lib/'           => 'lib/',
2022             't/'             => 'lib/version/t/'
2023         },
2024         'UPSTREAM' => undef,
2025     },
2026
2027     'vms' => {
2028         'MAINTAINER' => 'craig',
2029         'FILES'      => q[vms configure.com README.vms],
2030         'UPSTREAM'   => undef,
2031     },
2032
2033     'VMS::DCLsym' => {
2034         'MAINTAINER' => 'craig',
2035         'FILES'      => q[ext/VMS-DCLsym],
2036         'UPSTREAM'   => undef,
2037     },
2038
2039     'VMS::Stdio' => {
2040         'MAINTAINER' => 'craig',
2041         'FILES'      => q[ext/VMS-Stdio],
2042         'UPSTREAM'   => undef,
2043     },
2044
2045     'warnings' => {
2046         'MAINTAINER' => 'pmqs',
2047         'FILES'      => q[regen/warnings.pl
2048                  lib/warnings.{pm,t}
2049                  lib/warnings
2050                  t/lib/warnings
2051                 ],
2052         'UPSTREAM' => 'blead',
2053     },
2054
2055     'win32' => {
2056         'MAINTAINER' => 'jand',
2057         'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
2058         'UPSTREAM'   => undef,
2059     },
2060
2061     'Win32' => {
2062         'MAINTAINER'   => 'jand',
2063         'DISTRIBUTION' => "JDB/Win32-0.45.tar.gz",
2064         'FILES'        => q[cpan/Win32],
2065         'UPSTREAM'     => 'cpan',
2066     },
2067
2068     'Win32API::File' => {
2069         'MAINTAINER'   => 'chorny',
2070         'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
2071         'FILES'        => q[cpan/Win32API-File],
2072         'EXCLUDED'     => [
2073             qr{^ex/},
2074             't/pod.t',
2075         ],
2076         'UPSTREAM' => 'cpan',
2077     },
2078
2079     'XS::Typemap' => {
2080         'MAINTAINER' => 'p5p',
2081         'FILES'      => q[ext/XS-Typemap],
2082         'UPSTREAM'   => 'blead',
2083     },
2084
2085     'XSLoader' => {
2086         'MAINTAINER'   => 'saper',
2087         'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
2088         'FILES'        => q[dist/XSLoader],
2089         'EXCLUDED'     => [
2090             qr{^eg/},
2091             qw( t/pod.t
2092                 t/podcover.t
2093                 t/portfs.t
2094                 ),
2095             'XSLoader.pm',    # we use XSLoader_pm.PL
2096         ],
2097         # Revert UPSTREAM to 'blead' after 0.17 is released
2098         'UPSTREAM' => undef,
2099     },
2100
2101     's2p' => {
2102         'MAINTAINER' => 'laun',
2103         'FILES'      => q[x2p/s2p.PL],
2104         'UPSTREAM'   => undef,
2105     },
2106
2107     # this pseudo-module represents all the files under ext/ and lib/
2108     # that aren't otherwise claimed. This means that the following two
2109     # commands will check that every file under ext/ and lib/ is
2110     # accounted for, and that there are no duplicates:
2111     #
2112     #    perl Porting/Maintainers --checkmani lib ext
2113     #    perl Porting/Maintainers --checkmani
2114
2115     '_PERLLIB' => {
2116         'MAINTAINER' => 'p5p',
2117         'FILES'      => q[
2118                 ext/arybase/
2119                 ext/XS-APItest/
2120                 lib/CORE.pod
2121                 lib/Config.t
2122                 lib/Config/Extensions.{pm,t}
2123                 lib/DB.{pm,t}
2124                 lib/ExtUtils/Embed.pm
2125                 lib/ExtUtils/XSSymSet.pm
2126                 lib/ExtUtils/t/Embed.t
2127                 lib/ExtUtils/typemap
2128                 lib/Internals.t
2129                 lib/Net/hostent.{pm,t}
2130                 lib/Net/netent.{pm,t}
2131                 lib/Net/protoent.{pm,t}
2132                 lib/Net/servent.{pm,t}
2133                 lib/Pod/t/InputObjects.t
2134                 lib/Pod/t/Select.t
2135                 lib/Pod/t/Usage.t
2136                 lib/Pod/t/utils.t
2137                 lib/SelectSaver.{pm,t}
2138                 lib/Symbol.{pm,t}
2139                 lib/Thread.{pm,t}
2140                 lib/Tie/Array.pm
2141                 lib/Tie/Array/
2142                 lib/Tie/ExtraHash.t
2143                 lib/Tie/Handle.pm
2144                 lib/Tie/Handle/
2145                 lib/Tie/Scalar.{pm,t}
2146                 lib/Tie/StdHandle.pm
2147                 lib/Tie/SubstrHash.{pm,t}
2148                 lib/Time/gmtime.{pm,t}
2149                 lib/Time/localtime.{pm,t}
2150                 lib/Time/tm.pm
2151                 lib/UNIVERSAL.pm
2152                 lib/Unicode/README
2153                 lib/User/grent.{pm,t}
2154                 lib/User/pwent.{pm,t}
2155                 lib/blib.{pm,t}
2156                 lib/bytes.{pm,t}
2157                 lib/bytes_heavy.pl
2158                 lib/_charnames.pm
2159                 lib/charnames.{pm,t}
2160                 lib/dbm_filter_util.pl
2161                 lib/deprecate.pm
2162                 lib/dumpvar.{pl,t}
2163                 lib/feature.{pm,t}
2164                 lib/feature/
2165                 lib/filetest.{pm,t}
2166                 lib/h2ph.t
2167                 lib/h2xs.t
2168                 lib/integer.{pm,t}
2169                 lib/less.{pm,t}
2170                 lib/locale.{pm,t}
2171                 lib/open.{pm,t}
2172                 lib/overload/numbers.pm
2173                 lib/overloading.{pm,t}
2174                 lib/perl5db.{pl,t}
2175                 lib/perl5db/
2176                 lib/sort.{pm,t}
2177                 lib/strict.{pm,t}
2178                 lib/subs.{pm,t}
2179                 lib/unicore/
2180                 lib/utf8.{pm,t}
2181                 lib/utf8_heavy.pl
2182                 lib/vars{.pm,.t,_carp.t}
2183                 lib/vmsish.{pm,t}
2184                 ],
2185         'UPSTREAM' => 'blead',
2186     },
2187 );
2188
2189 # legacy CPAN flag
2190 for ( values %Modules ) {
2191     $_->{CPAN} = !!$_->{DISTRIBUTION};
2192 }
2193
2194 1;