This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
d40a569f8e2b1d57c04b5ca05a660f8cb88513ba
[perl5.git] / Porting / Maintainers.pl
1 # A simple listing of core files that have specific maintainers,
2 # or at least someone that can be called an "interested party".
3 # Also, a "module" does not necessarily mean a CPAN module, it
4 # might mean a file or files or a subdirectory.
5 # Most (but not all) of the modules have dual lives in the core
6 # and in CPAN.
7
8 package Maintainers;
9
10 use File::Glob qw(:case);
11
12 %Maintainers =
13     (
14     'abergman'  => 'Arthur Bergman <abergman@cpan.org>',
15     'abigail'   => 'Abigail <abigail@abigail.be>',
16     'ams'       => 'Abhijit Menon-Sen <ams@cpan.org>',
17     'andk'      => 'Andreas J. Koenig <andk@cpan.org>',
18     'andya'     => 'Andy Armstrong <andy@hexten.net>',
19     'arandal'   => 'Allison Randal <allison@perl.org>',
20     'audreyt'   => 'Audrey Tang <cpan@audreyt.org>',
21     'avar'      => 'Ævar Arnfjörð Bjarmason <avar@cpan.org>',
22     'bingos'    => 'Chris Williams <chris@bingosnet.co.uk>',
23     'chorny'    => 'Alexandr Ciornii <alexchorny@gmail.com>',
24     'corion'    => 'Max Maischein <corion@corion.net>',
25     'craig'     => 'Craig Berry <craigberry@mac.com>',
26     'dankogai'  => 'Dan Kogai <dankogai@cpan.org>',
27     'dconway'   => 'Damian Conway <dconway@cpan.org>',
28     'dland'     => 'David Landgren <dland@cpan.org>',
29     'dmanura'   => 'David Manura <dmanura@cpan.org>',
30     'drolsky'   => 'Dave Rolsky <drolsky@cpan.org>',
31     'elizabeth' => 'Elizabeth Mattijsen <liz@dijkmat.nl>',
32     'ferreira'  => 'Adriano Ferreira <ferreira@cpan.org>',
33     'gbarr'     => 'Graham Barr <gbarr@cpan.org>',
34     'gaas'      => 'Gisle Aas <gaas@cpan.org>',
35     'gsar'      => 'Gurusamy Sarathy <gsar@activestate.com>',
36     'ilyam'     => 'Ilya Martynov <ilyam@cpan.org>',
37     'ilyaz'     => 'Ilya Zakharevich <ilyaz@cpan.org>',
38     'jand'      => 'Jan Dubois <jand@activestate.com>',
39     'jdhedden'  => 'Jerry D. Hedden <jdhedden@cpan.org>',
40     'jesse'     => 'Jesse Vincent <jesse@bestpractical.com>',
41     'jhi'       => 'Jarkko Hietaniemi <jhi@cpan.org>',
42     'jjore'     => 'Joshua ben Jore <jjore@cpan.org>',
43     'jpeacock'  => 'John Peacock <jpeacock@cpan.org>',
44     'jstowe'    => 'Jonathan Stowe <jstowe@cpan.org>',
45     'jv'        => 'Johan Vromans <jv@cpan.org>',
46     'kane'      => 'Jos Boumans <kane@cpan.org>',
47     'kwilliams' => 'Ken Williams <kwilliams@cpan.org>',
48     'laun'      => 'Wolfgang Laun <Wolfgang.Laun@alcatel.at>',
49     'lstein'    => 'Lincoln D. Stein <lds@cpan.org>',
50     'lwall'     => 'Larry Wall <lwall@cpan.org>',
51     'marekr'    => 'Marek Rouchal <marekr@cpan.org>',
52     'markm'     => 'Mark Mielke <markm@cpan.org>',
53     'mhx'       => 'Marcus Holland-Moritz <mhx@cpan.org>',
54     'mjd'       => 'Mark-Jason Dominus <mjd@plover.com>',
55     'msergeant' => 'Matt Sergeant <msergeant@cpan.org>',
56     'mshelor'   => 'Mark Shelor <mshelor@cpan.org>',
57     'muir'      => 'David Muir Sharnoff <muir@cpan.org>',
58     'neilb'     => 'Neil Bowers <neilb@cpan.org>',
59     'nuffin'    => 'Yuval Kogman <nothingmuch@woobling.org>',
60     'nwclark'   => 'Nicholas Clark <nwclark@cpan.org>',
61     'osfameron' => 'Hakim Cassimally <osfameron@perl.org>',
62     'p5p'       => 'perl5-porters <perl5-porters@perl.org>',
63     'perlfaq'   => 'perlfaq-workers <perlfaq-workers@perl.org>',
64     'petdance'  => 'Andy Lester <andy@petdance.com>',
65     'pjf'       => 'Paul Fenwick <pjf@cpan.org>',
66     'pmqs'      => 'Paul Marquess <pmqs@cpan.org>',
67     'pvhp'      => 'Peter Prymmer <pvhp@best.com>',
68     'rafl'      => 'Florian Ragwitz <flora@cpan.org>',
69     'rclamp'    => 'Richard Clamp <rclamp@cpan.org>',
70     'rgarcia'   => 'Rafael Garcia-Suarez <rgarcia@cpan.org>',
71     'rkobes'    => 'Randy Kobes <rkobes@cpan.org>',
72     'rmbarker'  => 'Robin Barker <rmbarker@cpan.org>',
73     'rra'       => 'Russ Allbery <rra@cpan.org>',
74     'rurban'    => 'Reini Urban <rurban@cpan.org>',
75     'sadahiro'  => 'SADAHIRO Tomoyuki <SADAHIRO@cpan.org>',
76     'salva'     => 'Salvador Fandiño García <salva@cpan.org>',
77     'saper'     => 'Sébastien Aperghis-Tramoni <saper@cpan.org>',
78     'sbeck'     => 'Sullivan Beck <sbeck@cpan.org>',
79     'sburke'    => 'Sean Burke <sburke@cpan.org>',
80     'mschwern'  => 'Michael Schwern <mschwern@cpan.org>',
81     'simonw'    => 'Simon Wistow <simonw@cpan.org>',
82     'smccam'    => 'Stephen McCamant <smccam@cpan.org>',
83     'smpeters'  => 'Steve Peters <steve@fisharerojo.org>',
84     'smueller'  => 'Steffen Mueller <smueller@cpan.org>',
85     'tels'      => 'Tels <nospam-abuse@bloodgate.com>',
86     'tomhughes' => 'Tom Hughes <tomhughes@cpan.org>',
87     'tjenness'  => 'Tim Jenness <tjenness@cpan.org>',
88     'tyemq'     => 'Tye McQueen <tyemq@cpan.org>',
89     'yves'      => 'Yves Orton <yves@cpan.org>',
90     'zefram'    => 'Andrew Main <zefram@cpan.org>',
91     );
92
93
94 # IGNORABLE: files which, if they appear in the root of a CPAN
95 # distribution, need not appear in core (i.e. core-cpan-diff won't
96 # complain if it can't find them)
97
98 @IGNORABLE = qw(
99     .cvsignore .dualLivedDiffConfig .gitignore
100     ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
101     CHANGELOG ChangeLog CHANGES Changes COPYING Copying CREDITS
102     GOALS HISTORY INSTALL INSTALL.SKIP LICENSE Makefile.PL
103     MANIFEST MANIFEST.SKIP META.yml MYMETA.yml NEW NOTES ppport.h README
104     SIGNATURE THANKS TODO Todo VERSION WHATSNEW
105 );
106
107
108 # Each entry in the  %Modules hash roughly represents a distribution,
109 # except when DISTRIBUTION is set, where it *exactly* represents a single
110 # CPAN distribution.
111
112 # The keys of %Modules are human descriptions of the distributions, and
113 # may not exactly match a module or distribution name. Distributions
114 # which have an obvious top-level module associated with them will usually
115 # have a key named for that module, e.g. 'Archive::Extract' for
116 # Archive-Extract-N.NN.tar.gz; the remaining keys are likely to be based
117 # on the name of the distribution, e.g. 'Locale-Codes' for
118 # Locale-Codes-N.NN.tar.gz'.
119 #
120 # FILES is a list of filenames, glob patterns, and directory
121 # names to be recursed down, which collectively generate a complete list
122 # of the files associated with the distribution.
123
124 # UPSTREAM indicates where patches should go. undef implies
125 # that this hasn't been discussed for the module at hand.
126 # "blead" indicates that the copy of the module in the blead
127 # sources is to be considered canonical, "cpan" means that the
128 # module on CPAN is to be patched first. "first-come" means
129 # that blead can be patched freely if it is in sync with the
130 # latest release on CPAN.
131
132 # BUGS is an email or url to post bug reports.  For modules with
133 # UPSTREAM => 'blead', use perl5-porters@perl.org.  rt.cpan.org
134 # appears to automatically provide a URL for CPAN modules; any value
135 # given here overrides the default:
136 # http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
137
138 # DISTRIBUTION names the tarball on CPAN which (allegedly) the files
139 # included in core are derived from. Note that the file's version may not
140 # necessarily match the newest version on CPAN.
141
142 # EXCLUDED is a list of files to be excluded from a CPAN tarball before
143 # comparing the remaining contents with core. Each item can either be a
144 # full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
145 # It defaults to the empty list.
146
147 # DEPRECATED contains the *first* version of Perl in which the module
148 # was considered deprecated.  It should only be present if the module is
149 # actually deprecated.  Such modules should use deprecated.pm to
150 # issue a warning if used.  E.g.:
151 #
152 #     use if $] >= 5.011, 'deprecate';
153 #
154
155 # MAP is a hash that maps CPAN paths to their core equivalents.
156 # Each key reprepresents a string prefix, with longest prefixes checked
157 # first. The first match causes that prefix to be replaced with the
158 # corresponding key. For example, with the following MAP:
159 #   {
160 #     'lib/'     => 'lib/',
161 #     ''         => 'lib/Foo/',
162 #   },
163 #
164 # these files are mapped as shown:
165 #
166 #    README     becomes lib/Foo/README
167 #    lib/Foo.pm becomes lib/Foo.pm
168 #
169 # The default is dependent on the type of module.
170 # For distributions which appear to be stored under ext/, it defaults to:
171 #
172 #   { '' => 'ext/Foo-Bar/' }
173 #
174 # otherwise, it's
175 #
176 #   {
177 #     'lib/'     => 'lib/',
178 #     ''         => 'lib/Foo/Bar/',
179 #   }
180
181 %Modules = (
182
183     'Archive::Extract' =>
184         {
185         'MAINTAINER'    => 'kane',
186         'DISTRIBUTION'  => 'BINGOS/Archive-Extract-0.38.tar.gz',
187         'FILES'         => q[cpan/Archive-Extract],
188         'UPSTREAM'      => 'cpan',
189         'BUGS'          => 'bug-archive-extract@rt.cpan.org',
190         },
191
192     'Archive::Tar' =>
193         {
194         'MAINTAINER'    => 'kane',
195         'DISTRIBUTION'  => 'BINGOS/Archive-Tar-1.54.tar.gz',
196         'FILES'         => q[cpan/Archive-Tar],
197         'UPSTREAM'      => 'cpan',
198         'BUGS'          => 'bug-archive-tar@rt.cpan.org',
199         },
200
201     'Attribute::Handlers' =>
202         {
203         'MAINTAINER'    => 'rgarcia',
204         'DISTRIBUTION'  => 'SMUELLER/Attribute-Handlers-0.87.tar.gz',
205         'FILES'         => q[dist/Attribute-Handlers],
206         'UPSTREAM'      => 'blead',
207         },
208
209     'autodie' =>
210         {
211         'MAINTAINER'    => 'pjf',
212         'DISTRIBUTION'  => 'PJF/autodie-2.06_01.tar.gz',
213         'FILES'         => q[cpan/autodie],
214         'EXCLUDED'      => [ qr{^inc/Module/},
215
216                              # All these tests depend upon external
217                              # modules that don't exist when we're
218                              # building the core.  Hence, they can
219                              # never run, and should not be merged.
220
221                              qw(
222                                 t/boilerplate.t
223                                 t/critic.t
224                                 t/fork.t
225                                 t/kwalitee.t
226                                 t/lex58.t
227                                 t/pod-coverage.t
228                                 t/pod.t
229                                 t/socket.t
230                                 t/system.t
231                               )
232                            ],
233         'UPSTREAM'      => 'cpan',
234         },
235
236     'AutoLoader' =>
237         {
238         'MAINTAINER'    => 'smueller',
239         'DISTRIBUTION'  => 'SMUELLER/AutoLoader-5.70.tar.gz',
240         'FILES'         => q[cpan/AutoLoader],
241         'EXCLUDED'      => [ qw( t/00pod.t ) ],
242         'UPSTREAM'      => 'cpan',
243         },
244
245     'B::Concise' =>
246         {
247         'MAINTAINER'    => 'smccam',
248         'FILES'         => q[ext/B/B/Concise.pm ext/B/t/concise.t],
249         'UPSTREAM'      => undef,
250         },
251
252     'B::Debug' =>
253         {
254         'MAINTAINER'    => 'rurban',
255         'DISTRIBUTION'  => 'RURBAN/B-Debug-1.12.tar.gz',
256         'FILES'         => q[cpan/B-Debug],
257         'EXCLUDED'      => [ qw( t/coverage.html t/pod.t ) ],
258         'UPSTREAM'      => undef,
259         },
260
261     'B::Deparse' =>
262         {
263         'MAINTAINER'    => 'smccam',
264         'FILES'         => q[dist/B-Deparse],
265         'UPSTREAM'      => 'blead',
266         },
267
268     'B::Lint' =>
269         {
270         'MAINTAINER'    => 'jjore',
271         'DISTRIBUTION'  => 'JJORE/B-Lint-1.11.tar.gz',
272         'FILES'         => q[cpan/B-Lint],
273         'EXCLUDED'      => [ qw( t/test.pl ) ],
274         'UPSTREAM'      => undef,
275         },
276
277     'base' =>
278         {
279         'MAINTAINER'    => 'rgarcia',
280         'DISTRIBUTION'  => 'RGARCIA/base-2.15.tar.gz',
281         'FILES'         => q[dist/base],
282         'UPSTREAM'      => 'blead',
283         },
284
285     'bignum' =>
286         {
287         'MAINTAINER'    => 'tels',
288         'DISTRIBUTION'  => 'TELS/math/bignum-0.23.tar.gz',
289         'FILES'         => q[cpan/bignum],
290         'EXCLUDED'      => [ qr{^inc/Module/}, qw(t/pod.t t/pod_cov.t) ],
291         'UPSTREAM'      => undef,
292         },
293
294     'CGI' =>
295         {
296         'MAINTAINER'    => 'lstein',
297         'DISTRIBUTION'  => 'LDS/CGI.pm-3.49.tar.gz',
298         'FILES'         => q[cpan/CGI],
299         'EXCLUDED'      => [ qr{^t/lib/Test},
300                                 qw( cgi-lib_porting.html
301                                     cgi_docs.html
302                                     examples/WORLD_WRITABLE/18.157.1.253.sav
303                                     t/gen-tests/gen-start-end-tags.pl
304                                     t/fast.t
305                                 )
306                            ],
307         'UPSTREAM'      => 'cpan',
308         },
309
310     'Compress::Raw::Bzip2' =>
311         {
312         'MAINTAINER'    => 'pmqs',
313         'DISTRIBUTION'  => 'PMQS/Compress-Raw-Bzip2-2.021.tar.gz',
314         'FILES'         => q[cpan/Compress-Raw-Bzip2],
315         'EXCLUDED'      => [ qr{^t/Test/},
316                              qw( bzip2-src/bzip2-cpp.patch
317                              )
318                            ],
319         'UPSTREAM'      => undef,
320         },
321
322     'Compress::Raw::Zlib' =>
323         {
324         'MAINTAINER'    => 'pmqs',
325         'DISTRIBUTION'  => 'PMQS/Compress-Raw-Zlib-2.021.tar.gz',
326
327         'FILES'         => q[cpan/Compress-Raw-Zlib],
328         'EXCLUDED'      => [ qr{^t/Test/},
329                              qw( t/000prereq.t
330                                  t/99pod.t
331                                )
332                            ],
333         'UPSTREAM'      => undef,
334         },
335
336     'constant' =>
337         {
338         'MAINTAINER'    => 'saper',
339         'DISTRIBUTION'  => 'SAPER/constant-1.19.tar.gz',
340         'FILES'         => q[dist/constant],
341         'EXCLUDED'      => [ qw( t/00-load.t
342                                  t/more-tests.t
343                                  t/pod-coverage.t
344                                  t/pod.t
345                                  eg/synopsis.pl
346                                )
347                            ],
348         'UPSTREAM'      => 'blead',
349         },
350
351     'CPAN' =>
352         {
353         'MAINTAINER'    => 'andk',
354         'DISTRIBUTION'  => 'ANDK/CPAN-1.94_56.tar.gz',
355         'FILES'         => q[cpan/CPAN],
356         'EXCLUDED'      => [ qr{^distroprefs/},
357                              qr{^inc/Test/},
358                              qr{^t/CPAN/authors/},
359                              qw{
360                                 lib/CPAN/Admin.pm
361                                 Makefile.PL
362                                 SlayMakefile
363                                 t/00signature.t
364                                 t/04clean_load.t
365                                 t/12cpan.t
366                                 t/13tarzip.t
367                                 t/14forkbomb.t
368                                 t/30shell.coverage
369                                 t/30shell.t
370                                 t/31sessions.t
371                                 t/41distribution.t
372                                 t/42distroprefs.t
373                                 t/43distroprefspref.t
374                                 t/50pod.t
375                                 t/51pod.t
376                                 t/52podcover.t
377                                 t/60credentials.t
378                                 t/70_critic.t
379                                 t/CPAN/CpanTestDummies-1.55.pm
380                                 t/CPAN/TestConfig.pm
381                                 t/CPAN/TestMirroredBy
382                                 t/CPAN/TestPatch.txt
383                                 t/CPAN/modules/02packages.details.txt
384                                 t/CPAN/modules/03modlist.data
385                                 t/data/META-dynamic.yml
386                                 t/data/META-static.yml
387                                 t/local_utils.pm
388                                 t/perlcriticrc
389                                 t/yaml_code.yml
390                                },
391                            ],
392         'UPSTREAM'      => 'cpan',
393         },
394
395     'CPANPLUS' =>
396         {
397         'MAINTAINER'    => 'kane',
398         'DISTRIBUTION'  => 'BINGOS/CPANPLUS-0.90.tar.gz',
399         'FILES'         => q[cpan/CPANPLUS],
400         'EXCLUDED'      => [ qr{^inc/},
401                              qr{^t/dummy-.*\.hidden$},
402                              qw{ bin/cpanp-boxed },
403                              # SQLite tests would be skipped in core, and
404                              # the filenames are too long for VMS!
405                              qw{
406                                  t/031_CPANPLUS-Internals-Source-SQLite.t
407                                  t/032_CPANPLUS-Internals-Source-via-sqlite.t
408                                },
409                            ],
410         'UPSTREAM'      => 'cpan',
411         'BUGS'          => 'bug-cpanplus@rt.cpan.org',
412         },
413
414     'CPANPLUS::Dist::Build' =>
415         {
416         'MAINTAINER'    => 'bingos',
417         'DISTRIBUTION'  => 'BINGOS/CPANPLUS-Dist-Build-0.46.tar.gz',
418         'FILES'         => q[cpan/CPANPLUS-Dist-Build],
419         'EXCLUDED'      => [ qr{^inc/},
420                              qw{ t/99_pod.t
421                                  t/99_pod_coverage.t
422                                },
423                            ],
424         'UPSTREAM'      => 'cpan',
425         },
426
427     'Data::Dumper' =>
428         {
429         'MAINTAINER'    => 'p5p', # Not gsar. Not ilyam
430         'DISTRIBUTION'  => 'SMUELLER/Data-Dumper-2.125.tar.gz',
431         'FILES'         => q[dist/Data-Dumper],
432         'UPSTREAM'      => 'blead',
433         },
434
435     'DB_File' =>
436         {
437         'MAINTAINER'    => 'pmqs',
438         'DISTRIBUTION'  => 'PMQS/DB_File-1.820.tar.gz',
439         'FILES'         => q[cpan/DB_File],
440         'EXCLUDED'      => [ qr{^patches/},
441                              qw{ t/pod.t
442                                  fallback.h
443                                  fallback.xs
444                                },
445                            ],
446         'UPSTREAM'      => undef,
447         },
448
449     'Devel::PPPort' =>
450         {
451         'MAINTAINER'    => 'mhx',
452         'DISTRIBUTION'  => 'MHX/Devel-PPPort-3.19.tar.gz',
453         'FILES'         => q[cpan/Devel-PPPort],
454         'EXCLUDED'      => [ qw{PPPort.pm} ], # we use PPPort_pm.PL instead
455         'UPSTREAM'      => 'cpan',
456         },
457
458     'Digest' =>
459         {
460         'MAINTAINER'    => 'gaas',
461         'DISTRIBUTION'  => 'GAAS/Digest-1.16.tar.gz',
462         'FILES'         => q[cpan/Digest],
463         'EXCLUDED'      => [ qw{digest-bench} ],
464         'UPSTREAM'      => undef,
465         },
466
467     'Digest::MD5' =>
468         {
469         'MAINTAINER'    => 'gaas',
470         'DISTRIBUTION'  => 'GAAS/Digest-MD5-2.39.tar.gz',
471         'FILES'         => q[cpan/Digest-MD5],
472         'EXCLUDED'      => [ qw{rfc1321.txt} ],
473         'UPSTREAM'      => undef,
474         },
475
476     'Digest::SHA' =>
477         {
478         'MAINTAINER'    => 'mshelor',
479         'DISTRIBUTION'  => 'MSHELOR/Digest-SHA-5.47.tar.gz',
480         'FILES'         => q[cpan/Digest-SHA],
481         'EXCLUDED'      => [ qw{t/pod.t t/podcover.t examples/dups} ],
482         'UPSTREAM'      => undef,
483         },
484
485     'Encode' =>
486         {
487         'MAINTAINER'    => 'dankogai',
488         'DISTRIBUTION'  => 'DANKOGAI/Encode-2.39.tar.gz',
489         'FILES'         => q[cpan/Encode],
490         'UPSTREAM'      => undef,
491         },
492
493     'encoding::warnings' =>
494         {
495         'MAINTAINER'    => 'audreyt',
496         'DISTRIBUTION'  => 'AUDREYT/encoding-warnings-0.11.tar.gz',
497         'FILES'         => q[cpan/encoding-warnings],
498         'EXCLUDED'      => [ qr{^inc/Module/},
499                              qw{t/0-signature.t Makefile.PL MANIFEST META.yml
500                              README SIGNATURE},
501                            ],
502         'UPSTREAM'      => undef,
503         },
504
505     'Exporter' =>
506         {
507         'MAINTAINER'    => 'ferreira',
508         'DISTRIBUTION'  => 'FERREIRA/Exporter-5.63.tar.gz',
509         'FILES'         => q[lib/Exporter.pm
510                              lib/Exporter.t
511                              lib/Exporter/Heavy.pm
512                             ],
513         'EXCLUDED'      => [ qw{t/pod.t t/use.t}, ],
514         'MAP'           => { 't/'       => 'lib/',
515                              'lib/'     => 'lib/',
516                            },
517         'UPSTREAM'      => 'blead',
518         },
519
520     'ExtUtils::CBuilder' =>
521         {
522         'MAINTAINER'    => 'kwilliams',
523         'DISTRIBUTION'  => 'DAGOLDEN/ExtUtils-CBuilder-0.27.tar.gz',
524         'FILES'         => q[cpan/ExtUtils-CBuilder],
525         'UPSTREAM'      => 'cpan',
526         },
527
528     'ExtUtils::Command' =>
529         {
530         'MAINTAINER'    => 'rkobes',
531         'DISTRIBUTION'  => 'RKOBES/ExtUtils-Command-1.16.tar.gz',
532         'FILES'         => q[cpan/ExtUtils-Command],
533         'EXCLUDED'      => [ qw{ t/shell_command.t
534                                  t/shell_exit.t
535                                  lib/Shell/Command.pm
536                                },
537                            ],
538         'UPSTREAM'      => undef,
539         },
540
541     'ExtUtils::Constant' =>
542         {
543         'MAINTAINER'    => 'nwclark',
544          # Nick has confirmed that while we have diverged from CPAN,
545          # this package isn't primarily maintained in core
546          # Another release wll happen "Sometime"
547          'DISTRIBUTION' => '',#'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
548         'FILES'         => q[cpan/ExtUtils-Constant],
549         'EXCLUDED'      => [ qw{ lib/ExtUtils/Constant/Aaargh56Hash.pm
550                                  examples/perl_keyword.pl
551                                  examples/perl_regcomp_posix_keyword.pl
552                                },
553                            ],
554         'UPSTREAM'      => undef,
555         },
556
557     'ExtUtils::Install' =>
558         {
559         'MAINTAINER'    => 'yves',
560         'DISTRIBUTION'  => 'YVES/ExtUtils-Install-1.54.tar.gz',
561         'FILES'         => q[dist/ExtUtils-Install],
562         'EXCLUDED'      => [ qw{ t/lib/Test/Builder.pm
563                                  t/lib/Test/Builder/Module.pm
564                                  t/lib/Test/More.pm
565                                  t/lib/Test/Simple.pm
566                                  t/pod-coverage.t
567                                  t/pod.t
568                                },
569                            ],
570         'UPSTREAM'      => 'blead',
571         },
572
573     'ExtUtils::MakeMaker' =>
574         {
575         'MAINTAINER'    => 'mschwern',
576         'DISTRIBUTION'  => 'MSCHWERN/ExtUtils-MakeMaker-6.56.tar.gz',
577         'FILES'         => q[cpan/ExtUtils-MakeMaker],
578         'EXCLUDED'      => [ qr{^t/lib/Test/},
579                              qr{^inc/ExtUtils/},
580                            ],
581         'UPSTREAM'      => 'first-come',
582         },
583
584     'ExtUtils::Manifest' =>
585         {
586         'MAINTAINER'    => 'rkobes',
587         'DISTRIBUTION'  => 'RKOBES/ExtUtils-Manifest-1.57.tar.gz',
588         'FILES'         => q[cpan/ExtUtils-Manifest],
589         'UPSTREAM'      => 'cpan',
590         },
591
592     'ExtUtils::ParseXS' =>
593         {
594         'MAINTAINER'    => 'kwilliams',
595     'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-ParseXS-2.2205.tar.gz',
596     'EXCLUDED'  => [ qw{
597                         t/bugs/RT48104.xs
598                                     t/bugs/typemap
599                                         t/include/nsUniversalDetector.h
600                                         t/include/nscore.h
601                                    }],
602         'FILES'         => q[cpan/ExtUtils-ParseXS],
603         'UPSTREAM'      => 'cpan',
604         },
605
606     'faq' =>
607         {
608         'MAINTAINER'    => 'perlfaq',
609         'FILES'         => q[pod/perlfaq*],
610         'UPSTREAM'      => undef,
611         },
612
613     'File::Fetch' =>
614         {
615         'MAINTAINER'    => 'kane',
616         'DISTRIBUTION'  => 'BINGOS/File-Fetch-0.24.tar.gz',
617         'FILES'         => q[cpan/File-Fetch],
618         'UPSTREAM'      => 'cpan',
619         },
620
621     'File::Path' =>
622         {
623         'MAINTAINER'    => 'dland',
624         'DISTRIBUTION'  => 'DLAND/File-Path-2.08.tar.gz',
625         'FILES'         => q[cpan/File-Path],
626         'EXCLUDED'      => [ qw{eg/setup-extra-tests
627                                 t/pod.t
628                                }
629                            ],
630         'MAP'           => { ''         => 'cpan/File-Path/lib/File/',
631                              't/'       => 'cpan/File-Path/t/',
632                            },
633         'UPSTREAM'      => undef,
634         },
635
636     'File::Temp' =>
637         {
638         'MAINTAINER'    => 'tjenness',
639         'DISTRIBUTION'  => 'TJENNESS/File-Temp-0.22.tar.gz',
640         'FILES'         => q[cpan/File-Temp],
641         'EXCLUDED'      => [ qw{misc/benchmark.pl
642                                 misc/results.txt
643                                }
644                            ],
645         'UPSTREAM'      => undef,
646         },
647
648     'Filter::Simple' =>
649         {
650         'MAINTAINER'    => 'smueller',
651         'DISTRIBUTION'  => 'SMUELLER/Filter-Simple-0.84.tar.gz',
652         'FILES'         => q[dist/Filter-Simple],
653         'EXCLUDED'      => [ qw(Makefile.PL MANIFEST README META.yml),
654                              qr{^demo/}
655                            ],
656         'UPSTREAM'      => 'blead',
657         },
658
659     'Filter::Util::Call' =>
660         {
661         'MAINTAINER'    => 'pmqs',
662         'DISTRIBUTION'  => 'PMQS/Filter-1.37.tar.gz',
663         'FILES'         => q[cpan/Filter-Util-Call
664                              t/lib/filter-util.pl
665                              pod/perlfilter.pod
666                             ],
667         'EXCLUDED'      => [ qr{^decrypt/},
668                              qr{^examples/},
669                              qr{^Exec/},
670                              qr{^lib/Filter/},
671                              qr{^tee/},
672                              qw{ Call/Makefile.PL
673                                  Call/ppport.h
674                                  Call/typemap
675                                  mytest
676                                  t/cpp.t
677                                  t/decrypt.t
678                                  t/exec.t
679                                  t/order.t
680                                  t/pod.t
681                                  t/sh.t
682                                  t/tee.t
683                                }
684                            ],
685         'MAP'           => { 'Call/'          => 'cpan/Filter-Util-Call/',
686                              'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
687                              'perlfilter.pod' => 'pod/perlfilter.pod',
688                              ''               => 'cpan/Filter-Util-Call/',
689                            },
690         'UPSTREAM'      => undef,
691         },
692
693     'Getopt::Long' =>
694         {
695         'MAINTAINER'    => 'jv',
696         'DISTRIBUTION'  => 'JV/Getopt-Long-2.38.tar.gz',
697         'FILES'         => q[cpan/Getopt-Long
698                              lib/newgetopt.pl
699                             ],
700         'EXCLUDED'      => [ qr{^examples/},
701                              qw{perl-Getopt-Long.spec},
702                            ],
703         'MAP'           => { ''                => 'cpan/Getopt-Long/',
704                              'lib/newgetopt.pl' => 'lib/newgetopt.pl',
705                            },
706         'UPSTREAM'      => 'cpan',
707         },
708
709     # Sean has donated it to us.
710     # Nothing has changed since his last CPAN release.
711     # (not strictly true: there have been some trivial typo fixes; DAPM 6/2009)
712     'I18N::LangTags' =>
713         {
714         'MAINTAINER'    => 'p5p',
715         'DISTRIBUTION'  => 'SBURKE/I18N-LangTags-0.35.tar.gz',
716         'FILES'         => q[dist/I18N-LangTags],
717         'UPSTREAM'      => 'blead',
718         },
719
720     'if' =>
721         {
722         'MAINTAINER'    => 'ilyaz',
723         'DISTRIBUTION'  => 'ILYAZ/modules/if-0.0401.tar.gz',
724         'FILES'         => q[cpan/if],
725         'UPSTREAM'      => undef,
726         },
727
728     'IO' =>
729         {
730         'MAINTAINER'    => 'p5p',
731         'DISTRIBUTION'  => 'GBARR/IO-1.25.tar.gz',
732         'FILES'         => q[dist/IO/],
733         'EXCLUDED'      => [ qw{t/test.pl}, ],
734         'UPSTREAM'      => 'blead',
735         },
736
737     'IO-Compress' =>
738         {
739         'MAINTAINER'    => 'pmqs',
740         'DISTRIBUTION'  => 'PMQS/IO-Compress-2.021.tar.gz',
741         'FILES'         => q[cpan/IO-Compress],
742         'EXCLUDED'      => [ qr{t/Test/} ],
743         'UPSTREAM'      => 'cpan',
744         },
745
746     'IO::Zlib' =>
747         {
748         'MAINTAINER'    => 'tomhughes',
749         'DISTRIBUTION'  => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
750         'FILES'         => q[cpan/IO-Zlib],
751         'UPSTREAM'      => undef,
752         },
753
754     'IPC::Cmd' =>
755         {
756         'MAINTAINER'    => 'kane',
757         'DISTRIBUTION'  => 'BINGOS/IPC-Cmd-0.58.tar.gz',
758         'FILES'         => q[cpan/IPC-Cmd],
759         'UPSTREAM'      => 'cpan',
760         },
761
762     'IPC::SysV' =>
763         {
764         'MAINTAINER'    => 'mhx',
765         'DISTRIBUTION'  => 'MHX/IPC-SysV-2.01.tar.gz',
766         'FILES'         => q[cpan/IPC-SysV],
767         'EXCLUDED'      => [ qw{const-c.inc const-xs.inc} ],
768         'UPSTREAM'      => 'cpan',
769         },
770
771     'lib' =>
772         {
773         'MAINTAINER'    => 'smueller',
774         'DISTRIBUTION'  => 'SMUELLER/lib-0.62.tar.gz',
775         'FILES'         => q[dist/lib/],
776         'EXCLUDED'      => [ qw{forPAUSE/lib.pm t/00pod.t} ],
777         'UPSTREAM'      => 'blead',
778         },
779
780     'libnet' =>
781         {
782         'MAINTAINER'    => 'gbarr',
783         'DISTRIBUTION'  => 'GBARR/libnet-1.22.tar.gz',
784         'FILES'         => q[cpan/libnet],
785         'EXCLUDED'      => [ qw{Configure install-nomake} ],
786         'UPSTREAM'      => undef,
787         },
788
789     'Locale-Codes' =>
790         {
791         'MAINTAINER'    => 'sbeck',
792         'DISTRIBUTION'  => 'SBECK/Locale-Codes-3.12.tar.gz',
793         'FILES'         => q[cpan/Locale-Codes],
794         'EXCLUDED'      => [ qw{t/pod_coverage.t t/pod.t}, qr{^t/runtests},
795                              qr{^internal/}, qr{^examples/} ],
796         'UPSTREAM'      => 'cpan',
797         },
798
799     'Locale::Maketext' =>
800         {
801         'MAINTAINER'    => 'ferreira',
802         'DISTRIBUTION'  => 'FERREIRA/Locale-Maketext-1.13.tar.gz',
803         'FILES'         => q[dist/Locale-Maketext],
804         'EXCLUDED'      => [ qw{perlcriticrc t/00_load.t t/pod.t} ],
805         'UPSTREAM'      => 'blead',
806         },
807
808     'Locale::Maketext::Simple' =>
809         {
810         'MAINTAINER'    => 'audreyt',
811         'DISTRIBUTION'  => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
812         'FILES'         => q[cpan/Locale-Maketext-Simple],
813         'EXCLUDED'      => [ qr{^inc/} ],
814         'UPSTREAM'      => 'cpan',
815         },
816
817     'Log::Message' =>
818         {
819         'MAINTAINER'    => 'kane',
820         'DISTRIBUTION'  => 'KANE/Log-Message-0.02.tar.gz',
821         'FILES'         => q[cpan/Log-Message],
822         'UPSTREAM'      => 'cpan',
823         },
824
825     'Log::Message::Simple' =>
826         {
827         'MAINTAINER'    => 'kane',
828         'DISTRIBUTION'  => 'BINGOS/Log-Message-Simple-0.06.tar.gz',
829         'FILES'         => q[cpan/Log-Message-Simple],
830         'UPSTREAM'      => 'cpan',
831         },
832
833     'mad' =>
834         {
835         'MAINTAINER'    => 'lwall',
836         'FILES'         => q[mad],
837         'UPSTREAM'      => undef,
838         },
839
840     'Math::BigInt' =>
841         {
842         'MAINTAINER'    => 'tels',
843         'DISTRIBUTION'  => 'TELS/math/Math-BigInt-1.89.tar.gz',
844         'FILES'         => q[cpan/Math-BigInt],
845         'EXCLUDED'      => [ qr{^inc/},
846                              qr{^examples/},
847                              qw{t/pod.t
848                                 t/pod_cov.t
849                                }
850                            ],
851         'UPSTREAM'      => undef,
852         },
853
854     'Math::BigInt::FastCalc' =>
855         {
856         'MAINTAINER'    => 'tels',
857         'DISTRIBUTION'  => 'TELS/math/Math-BigInt-FastCalc-0.19.tar.gz',
858         'FILES'         => q[cpan/Math-BigInt-FastCalc],
859         'EXCLUDED'      => [ qr{^inc/},
860                              qw{
861                                 t/pod.t
862                                 t/pod_cov.t
863                                },
864                              # instead we use the versions of these test
865                              # files that come with Math::BigInt:
866                              qw{t/bigfltpm.inc
867                                 t/bigfltpm.t
868                                 t/bigintpm.inc
869                                 t/bigintpm.t
870                                 t/mbimbf.inc
871                                 t/mbimbf.t
872                                },
873                            ],
874         'MAP'           => { '' => 'cpan/Math-BigInt-FastCalc/',
875                              'lib/Math/BigInt/FastCalc.pm'
876                                     => 'cpan/Math-BigInt-FastCalc/FastCalc.pm',
877                            },
878         'UPSTREAM'      => undef,
879         },
880
881     'Math::BigRat' =>
882         {
883         'MAINTAINER'    => 'tels',
884         'DISTRIBUTION'  => 'LETO/Math-BigRat-0.24.tar.gz',
885         'FILES'         => q[cpan/Math-BigRat],
886         'EXCLUDED'      => [ qr{^inc/},
887                              qw{
888                                 t/pod.t
889                                 t/pod_cov.t
890                                },
891                            ],
892         'UPSTREAM'      => undef,
893         },
894
895     'Math::Complex' =>
896         {
897         'MAINTAINER'    => 'zefram',
898         'DISTRIBUTION'  => 'JHI/Math-Complex-1.56.tar.gz',
899         'FILES'         => q[cpan/Math-Complex],
900         'EXCLUDED'      => [
901                              qw{
902                                 t/pod.t
903                                 t/pod-coverage.t
904                                },
905                            ],
906         'UPSTREAM'      => 'cpan',
907         },
908
909     'Memoize' =>
910         {
911         'MAINTAINER'    => 'mjd',
912         'DISTRIBUTION'  => 'MJD/Memoize-1.01.tar.gz',
913         'FILES'         => q[cpan/Memoize],
914         'EXCLUDED'      => [
915                              qw{
916                                 article.html
917                                 Memoize/Saves.pm
918                                },
919                            ],
920         'UPSTREAM'      => undef,
921         },
922
923     'MIME::Base64' =>
924         {
925         'MAINTAINER'    => 'gaas',
926         'DISTRIBUTION'  => 'GAAS/MIME-Base64-3.09.tar.gz',
927         'FILES'         => q[cpan/MIME-Base64],
928         'EXCLUDED'      => [ qw{ t/bad-sv.t }, ],
929         'UPSTREAM'      => 'cpan',
930         },
931
932     'Module::Build' =>
933         {
934         'MAINTAINER'    => 'kwilliams',
935         'DISTRIBUTION'  => 'DAGOLDEN/Module-Build-0.3603.tar.gz',
936         'FILES'         => q[cpan/Module-Build],
937         'EXCLUDED'      => [ qw{ t/par.t t/signature.t },
938                              qr!^contrib/!,  qr!^devtools! ],
939         'UPSTREAM'      => 'cpan',
940         },
941
942     'Module::CoreList' =>
943         {
944         'MAINTAINER'    => 'rgarcia',
945         'DISTRIBUTION'  => 'BINGOS/Module-CoreList-2.23.tar.gz',
946         'FILES'         => q[dist/Module-CoreList],
947         'UPSTREAM'      => 'blead',
948         },
949
950     'Module::Load' =>
951         {
952         'MAINTAINER'    => 'kane',
953         'DISTRIBUTION'  => 'KANE/Module-Load-0.16.tar.gz',
954         'FILES'         => q[cpan/Module-Load],
955         'UPSTREAM'      => 'cpan',
956         },
957
958     'Module::Load::Conditional' =>
959         {
960         'MAINTAINER'    => 'kane',
961         'DISTRIBUTION'  => 'BINGOS/Module-Load-Conditional-0.38.tar.gz',
962         'FILES'         => q[cpan/Module-Load-Conditional],
963         'UPSTREAM'      => 'cpan',
964         },
965
966     'Module::Loaded' =>
967         {
968         'MAINTAINER'    => 'kane',
969         'DISTRIBUTION'  => 'BINGOS/Module-Loaded-0.06.tar.gz',
970         'FILES'         => q[cpan/Module-Loaded],
971         'UPSTREAM'      => 'cpan',
972         },
973
974     'Module::Pluggable' =>
975         {
976         'MAINTAINER'    => 'simonw',
977         'DISTRIBUTION'  => 'SIMONW/Module-Pluggable-3.9.tar.gz',
978         'FILES'         => q[cpan/Module-Pluggable],
979         'UPSTREAM'      => 'cpan',
980         },
981
982     'Net::Ping' =>
983         {
984         'MAINTAINER'    => 'smpeters',
985         'DISTRIBUTION'  => 'SMPETERS/Net-Ping-2.36.tar.gz',
986         'FILES'         => q[dist/Net-Ping],
987         'UPSTREAM'      => 'blead',
988         },
989
990     'NEXT' =>
991         {
992         'MAINTAINER'    => 'rafl',
993         'DISTRIBUTION'  => 'FLORA/NEXT-0.64.tar.gz',
994         'FILES'         => q[cpan/NEXT],
995         'EXCLUDED'      => [ qr{^demo/} ],
996         'UPSTREAM'      => 'cpan',
997         },
998
999     'Object::Accessor' =>
1000         {
1001         'MAINTAINER'    => 'kane',
1002         'DISTRIBUTION'  => 'BINGOS/Object-Accessor-0.36.tar.gz',
1003         'FILES'         => q[cpan/Object-Accessor],
1004         'UPSTREAM'      => 'cpan',
1005         },
1006
1007     'Package::Constants' =>
1008         {
1009         'MAINTAINER'    => 'kane',
1010         'DISTRIBUTION'  => 'KANE/Package-Constants-0.02.tar.gz',
1011         'FILES'         => q[cpan/Package-Constants],
1012         'UPSTREAM'      => 'cpan',
1013         },
1014
1015     'Params::Check' =>
1016         {
1017         'MAINTAINER'    => 'kane',
1018         'DISTRIBUTION'  => 'KANE/Params-Check-0.26.tar.gz',
1019         # For some reason a file of this name appears within
1020         # the tarball. Russell's Paradox eat your heart out.
1021         'EXCLUDED'      => [ qw( Params-Check-0.26.tar.gz ) ],
1022         'FILES'         => q[cpan/Params-Check],
1023         'UPSTREAM'      => 'cpan',
1024         },
1025
1026     'parent' =>
1027         {
1028         'MAINTAINER'    => 'corion',
1029         'DISTRIBUTION'  => 'CORION/parent-0.223.tar.gz',
1030         'FILES'         => q[cpan/parent],
1031         'UPSTREAM'      => undef,
1032         },
1033
1034     'Parse::CPAN::Meta' =>
1035         {
1036         'MAINTAINER'    => 'smueller',
1037         'DISTRIBUTION'  => 'SMUELLER/Parse-CPAN-Meta-1.40.tar.gz',
1038         'FILES'         => q[cpan/Parse-CPAN-Meta],
1039         'EXCLUDED'      => [ qw( t/97_meta.t t/98_pod.t t/99_pmv.t ) ],
1040         'UPSTREAM'      => 'cpan',
1041         # NOTE: 'perl uupacktool.pl t/data/utf_16_le_bom.yml.packed'
1042         # run by hand after import, as the core's test harness doesn't
1043         # run dists' "make test" steps
1044         },
1045
1046     'PathTools' =>
1047         {
1048         'MAINTAINER'    => 'kwilliams',
1049         'DISTRIBUTION'  => 'SMUELLER/PathTools-3.31.tar.gz',
1050         'FILES'         => q[cpan/Cwd],
1051         'EXCLUDED'      => [ qr{^t/lib/Test/} ],
1052         'UPSTREAM'      => "cpan",
1053         # NOTE: PathTools is in cpan/Cwd/ because it contains Cwd.xs and
1054         # something, possibly Makefile.SH, makes an assumption that the
1055         # leafname of some  file corresponds with the pathname of the directory.
1056         },
1057
1058     'perlebcdic' =>
1059         {
1060         'MAINTAINER'    => 'pvhp',
1061         'FILES'         => q[pod/perlebcdic.pod],
1062         'UPSTREAM'      => undef,
1063         },
1064
1065     'PerlIO' =>
1066         {
1067         'MAINTAINER'    => 'p5p',
1068         'FILES'         => q[ext/PerlIO],
1069         'UPSTREAM'      => undef,
1070         },
1071
1072     'PerlIO::via::QuotedPrint' =>
1073         {
1074         'MAINTAINER'    => 'elizabeth',
1075         'DISTRIBUTION'  => 'ELIZABETH/PerlIO-via-QuotedPrint-0.06.tar.gz',
1076         'FILES'         => q[cpan/PerlIO-via-QuotedPrint],
1077         'UPSTREAM'      => undef,
1078         },
1079
1080     'perlpacktut' =>
1081         {
1082         'MAINTAINER'    => 'laun',
1083         'FILES'         => q[pod/perlpacktut.pod],
1084         'UPSTREAM'      => undef,
1085         },
1086
1087     'perlpodspec' =>
1088         {
1089         'MAINTAINER'    => 'sburke',
1090         'FILES'         => q[pod/perlpodspec.pod],
1091         'UPSTREAM'      => undef,
1092         },
1093
1094     'perlre' =>
1095         {
1096         'MAINTAINER'    => 'abigail',
1097         'FILES'         => q[pod/perlrecharclass.pod
1098                              pod/perlrebackslash.pod],
1099         'UPSTREAM'      => undef,
1100         },
1101
1102
1103     'perlreapi' =>
1104         {
1105         MAINTAINER      => 'avar',
1106         FILES           => q[pod/perlreapi.pod],
1107         'UPSTREAM'      => undef,
1108         },
1109
1110     'perlreftut' =>
1111         {
1112         'MAINTAINER'    => 'mjd',
1113         'FILES'         => q[pod/perlreftut.pod],
1114         'UPSTREAM'      => undef,
1115         },
1116
1117     'perlthrtut' =>
1118         {
1119         'MAINTAINER'    => 'elizabeth',
1120         'FILES'         => q[pod/perlthrtut.pod],
1121         'UPSTREAM'      => undef,
1122         },
1123
1124     'Pod::Escapes' =>
1125         {
1126         'MAINTAINER'    => 'arandal',
1127         'DISTRIBUTION'  => 'SBURKE/Pod-Escapes-1.04.tar.gz',
1128         'FILES'         => q[cpan/Pod-Escapes],
1129         'UPSTREAM'      => undef,
1130         },
1131
1132     'Pod::LaTeX' =>
1133         {
1134         'MAINTAINER'    => 'tjenness',
1135         'DISTRIBUTION'  => 'TJENNESS/Pod-LaTeX-0.58.tar.gz',
1136         'FILES'         => q[cpan/Pod-LaTeX
1137                              pod/pod2latex.PL
1138                             ],
1139         'EXCLUDED'      => [ qw( t/require.t ) ],
1140         'MAP'           => { '' => 'cpan/Pod-LaTeX/',
1141                              'pod2latex.PL' => 'pod/pod2latex.PL',
1142                            },
1143         'UPSTREAM'      => undef,
1144         },
1145
1146     'Pod::Parser'       => {
1147         'MAINTAINER'    => 'marekr',
1148
1149         # XXX Parser.pm in the 1.38 distribution identifies itself as
1150         # version 1.37!
1151
1152         'DISTRIBUTION'  => 'MAREKR/Pod-Parser-1.38.tar.gz',
1153         'FILES'         => q[cpan/Pod-Parser
1154                              pod/pod{2usage,checker,select}.PL
1155                             ],
1156         'MAP'           => { '' => 'cpan/Pod-Parser/',
1157                              'scripts/' => 'pod/',
1158                            },
1159         'UPSTREAM'      => undef,
1160         },
1161
1162     'Pod::Perldoc' =>
1163         {
1164         'MAINTAINER'    => 'ferreira',
1165         'DISTRIBUTION'  => 'FERREIRA/Pod-Perldoc-3.15_01.tar.gz',
1166         # I don't know whether it's conceptually cleaner to a rule to copy
1167         # ext/Pod-Perldoc/pod/perldoc.pod to pod/perldoc.pod at make time
1168         # (in 4 places), or leave it as 1 mapping here.
1169         'FILES'         => q[dist/Pod-Perldoc
1170                              pod/perldoc.pod
1171                             ],
1172         # in blead, the perldoc executable is generated by perldoc.PL
1173         # instead
1174         # XXX We can and should fix this, but clean up the DRY-failure in utils
1175         # first
1176         'EXCLUDED'      => [ qw( perldoc ) ],
1177         'MAP'           => { '' => 'dist/Pod-Perldoc/',
1178                              'lib/perldoc.pod' => 'pod/perldoc.pod',
1179                            },
1180         'UPSTREAM'      => 'blead',
1181         },
1182
1183     'Pod::Simple' =>
1184         {
1185         'MAINTAINER'    => 'arandal',
1186         'DISTRIBUTION'  => 'DWHEELER/Pod-Simple-3.13.tar.gz',
1187         'FILES'         => q[cpan/Pod-Simple],
1188         # XXX these two files correspond to similar ones in blead under
1189         # pod/, but the blead ones have newer changes, and also seem to
1190         # have been in blead a long time. I'm going to assume then that
1191         # the blead versions of these two files are authoritative - DAPM
1192         'EXCLUDED'      => [ qw( lib/perlpod.pod lib/perlpodspec.pod ) ],
1193         'UPSTREAM'      => 'cpan',
1194         },
1195
1196     'podlators' =>
1197         {
1198         'MAINTAINER'    => 'rra',
1199         'DISTRIBUTION'  => 'RRA/podlators-2.3.1.tar.gz',
1200         'FILES'         => q[cpan/podlators
1201                              pod/pod2man.PL
1202                              pod/pod2text.PL
1203                             ],
1204         'MAP'           => { '' => 'cpan/podlators/',
1205                              'scripts/' => 'pod/',
1206                            },
1207         'UPSTREAM'      => 'cpan',
1208         },
1209
1210     'Safe' =>
1211         {
1212         'MAINTAINER'    => 'rgarcia',
1213         'DISTRIBUTION'  => 'RGARCIA/Safe-2.22.tar.gz',
1214         'FILES'         => q[dist/Safe],
1215         'UPSTREAM'      => 'blead',
1216         },
1217
1218     'Scalar-List-Utils' =>
1219         {
1220         'MAINTAINER'    => 'gbarr',
1221         'DISTRIBUTION'  => 'GBARR/Scalar-List-Utils-1.23.tar.gz',
1222         # Note that perl uses its own version of Makefile.PL
1223         'FILES'         => q[cpan/List-Util],
1224         'EXCLUDED'      => [ qr{^inc/Module/},
1225                              qr{^inc/Test/},
1226                              qw{ mytypemap },
1227                            ],
1228         'UPSTREAM'      => undef,
1229         },
1230
1231     'SelfLoader' =>
1232         {
1233         'MAINTAINER'    => 'smueller',
1234         'DISTRIBUTION'  => 'SMUELLER/SelfLoader-1.17.tar.gz',
1235         'FILES'         => q[dist/SelfLoader],
1236         'EXCLUDED'      => [ qw{ t/00pod.t } ],
1237         'UPSTREAM'      => 'blead',
1238         },
1239
1240     'Storable' =>
1241         {
1242         'MAINTAINER'    => 'ams',
1243         'DISTRIBUTION'  => 'AMS/Storable-2.21.tar.gz',
1244         'FILES'         => q[dist/Storable],
1245         'EXCLUDED'      => [ qr{^t/Test/} ],
1246         'UPSTREAM'      => 'blead',
1247         },
1248
1249     'Sys::Syslog' =>
1250         {
1251         'MAINTAINER'    => 'saper',
1252         'DISTRIBUTION'  => 'SAPER/Sys-Syslog-0.27.tar.gz',
1253         'FILES'         => q[cpan/Sys-Syslog],
1254         'EXCLUDED'      => [ qr{^eg/},
1255                              qw{t/data-validation.t
1256                                 t/distchk.t
1257                                 t/pod.t
1258                                 t/podcover.t
1259                                 t/podspell.t
1260                                 t/portfs.t
1261                                 win32/PerlLog.RES
1262                                },
1263                            ],
1264         'UPSTREAM'      => 'cpan',
1265         },
1266
1267     'Term::ANSIColor' =>
1268         {
1269         'MAINTAINER'    => 'rra',
1270         'DISTRIBUTION'  => 'RRA/ANSIColor-2.02.tar.gz',
1271         'FILES'         => q[cpan/Term-ANSIColor],
1272         'EXCLUDED'      => [ qr{^tests/}, qw(t/pod-spelling.t t/pod.t) ],
1273         'UPSTREAM'      => 'cpan',
1274         },
1275
1276     'Term::Cap' =>
1277         {
1278         'MAINTAINER'    => 'jstowe',
1279         'DISTRIBUTION'  => 'JSTOWE/Term-Cap-1.12.tar.gz',
1280         'FILES'         => q[cpan/Term-Cap],
1281         'UPSTREAM'      => undef,
1282         },
1283
1284     'Term::UI' =>
1285         {
1286         'MAINTAINER'    => 'kane',
1287         'DISTRIBUTION'  => 'KANE/Term-UI-0.20.tar.gz',
1288         'FILES'         => q[cpan/Term-UI],
1289         'UPSTREAM'      => 'cpan',
1290         },
1291
1292     'Test' =>
1293         {
1294         'MAINTAINER'    => 'jesse',
1295         'DISTRIBUTION'  => 'JESSE/Test-1.25_02.tar.gz',
1296         'FILES'         => q[cpan/Test],
1297         'UPSTREAM'      => 'cpan',
1298         },
1299
1300     'Test::Harness' =>
1301         {
1302         'MAINTAINER'    => 'andya',
1303         'DISTRIBUTION'  => 'ANDYA/Test-Harness-3.17.tar.gz',
1304         'FILES'         => q[cpan/Test-Harness],
1305         'EXCLUDED'      => [ qr{^examples/},
1306                              qr{^inc/},
1307                              qr{^t/lib/Test/},
1308                              qr{^xt/},
1309                              qw{Changes-2.64
1310                                 HACKING.pod
1311                                 perlcriticrc
1312                                 t/lib/if.pm
1313                                }
1314                            ],
1315         'UPSTREAM'      => undef,
1316         },
1317
1318     'Test::Simple' =>
1319         {
1320         'MAINTAINER'    => 'mschwern',
1321         'DISTRIBUTION'  => 'MSCHWERN/Test-Simple-0.94.tar.gz',
1322         'FILES'         => q[cpan/Test-Simple],
1323         'EXCLUDED'      => [
1324                              qw{.perlcriticrc
1325                                 .perltidyrc
1326                                 t/00compile.t
1327                                 t/pod.t
1328                                 t/pod-coverage.t
1329                                 t/Builder/reset_outputs.t
1330                                 lib/Test/Builder/IO/Scalar.pm
1331                                }
1332                            ],
1333         'UPSTREAM'      => 'cpan',
1334         },
1335
1336     'Text::Balanced' =>
1337         {
1338         'MAINTAINER'    => 'dmanura',
1339         'DISTRIBUTION'  => 'ADAMK/Text-Balanced-2.02.tar.gz',
1340         'FILES'         => q[cpan/Text-Balanced],
1341         'EXCLUDED'      => [ qw( t/97_meta.t t/98_pod.t t/99_pmv.t ) ],
1342         'UPSTREAM'      => undef,
1343         },
1344
1345     'Text::ParseWords' =>
1346         {
1347         'MAINTAINER'    => 'chorny',
1348         'DISTRIBUTION'  => 'CHORNY/Text-ParseWords-3.27.zip',
1349         'FILES'         => q[cpan/Text-ParseWords],
1350         'EXCLUDED'      => [ qw( t/pod.t ) ],
1351         # For the benefit of make_ext.pl, we have to have this accessible:
1352         'MAP'           => {
1353                              'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
1354                              ''              => 'cpan/Text-ParseWords/',
1355                            },
1356         'UPSTREAM'      => undef,
1357         },
1358
1359     'Text::Soundex' =>
1360         {
1361         'MAINTAINER'    => 'markm',
1362         'DISTRIBUTION'  => 'MARKM/Text-Soundex-3.03.tar.gz',
1363         'FILES'         => q[cpan/Text-Soundex],
1364         'MAP'           => { ''               => 'cpan/Text-Soundex/',
1365                              # XXX these two files are clearly related,
1366                              # but they appear to have diverged
1367                              # considerably over the years
1368                              'test.pl'        => 'cpan/Text-Soundex/t/Soundex.t',
1369                            },
1370         'UPSTREAM'      => undef,
1371         },
1372
1373     'Text-Tabs+Wrap' =>
1374         {
1375         'MAINTAINER'    => 'muir',
1376         'DISTRIBUTION'  => 'MUIR/modules/Text-Tabs+Wrap-2009.0305.tar.gz',
1377         'FILES'         => q[cpan/Text-Tabs],
1378         'EXCLUDED'      => [ qw( t/dnsparks.t ) ], # see af6492bf9e
1379         'UPSTREAM'      => 'cpan',
1380         },
1381
1382     'Thread::Queue' =>
1383         {
1384         'MAINTAINER'    => 'jdhedden',
1385         'DISTRIBUTION'  => 'JDHEDDEN/Thread-Queue-2.11.tar.gz',
1386         'FILES'         => q[dist/Thread-Queue],
1387         'EXCLUDED'      => [ qw(examples/queue.pl
1388                                 t/00_load.t
1389                                 t/99_pod.t
1390                                 t/test.pl
1391                                ) ],
1392         'UPSTREAM'      => 'blead',
1393         },
1394
1395     'Thread::Semaphore' =>
1396         {
1397         'MAINTAINER'    => 'jdhedden',
1398         'DISTRIBUTION'  => 'JDHEDDEN/Thread-Semaphore-2.09.tar.gz',
1399         'FILES'         => q[dist/Thread-Semaphore],
1400         'EXCLUDED'      => [ qw(examples/semaphore.pl
1401                                 t/00_load.t
1402                                 t/99_pod.t
1403                                 t/test.pl
1404                                ) ],
1405         'UPSTREAM'      => 'blead',
1406         },
1407
1408     'threads' =>
1409         {
1410         'MAINTAINER'    => 'jdhedden',
1411         'DISTRIBUTION'  => 'JDHEDDEN/threads-1.77.tar.gz',
1412         'FILES'         => q[dist/threads],
1413         'EXCLUDED'      => [ qw(examples/pool.pl
1414                                 t/pod.t
1415                                 t/test.pl
1416                                 threads.h
1417                                ) ],
1418         'UPSTREAM'      => 'blead',
1419         },
1420
1421     'threads::shared' =>
1422         {
1423         'MAINTAINER'    => 'jdhedden',
1424         'DISTRIBUTION'  => 'JDHEDDEN/threads-shared-1.33.tar.gz',
1425         'FILES'         => q[dist/threads-shared],
1426         'EXCLUDED'      => [ qw(examples/class.pl
1427                                 shared.h
1428                                 t/pod.t
1429                                 t/test.pl
1430                                ) ],
1431         'UPSTREAM'      => 'blead',
1432         },
1433
1434     'Tie::File' =>
1435         {
1436         'MAINTAINER'    => 'mjd',
1437         'DISTRIBUTION'  => 'MJD/Tie-File-0.96.tar.gz',
1438         'FILES'         => q[cpan/Tie-File],
1439         'UPSTREAM'      => undef,
1440         },
1441
1442     'Tie::RefHash' =>
1443         {
1444         'MAINTAINER'    => 'nuffin',
1445         'DISTRIBUTION'  => 'NUFFIN/Tie-RefHash-1.38.tar.gz',
1446         'FILES'         => q[cpan/Tie-RefHash],
1447         'UPSTREAM'      => 'cpan',
1448         },
1449
1450     'Time::HiRes' =>
1451         {
1452         'MAINTAINER'    => 'zefram',
1453         'DISTRIBUTION'  => 'JHI/Time-HiRes-1.9719.tar.gz',
1454         'FILES'         => q[cpan/Time-HiRes],
1455         'UPSTREAM'      => undef,
1456         },
1457
1458     'Time::Local' =>
1459         {
1460         'MAINTAINER'    => 'drolsky',
1461         'DISTRIBUTION'  => 'DROLSKY/Time-Local-1.1901.tar.gz',
1462         'FILES'         => q[ext/Time-Local],
1463         'EXCLUDED'      => [ qw(t/pod-coverage.t t/pod.t) ],
1464         'UPSTREAM'      => 'blead',
1465         # Currently Time::Local is no longer backwards compatible with Pre-5.11 perls
1466         # the version in core has now deviated from the CPAN version. To re-dual-life
1467         # this module, we'll need to rewrite a hybrid version
1468         },
1469
1470     'Time::Piece' =>
1471         {
1472         'MAINTAINER'    => 'msergeant',
1473         'DISTRIBUTION'  => 'MSERGEANT/Time-Piece-1.15.tar.gz',
1474         'FILES'         => q[cpan/Time-Piece],
1475         'UPSTREAM'      => undef,
1476         },
1477
1478     'Unicode::Collate' =>
1479         {
1480         'MAINTAINER'    => 'sadahiro',
1481         'DISTRIBUTION'  => 'SADAHIRO/Unicode-Collate-0.52.tar.gz',
1482         'FILES'         => q[cpan/Unicode-Collate],
1483                             # ignore experimental XS version
1484         'EXCLUDED'      => [ qr{X$},
1485                              qw{disableXS enableXS }
1486                            ],
1487         'UPSTREAM'      => 'first-come',
1488         },
1489
1490     'Unicode::Normalize' =>
1491         {
1492         'MAINTAINER'    => 'sadahiro',
1493         'DISTRIBUTION'  => 'SADAHIRO/Unicode-Normalize-1.03.tar.gz',
1494         'FILES'         => q[cpan/Unicode-Normalize],
1495         'EXCLUDED'      => [ qw{MANIFEST.N Normalize.pmN disableXS enableXS }],
1496         'UPSTREAM'      => 'first-come',
1497         },
1498
1499     'version' =>
1500         {
1501         'MAINTAINER'    => 'jpeacock',
1502         'DISTRIBUTION'  => 'JPEACOCK/version-0.77.tar.gz',
1503         'FILES'         => q[lib/version.pm lib/version.pod lib/version.t
1504                              lib/version],
1505         'EXCLUDED'      => [ qr{^t/.*\.t$}, qw{t/survey_locales}, qr{^vutil/},
1506                              qw{lib/version/typemap},
1507                              qw{vperl/vpp.pm},
1508                            ],
1509         'MAP'           => { 'lib/'           => 'lib/',
1510                              't/coretests.pm' => 'lib/version.t',
1511                            },
1512         'UPSTREAM'      => undef,
1513         },
1514
1515     'vms' =>
1516         {
1517         'MAINTAINER'    => 'craig',
1518         'FILES'         => q[vms configure.com README.vms],
1519         'UPSTREAM'      => undef,
1520         },
1521
1522     'VMS::DCLsym' =>
1523         {
1524         'MAINTAINER'    => 'craig',
1525         'FILES'         => q[ext/VMS-DCLsym],
1526         'UPSTREAM'      => undef,
1527         },
1528
1529     'VMS::Stdio' =>
1530         {
1531         'MAINTAINER'    => 'craig',
1532         'FILES'         => q[ext/VMS-Stdio],
1533         'UPSTREAM'      => undef,
1534         },
1535
1536     'warnings' =>
1537         {
1538         'MAINTAINER'    => 'pmqs',
1539         'FILES'         => q[warnings.pl
1540                              lib/warnings.{pm,t}
1541                              lib/warnings
1542                              t/lib/warnings
1543                             ],
1544         'UPSTREAM'      => undef,
1545         },
1546
1547     'win32' =>
1548         {
1549         'MAINTAINER'    => 'jand',
1550         'FILES'         => q[win32 t/win32 README.win32 ext/Win32CORE],
1551         'UPSTREAM'      => undef,
1552         },
1553
1554     'Win32' =>
1555         {
1556         'MAINTAINER'    => 'jand',
1557         'DISTRIBUTION'  => "JDB/Win32-0.39.tar.gz",
1558         'FILES'         => q[cpan/Win32],
1559         'UPSTREAM'      => 'cpan',
1560         },
1561
1562     'Win32API::File' =>
1563         {
1564         'MAINTAINER'    => 'chorny',
1565         'DISTRIBUTION'  => 'CHORNY/Win32API-File-0.1101.zip',
1566         'FILES'         => q[cpan/Win32API-File],
1567         'EXCLUDED'      => [ qr{^ex/},
1568                              qw{t/pod.t},
1569                            ],
1570         'UPSTREAM'      => 'cpan',
1571         },
1572
1573     'XS::APItest::KeywordRPN' =>
1574         {
1575         'MAINTAINER'    => 'zefram',
1576         'FILES'         => q[ext/XS-APItest-KeywordRPN],
1577         'UPSTREAM'      => 'blead',
1578         },
1579
1580     'XSLoader' =>
1581         {
1582         'MAINTAINER'    => 'saper',
1583         'DISTRIBUTION'  => 'SAPER/XSLoader-0.10.tar.gz',
1584         'FILES'         => q[dist/XSLoader],
1585         'EXCLUDED'      => [ qr{^eg/},
1586                              qw{t/pod.t
1587                                 t/podcover.t
1588                                 t/portfs.t
1589                                 XSLoader.pm}, # we use XSLoader_pm.PL
1590                            ],
1591         'UPSTREAM'      => 'blead',
1592         },
1593
1594     's2p' =>
1595         {
1596         'MAINTAINER'    => 'laun',
1597         'FILES'         => q[x2p/s2p.PL],
1598         'UPSTREAM'      => undef,
1599         },
1600
1601
1602     # this pseudo-module represents all the files under ext/ and lib/
1603     # that aren't otherwise claimed. This means that the following two
1604     # commands will check that every file under ext/ and lib/ is
1605     # accounted for, and that there are no duplicates:
1606     #
1607     #    perl Porting/Maintainers --checkmani lib ext
1608     #    perl Porting/Maintainers --checkmani
1609
1610     '_PERLLIB' =>
1611         {
1612         'MAINTAINER'    => 'p5p',
1613         'FILES'         => q[
1614                                 ext/autouse/lib
1615                                 ext/autouse/t
1616                                 ext/B/B.pm
1617                                 ext/B/typemap
1618                                 ext/B/Makefile.PL
1619                                 ext/B/defsubs_h.PL
1620                                 ext/B/O.pm
1621                                 ext/B/B.xs
1622                                 ext/B/B/Terse.pm
1623                                 ext/B/B/Showlex.pm
1624                                 ext/B/B/Xref.pm
1625                                 ext/B/t/f_map
1626                                 ext/B/t/showlex.t
1627                                 ext/B/t/o.t
1628                                 ext/B/t/optree_varinit.t
1629                                 ext/B/t/concise-xs.t
1630                                 ext/B/t/optree_check.t
1631                                 ext/B/t/OptreeCheck.pm
1632                                 ext/B/t/optree_specials.t
1633                                 ext/B/t/f_sort.t
1634                                 ext/B/t/pragma.t
1635                                 ext/B/t/f_sort
1636                                 ext/B/t/b.t
1637                                 ext/B/t/optree_samples.t
1638                                 ext/B/t/optree_concise.t
1639                                 ext/B/t/optree_constants.t
1640                                 ext/B/t/optree_sort.t
1641                                 ext/B/t/terse.t
1642                                 ext/B/t/xref.t
1643                                 ext/B/t/f_map.t
1644                                 ext/B/t/optree_misc.t
1645                                 ext/B/hints/openbsd.pl
1646                                 ext/B/hints/darwin.pl
1647
1648                                 ext/Devel-DProf/
1649                                 ext/Devel-Peek/
1650                                 ext/Devel-SelfStubber/
1651                                 ext/DynaLoader/
1652                                     !ext/DynaLoader/t/XSLoader.t
1653                                     !ext/DynaLoader/XSLoader_pm.PL
1654                                 ext/Errno
1655                                 ext/Fcntl/
1656                                 ext/File-Glob/
1657                                 ext/FileCache/lib
1658                                 ext/FileCache/t
1659                                 ext/GDBM_File/
1660                                 ext/Hash-Util-FieldHash/
1661                                 ext/Hash-Util/
1662                                 ext/I18N-Langinfo/
1663                                 ext/IPC-Open2/
1664                                 ext/IPC-Open3/
1665                                 ext/NDBM_File/
1666                                 ext/ODBM_File/
1667                                 ext/Opcode/
1668                                 ext/POSIX/
1669                                 ext/PerlIO-encoding/
1670                                 ext/PerlIO-scalar/
1671                                 ext/PerlIO-via/
1672                                 ext/SDBM_File/
1673                                 ext/Socket/
1674                                 ext/Sys-Hostname/
1675                                 ext/Tie-Memoize/
1676                                 ext/XS-APItest/
1677                                 ext/XS-Typemap/
1678                                 ext/attributes/
1679                                 ext/mro/
1680                                 ext/re/
1681                                 lib/AnyDBM_File.{pm,t}
1682                                 lib/Benchmark.{pm,t}
1683                                 lib/CORE.pod
1684                                 lib/Carp.{pm,t}
1685                                 lib/Carp/Heavy.pm
1686                                 lib/Class/Struct.{pm,t}
1687                                 lib/Config.t
1688                                 lib/Config/Extensions.{pm,t}
1689                                 lib/DB.{pm,t}
1690                                 lib/DBM_Filter.pm
1691                                 lib/DBM_Filter/
1692                                 lib/DirHandle.{pm,t}
1693                                 lib/Dumpvalue.{pm,t}
1694                                 lib/English.{pm,t}
1695                                 lib/Env.pm
1696                                 lib/Env/t/
1697                                 lib/ExtUtils/Embed.pm
1698                                 lib/ExtUtils/XSSymSet.pm
1699                                 lib/ExtUtils/t/Embed.t
1700                                 lib/ExtUtils/typemap
1701                                 lib/File/Basename.{pm,t}
1702                                 lib/File/CheckTree.{pm,t}
1703                                 lib/File/Compare.{pm,t}
1704                                 lib/File/Copy.{pm,t}
1705                                 lib/File/DosGlob.{pm,t}
1706                                 lib/File/Find.pm
1707                                 lib/File/Find/
1708                                 lib/File/stat.{pm,t}
1709                                 lib/FileHandle.{pm,t}
1710                                 lib/FindBin.{pm,t}
1711                                 lib/Getopt/Std.{pm,t}
1712                                 lib/I18N/Collate.{pm,t}
1713                                 lib/Internals.t
1714                                 lib/Module/Build/ConfigData.pm
1715                                 lib/Net/hostent.{pm,t}
1716                                 lib/Net/netent.{pm,t}
1717                                 lib/Net/protoent.{pm,t}
1718                                 lib/Net/servent.{pm,t}
1719                                 lib/PerlIO.pm
1720                                 lib/Pod/Functions.pm
1721                                 lib/Pod/Html.pm
1722                                 lib/Pod/t/Functions.t
1723                                 lib/Pod/t/InputObjects.t
1724                                 lib/Pod/t/Select.t
1725                                 lib/Pod/t/Usage.t
1726                                 lib/Pod/t/eol.t
1727                                 lib/Pod/t/html*
1728                                 lib/Pod/t/pod2html-lib.pl
1729                                 lib/Pod/t/utils.t
1730                                 lib/Search/Dict.{pm,t}
1731                                 lib/SelectSaver.{pm,t}
1732                                 lib/Symbol.{pm,t}
1733                                 lib/Term/Complete.{pm,t}
1734                                 lib/Term/ReadLine.{pm,t}
1735                                 lib/Text/Abbrev.{pm,t}
1736                                 lib/Thread.{pm,t}
1737                                 lib/Tie/Array.pm
1738                                 lib/Tie/Array/
1739                                 lib/Tie/Handle.pm
1740                                 lib/Tie/Handle/
1741                                 lib/Tie/Hash.pm
1742                                 lib/Tie/Hash/NamedCapture.pm
1743                                 lib/Tie/Scalar.{pm,t}
1744                                 lib/Tie/StdHandle.pm
1745                                 lib/Tie/SubstrHash.{pm,t}
1746                                 lib/Time/gmtime.{pm,t}
1747                                 lib/Time/localtime.{pm,t}
1748                                 lib/Time/tm.pm
1749                                 lib/UNIVERSAL.pm
1750                                 lib/Unicode/README
1751                                 lib/Unicode/UCD.{pm,t}
1752                                 lib/User/grent.{pm,t}
1753                                 lib/User/pwent.{pm,t}
1754                                 lib/abbrev.pl
1755                                 lib/assert.pl
1756                                 lib/bigfloat{.pl,pl.t}
1757                                 lib/bigint{.pl,pl.t}
1758                                 lib/bigrat.pl
1759                                 lib/blib.{pm,t}
1760                                 lib/bytes.{pm,t}
1761                                 lib/bytes_heavy.pl
1762                                 lib/cacheout.pl
1763                                 lib/charnames.{pm,t}
1764                                 lib/complete.pl
1765                                 lib/ctime.pl
1766                                 lib/dbm_filter_util.pl
1767                                 lib/deprecate.pm
1768                                 lib/diagnostics.{pm,t}
1769                                 lib/dotsh.pl
1770                                 lib/dumpvar.{pl,t}
1771                                 lib/exceptions.pl
1772                                 lib/fastcwd.pl
1773                                 lib/feature.{pm,t}
1774                                 lib/feature/
1775                                 lib/filetest.{pm,t}
1776                                 lib/find.pl
1777                                 lib/finddepth.pl
1778                                 lib/flush.pl
1779                                 lib/getcwd.pl
1780                                 lib/getopt.pl
1781                                 lib/getopts.pl
1782                                 lib/h2ph.t
1783                                 lib/h2xs.t
1784                                 lib/hostname.pl
1785                                 lib/importenv.pl
1786                                 lib/integer.{pm,t}
1787                                 lib/legacy.{pm,t}
1788                                 lib/less.{pm,t}
1789                                 lib/locale.{pm,t}
1790                                 lib/look.pl
1791                                 lib/open.{pm,t}
1792                                 lib/open2.pl
1793                                 lib/open3.pl
1794                                 lib/overload{.pm,.t,64.t}
1795                                 lib/overload/numbers.pm
1796                                 lib/overloading.{pm,t}
1797                                 lib/perl5db.{pl,t}
1798                                 lib/perl5db/
1799                                 lib/pwd.pl
1800                                 lib/shellwords.pl
1801                                 lib/sigtrap.{pm,t}
1802                                 lib/sort.{pm,t}
1803                                 lib/stat.pl
1804                                 lib/strict.{pm,t}
1805                                 lib/subs.{pm,t}
1806                                 lib/syslog.pl
1807                                 lib/tainted.pl
1808                                 lib/termcap.pl
1809                                 lib/timelocal.pl
1810                                 lib/unicore/
1811                                 lib/utf8.{pm,t}
1812                                 lib/utf8_heavy.pl
1813                                 lib/validate.pl
1814                                 lib/vars{.pm,.t,_carp.t}
1815                                 lib/vmsish.{pm,t}
1816                             ],
1817         'UPSTREAM'      => undef,
1818         },
1819 );
1820
1821 # legacy CPAN flag
1822 for (values %Modules) {
1823     $_->{CPAN} = !!$_->{DISTRIBUTION};
1824 }
1825
1826 1;