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