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