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