Make given() statements return the last evaluated expression
[p5sagit/p5-mst-13.2.git] / cpan / CPAN / Makefile.PL
1 #!/usr/bin/perl -w -*- mode: cperl -*-
2 use strict;
3 use vars qw( $VERSION @ST_PREFS );
4 BEGIN {$CPAN::Config_loaded=1}
5 BEGIN {$CPAN::Config_loaded=1} # keep old perls with -w quiet
6 use ExtUtils::MakeMaker qw(:DEFAULT);
7 use File::Path;
8 eval { require File::Spec; };
9 my $HAVE_FILE_SPEC = !$@;
10 eval { require YAML::Syck; };
11 my $HAVE_YAML_SYCK = !$@;
12 use File::Basename qw(basename);
13 require Config;
14 my $HAVE_MAKE = basename($Config::Config{make}) eq "make"; # file-scoped!
15
16 # storable pref files
17 @ST_PREFS = qw(
18               );
19
20
21 my $Id = q$Id: Makefile.PL 146 2005-08-09 04:25:21Z k $;
22 $VERSION = sprintf "%.3f", 1 + substr(q$Rev: 146 $,4)/1000;
23
24 my $version_diff = 0; # we'll have to die if this becomes true
25 my $version_from;
26 {
27   local $^W;
28   $ExtUtils::MakeMaker::VERSION = eval $ExtUtils::MakeMaker::VERSION;
29 }
30 if ($HAVE_FILE_SPEC) {
31   $version_from = File::Spec->catfile(qw(lib CPAN.pm));
32   my $version_set_manually = 1; # not by SVN
33
34   if ($ARGV[0] && $ARGV[0] eq "--setversion") {
35     die "Your perl is a bit dated[$]].\nDo not make a release with it\n" if $] < 5.008;
36     die "Your MakeMaker is a bit dated[$ExtUtils::MakeMaker::VERSION].\nDo not make a release with it\n"
37         if $ExtUtils::MakeMaker::VERSION < 6.4502;
38     die "Your MakeMaker doesn't do the sign woodoo" unless
39         MM->can("signature_target");
40     shift @ARGV;
41     my $st;
42     local $ENV{LANG} = "C";
43     my $dirty = ! system "git status -a > /dev/null";
44     die "Not everything checked in or out?" if $dirty;
45
46     if ($version_set_manually) {
47       # we must control that the VERSION in CPAN.pm is the same as in the Makefile
48       unshift @INC, "lib";
49       require $version_from;
50       open my $fh, "make the-release-name|" or die;
51       my $have_version;
52       while (<$fh>) {
53         next unless /^version\s+([\d\._]+)/;
54         $have_version = eval $1;
55       }
56       die "could not determine current version from Makefile" unless $have_version;
57       eval q{
58       no warnings "numeric";
59       if ($CPAN::VERSION != $have_version) {
60         warn "Not equal: CPAN::VERSION[$CPAN::VERSION] Makefile version[$have_version]";
61         $version_diff = 1;
62       }
63 };
64       die $@ if $@;
65     }
66     exit unless $version_diff;
67   }
68 }
69
70 # for 5.004_05 I installed all of them manually despite errors;
71 # version hints as of 2006-02
72 my $prereq_pm = {
73                  'File::Spec' => 0,   # KWILLIAMS; requires
74                                       # Scalar::Util;
75                                       # PathTools-3.16.tar.gz
76                  'File::Temp' => 0,   # TJENNESS; requires Test::More;
77                  'Net::Ping' => 0,    # SMPETERS;
78                  'Scalar::Util' => 0, # GBARR;
79                                       # Scalar-List-Utils-1.18.tar.gz;
80                  'Test::Harness' => 2.62,
81                  'Test::More' => 0,   # MSCHWERN;
82                                       # Test-Simple-0.62.tar.gz;
83                 };
84 if ($^O eq "darwin") {
85   $prereq_pm->{'File::HomeDir'} = 0.69;
86 }
87
88 # if they have one of these we declare it as prereq for better reporting
89 for my $interesting_module (qw(
90         Archive::Tar
91         Archive::Zip
92         CPAN::Checksums
93         Compress::Zlib
94         Data::Dumper
95         Digest::SHA
96         ExtUtils::CBuilder
97         File::Copy
98         File::HomeDir
99         File::Spec
100         File::Temp
101         File::Which
102         IO::Compress::Base
103         IO::Zlib
104         Module::Build
105         Net::FTP
106         Parse::CPAN::Meta
107         Scalar::Util
108         Term::ReadKey
109         Term::ReadLine::Perl
110         Test::More
111         Text::Glob
112         Text::ParseWords
113         Text::Wrap
114         YAML
115         YAML::Syck
116         YAML::XS
117                              )) {
118     eval "require $interesting_module";
119     if (!$@) {
120         $prereq_pm->{$interesting_module} ||= 0;
121     }
122 }
123 if ($HAVE_FILE_SPEC) {
124   # import PAUSE public key to user's keychain
125   require Config;
126   my $dir;
127   for $dir (split /$Config::Config{path_sep}/, $ENV{PATH}) {
128     my $abs = File::Spec->catfile($dir, 'gpg');
129     my $cmd;
130     if ($cmd = MM->maybe_command($abs)) {
131       print "Importing PAUSE public key into your GnuPG keychain... ";
132       system($cmd, '--quiet', '--import', <PAUSE*.pub>);
133       print "done!\n";
134       print "(You may wish to trust it locally with 'gpg --lsign-key 450F89EC')\n";
135       last;
136     }
137   }
138 }
139
140 if ($HAVE_FILE_SPEC) {
141     my $have_distroprefs = -d "distroprefs";
142     my $have_notinchecksums = -f File::Spec->catdir("t","CPAN","authors","id","A","AN","ANDK","NotInChecksums-0.000.tar.gz");
143     if ($have_distroprefs && !$have_notinchecksums) {
144         warn <<EOW;
145
146 ####-Note-for-repository-users-####
147 Please try
148   make testdistros
149 before running 'make test'
150 It builds various missing pieces
151 ####-Note-for-repository-users-####
152
153 EOW
154     }
155 }
156 my @sign = (MM->can("signature_target") ? (SIGN => 1) : ());
157 # warn "sign[@sign]";
158 WriteMakefile(
159               INSTALLDIRS  => 'perl',  # as it is coming with perl
160               NAME         => 'CPAN',
161               VERSION_FROM => $version_from,
162               EXE_FILES    => [qw(scripts/cpan)],
163               PREREQ_PM    => $prereq_pm,
164               ($ExtUtils::MakeMaker::VERSION >= 6.3002 ?
165                (LICENSE      => "perl") : (),
166               ),
167               ($ExtUtils::MakeMaker::VERSION >= 6.48 ?
168                (MIN_PERL_VERSION => '5.004') : (),
169               ),
170               clean        => {
171                                FILES => "lib/CPAN/Config.pm t/dot-cpan/FTPstats.yml",
172                               },
173               @sign,
174               ($] >= 5.005 ?
175                (
176                 ABSTRACT_FROM  => 'lib/CPAN.pm', # retrieve abstract from module
177                 AUTHOR         => 'Andreas Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>') : (),
178               ),
179               dist => {
180                        DIST_DEFAULT => join(" ", # note: order matters!
181                                             "verify-no-subdir",
182                                             "verify-changes-date",
183                                             "verify-changes-version",
184                                             "kwalify-distroprefs",
185                                             "Makefile",
186                                             "no_CR",
187                                             "META.yml",
188                                             "setversion",
189                                             "README",
190                                             "testdistros",
191                                             "all",
192                                             "tardist",
193                                            ),
194                        COMPRESS => 'gzip -9',
195                       },
196               # I took it from RT-CPAN ticket 30098:
197               ($ExtUtils::MakeMaker::VERSION >= 6.4502 ?
198                (META_ADD => {
199                              resources => {
200                                  repository => "git://github.com/andk/cpanpm.git",
201                              },
202                              keywords => ['CPAN','module','module installation'],
203                             }) : ()),
204              );
205
206 if ($version_diff){
207   die "
208 ==> I had to update some \$VERSIONs <==
209 ==> Your Makefile has been rebuilt. <==
210 ==> Please rerun the make command.  <==
211 ";
212 }
213
214 package MY;
215
216 sub macro {
217     q{
218 LC_ALL_noexport=en_GB.utf8
219
220 YAML_MODULE=YAML::Syck
221 }
222 }
223
224 sub postamble {
225   return "" unless $HAVE_MAKE; # dmake has unknown issues with my Makefile
226   my @m;
227   push @m, q{
228 .SUFFIXES: .rnc .rng
229
230 .rnc.rng:
231         trang -I rnc -O rng $*.rnc $*.rng
232
233 update: dd-prefs
234
235 # the subdirs on MY OWN BOX are allowed here (only used for make dist!)
236 OKDIRS=CPAN|DIST|bin|blib|cover_db|\
237        distroprefs|eg|inc|lib|logs|patches|perlbug|\
238        protocols|related|release-lib|scripts|t|talks
239
240 verify-no-subdir:
241         @$(PERL) -e 'my$$s=join",",grep{!/^($(OKDIRS))\z/x&&-d($$_)}glob"*";' \
242                 -e 'die"unexpected dir:$$s"if$$s'
243
244 verify-changes-date:
245         @$(PERL) -ne 'BEGIN{my@t=(localtime)[5,4,3];$$t[0]+=1900;$$t[1]++;$$t=sprintf"%04d-%02d-%02d",@t}' \
246                 -e '$$ok++,exit if /^$$t\s/; END{die "Alert: did not find <$$t> in Changes file" unless $$ok}' Changes
247
248 verify-changes-version:
249         @$(PERL) -ne '$$ok++,exit if /\b$(VERSION)\b/; END{die "Alert: did not find <$(VERSION)> in Changes file" unless $$ok}' Changes
250
251 kwalify-distroprefs:
252         `echo $(PERL) | sed -e 's/perl$$/slaymake/'` validate
253
254 setversion:
255         $(PERL) Makefile.PL --setversion
256
257 README: lib/CPAN.pm Makefile
258         -[ -r $@ ] && chmod +w $@
259         -$(PERL) -MPod::Text -e 'Pod::Text->new->parse_from_file(\*ARGV)' lib/CPAN.pm > $@
260
261 the-release-name :
262         $(NOECHO) $(ECHO) 'version ' $(VERSION)
263         $(NOECHO) $(ECHO) 'release-name ' $(DISTVNAME).tar$(SUFFIX)
264
265 release :: disttest
266         git tag -m 'This is $(VERSION)' "$(VERSION)"
267         ls -l $(DISTVNAME).tar$(SUFFIX)
268         rm -rf $(DISTVNAME)
269         $(NOECHO) $(ECHO) '%   lftp pause.perl.org'
270         $(NOECHO) $(ECHO) '>   cd incoming'
271         $(NOECHO) $(ECHO) '>   put $(DISTVNAME).tar$(SUFFIX)'
272         $(NOECHO) $(ECHO) '>   quit'
273         $(NOECHO) $(ECHO) '%   git push --tags master'
274
275 snapshot : Makefile no_CR META.yml README testdistros all tardist
276
277 # 16=Distribution; 32=Bundle; 32768=Queue
278 depefails:
279         $(PERL) -Ilib -MCPAN -e 'CPAN::HandleConfig->load;$$CPAN::DEBUG|=16;$$CPAN::DEBUG|=32;$$CPAN::DEBUG|=32768;install(qw(CPAN::Test::Dummy::Perl5::Build::DepeFails));'
280
281 logs/.exists :
282         mkdir -p logs
283         touch $@
284
285 run :
286         $(PERL) -Ilib -MCPAN -eshell
287
288 run_testenv_db :
289         $(PERL) -Ilib -It -MCPAN::MyConfig -MCPAN -deshell
290
291 record-session :
292         $(PERL) -Ilib -MCPAN -e '$$CPAN::Suppress_readline=$$CPAN::Echo_readline=1;shell' | tee ttt.out
293
294 run-with-sqlite :
295         $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::SQLite -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{use_sqlite}++; $$CPAN::Config->{sqlite_dbname}="cpandb-sqlite"; shell'
296
297 testrun_very_offline : rm_mirrored_by run_emu_offline
298
299 testrun_emu_offline :
300         $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::MyConfig -MCPAN -e '@CPAN::Defaultsites = qw(file:///dev/null); $$CPAN::Config->{urllist} = []; shell'
301
302 rm_mirrored_by :
303         rm -f $$HOME/.cpan/sources/MIRRORED.BY*
304
305 testrun_http_only :
306         $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{urllist} = [qw(http://www.planet-elektronik.de/CPAN/)]; shell'
307
308 urllist :
309         $(PERL) -Ilib -MCPAN -MCPAN::FirstTime -e 'CPAN::FirstTime::init("$$ENV{HOME}/.cpan/CPAN/MyConfig", args => [qw(urllist)])'
310
311 runadmin :
312         $(PERL) -Ilib -MCPAN::Admin -eshell
313
314 rundb :
315         $(PERL) -Ilib -MCPAN -deshell
316
317 sign:
318         cpansign -s
319
320 show-batch-signing-keys:
321         for f in PAUSE*.pub; do echo "++++$$f++++"; gpg --verbose --with-colons $$f; done
322
323 show-imported:
324         gpg --list-sigs --with-colons 450F89EC
325
326 # seems to need at least gnupg 1.4.2:
327 upload-batch-signing-key:
328         gpg --send-key 450F89EC
329
330 howto-release:
331         @$(ECHO) make ci dist \&\& make release
332
333 META.yml: metafile
334         $(CP) $(DISTVNAME)/META.yml  ./META.yml
335
336 install-devel-cover-unless-uptodate:
337         $(PERL) -Ilib -MCPAN -e 'CPAN::Shell->install("/home/src/perl/devel-cover/SVN/.") unless CPAN::Shell->expand("Module","Devel::Cover")->uptodate'
338
339 install-devel-cover-unconditionally:
340         $(PERL) -Ilib -MCPAN -e 'CPAN::Shell->install("/home/src/perl/devel-cover/SVN/.")'
341
342 testcover: testdistros install-devel-cover-unless-uptodate
343         :>SIGNATURE
344         $(PERL) -MDevel::Cover -e 0
345         `dirname $(PERL)`/cover -delete
346         HARNESS_PERL_SWITCHES=-MDevel::Cover $(MAKE) test
347         `dirname $(PERL)`/cover
348
349 man:
350         $(PERL)doc -F lib/CPAN.pm
351
352 testdistros: \
353         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-1.03.tar.gz \
354         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails-1.02.tar.gz \
355         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz \
356         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake-1.02.tar.gz \
357         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-1.05.tar.gz \
358         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne-1.00.tar.gz \
359         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo-1.00.tar.gz \
360         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree-1.00.tar.gz \
361         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq-1.00.tar.gz \
362         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz \
363         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly-1.02.tar.gz \
364         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features-1.06.tar.gz \
365         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq-1.00.tar.gz \
366         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip \
367         t/CPAN/authors/id/A/AN/ANDK/NotInChecksums-0.000.tar.gz
368
369 # sorry, unix centric (and only makes sense on a working copy of the
370 # repository; else 'make test TEST_FILES=t/30shell.t TEST_VERBOSE=1'
371 # will do)
372 testshell-with-protocol: testdistros
373         $(PERL) -e 'for ("protocols"){-d $$_ or mkdir $$_, 0755}'
374         $(MAKE) test TEST_FILES=t/30shell.t TEST_VERBOSE=1 PERL='$(PERL)' | \
375                 tee protocols/make-test-`date +%Y%m%dT%H%M%S`
376         ls -lt protocols | head
377
378 testshell-with-protocol-without-expect: testdistros
379         $(PERL) -e 'for ("protocols"){-d $$_ or mkdir $$_, 0755}'
380         CPAN_RUN_SHELL_TEST_WITHOUT_EXPECT=1 $(MAKE) test \
381                 TEST_FILES=t/30shell.t TEST_VERBOSE=1 | \
382                 tee protocols/make-test-`date +%Y%m%dT%H%M%S`
383         ls -lt protocols | head
384
385 testshell-with-protocol-twice: testdistros
386         $(PERL) -e 'for ("protocols"){-d $$_ or mkdir $$_, 0755}'
387         $(PERL) -p -i~ -e 's/colorize_output\D+\d/colorize_output=>0/' t/CPAN/TestConfig.pm
388         $(MAKE) test TEST_FILES=t/30shell.t TEST_VERBOSE=1 | \
389                 tee protocols/make-test-`date +%Y%m%dT%H%M%S`
390         $(PERL) -p -i~ -e 's/colorize_output\D+\d/colorize_output=>1/' t/CPAN/TestConfig.pm
391         $(MAKE) test TEST_FILES=t/30shell.t TEST_VERBOSE=1 | \
392                 tee protocols/make-test-`date +%Y%m%dT%H%M%S`
393         $(PERL) -p -i~ -e 's/colorize_output\D+\d/colorize_output=>0/' t/CPAN/TestConfig.pm
394         ls -ltr protocols | tail
395
396 #
397 # testdistros
398 #
399
400 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-1.03.tar.gz: \
401         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build/Changes \
402         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build/MANIFEST \
403         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build/Build.PL \
404         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build/lib/CPAN/Test/Dummy/Perl5/Build.pm \
405         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build/t/00_load.t
406         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build && \
407                 $(PERL) Build.PL && \
408                 ./Build dist && \
409                 mv CPAN-Test-Dummy-Perl5-Build-1.03.tar.gz .. && \
410                 ./Build clean
411         ls -l $@
412
413 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails-1.02.tar.gz: \
414         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/Changes \
415         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/MANIFEST \
416         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/README \
417         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/Build.PL \
418         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/lib/CPAN/Test/Dummy/Perl5/Build/DepeFails.pm \
419         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails/t/00_load.t
420         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails && \
421                 $(PERL) Build.PL && \
422                 ./Build dist && \
423                 mv CPAN-Test-Dummy-Perl5-Build-DepeFails-1.02.tar.gz .. && \
424                 ./Build clean
425         ls -l $@
426
427 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz: \
428         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/Changes \
429         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/MANIFEST \
430         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/README \
431         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/Build.PL \
432         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/lib/CPAN/Test/Dummy/Perl5/Build/Fails.pm \
433         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails/t/00_load.t
434         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-Fails && \
435                 $(PERL) Build.PL && \
436                 ./Build dist && \
437                 mv CPAN-Test-Dummy-Perl5-Build-Fails-1.03.tar.gz .. && \
438                 ./Build clean
439         ls -l $@
440
441 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake-1.02.tar.gz: \
442         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake/MANIFEST \
443         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake/Build.PL \
444         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake/Makefile.PL \
445         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake/lib/CPAN/Test/Dummy/Perl5/BuildOrMake.pm \
446         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake/t/00_load.t
447         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-BuildOrMake && \
448                 $(PERL) Build.PL && \
449                 ./Build dist && \
450                 mv CPAN-Test-Dummy-Perl5-BuildOrMake-1.02.tar.gz .. && \
451                 ./Build clean
452         ls -l $@
453
454 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-1.05.tar.gz: \
455         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/Changes \
456         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/MANIFEST \
457         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/Makefile.PL \
458         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/lib/Bundle/CpanTestDummies.pm \
459         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/lib/CPAN/Test/Dummy/Perl5/Make.pm \
460         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make/t/00_load.t
461         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make && \
462                 $(PERL) Makefile.PL && \
463                 $(MAKE) dist && \
464                 mv CPAN-Test-Dummy-Perl5-Make-1.05.tar.gz .. && \
465                 $(MAKE) clean
466         ls -l $@
467
468 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne-1.00.tar.gz: \
469         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne/Changes \
470         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne/MANIFEST \
471         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne/Makefile.PL \
472         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne/lib/CPAN/Test/Dummy/Perl5/Make/CircDepeOne.pm \
473         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne/t/00_load.t
474         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne && \
475                 $(PERL) Makefile.PL && \
476                 $(MAKE) dist && \
477                 mv CPAN-Test-Dummy-Perl5-Make-CircDepeOne-1.00.tar.gz .. && \
478                 $(MAKE) clean
479         ls -l $@
480
481 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo-1.00.tar.gz: \
482         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo/Changes \
483         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo/MANIFEST \
484         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo/Makefile.PL \
485         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo/lib/CPAN/Test/Dummy/Perl5/Make/CircDepeTwo.pm \
486         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo/t/00_load.t
487         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeTwo && \
488                 $(PERL) Makefile.PL && \
489                 $(MAKE) dist && \
490                 mv CPAN-Test-Dummy-Perl5-Make-CircDepeTwo-1.00.tar.gz .. && \
491                 $(MAKE) clean
492         ls -l $@
493
494 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree-1.00.tar.gz: \
495         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree/Changes \
496         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree/MANIFEST \
497         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree/Makefile.PL \
498         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree/lib/CPAN/Test/Dummy/Perl5/Make/CircDepeThree.pm \
499         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree/t/00_load.t
500         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeThree && \
501                 $(PERL) Makefile.PL && \
502                 $(MAKE) dist && \
503                 mv CPAN-Test-Dummy-Perl5-Make-CircDepeThree-1.00.tar.gz .. && \
504                 $(MAKE) clean
505         ls -l $@
506
507 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq-1.00.tar.gz: \
508         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/Changes \
509         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/MANIFEST \
510         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/mymeta.yml \
511         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/Makefile.PL \
512         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/lib/CPAN/Test/Dummy/Perl5/Make/ConfReq.pm \
513         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq/t/00_load.t
514         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-ConfReq && \
515                 $(PERL) Makefile.PL open_the_backdoor && \
516                 $(MAKE) dist && \
517                 mv CPAN-Test-Dummy-Perl5-Make-ConfReq-1.00.tar.gz .. && \
518                 $(MAKE) clean
519         ls -l $@
520
521 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features-1.06.tar.gz: \
522         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/Changes \
523         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/MANIFEST \
524         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/mymeta.yml \
525         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/Makefile.PL \
526         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/lib/CPAN/Test/Dummy/Perl5/Make/Features.pm \
527         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features/t/00_load.t
528         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Features && \
529                 $(PERL) Makefile.PL open_the_backdoor && \
530                 $(MAKE) dist && \
531                 mv CPAN-Test-Dummy-Perl5-Make-Features-1.06.tar.gz ../ && \
532                 $(MAKE) clean
533         ls -l $@
534
535 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz: \
536         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect/Changes \
537         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect/MANIFEST \
538         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect/Makefile.PL \
539         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect/lib/CPAN/Test/Dummy/Perl5/Make/Expect.pm \
540         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect/t/00_load.t
541         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect && \
542                 $(PERL) Makefile.PL && \
543                 $(MAKE) dist && \
544                 mv CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz .. && \
545                 $(MAKE) clean
546         ls -l $@
547
548 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly-1.02.tar.gz: \
549         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly/MANIFEST \
550         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly/Makefile.PL \
551         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly/lib/CPAN/Test/Dummy/Perl5/Make/Failearly.pm
552         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly && \
553                 $(PERL) Makefile.PL && \
554                 $(MAKE) dist && \
555                 mv CPAN-Test-Dummy-Perl5-Make-Failearly-1.02.tar.gz .. && \
556                 $(MAKE) clean
557         ls -l $@
558
559 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq-1.00.tar.gz: \
560         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/Changes \
561         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/MANIFEST \
562         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/Makefile.PL \
563         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/README \
564         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/lib/CPAN/Test/Dummy/Perl5/Make/UnsatPrereq.pm \
565         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/t/00_load.t
566         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq/ && \
567                 $(PERL) Makefile.PL && \
568                 $(MAKE) dist && \
569                 mv CPAN-Test-Dummy-Perl5-Make-UnsatPrereq-1.00.tar.gz .. && \
570                 $(MAKE) clean
571         ls -l $@
572
573 t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip: \
574         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip/MANIFEST \
575         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip/Makefile.PL \
576         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip/lib/CPAN/Test/Dummy/Perl5/Make/Zip.pm \
577         t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip/t/00_load.t
578         cd t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip && \
579                 $(PERL) Makefile.PL && \
580                 $(MAKE) dist && \
581                 mv CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip .. && \
582                 $(MAKE) clean
583         ls -l $@
584
585 t/CPAN/authors/id/A/AN/ANDK/NotInChecksums-0.000.tar.gz :
586         echo " ----No content---- " > t/CPAN/authors/id/A/AN/ANDK/tempfile
587         cd t/CPAN/authors/id/A/AN/ANDK && tar cvzf NotInChecksums-0.000.tar.gz tempfile
588         $(RM) t/CPAN/authors/id/A/AN/ANDK/tempfile
589         ls -l $@
590
591 #
592 #
593 #
594
595 clean ::
596         $(RM) t/CPAN/authors/id/A/AN/ANDK/*/Build \
597                 t/CPAN/authors/id/A/AN/ANDK/*/Makefile.old
598         $(RM_RF) t/CPAN/authors/id/A/AN/ANDK/*/_build
599
600 no_CR : META.yml
601         $(PERL) bin/no_CR.pl MANIFEST
602
603 foreign-prefs : dd-prefs st-prefs
604
605 dd-prefs ::
606         `echo $(PERL) | sed -e 's/perl$$/slaymake/'` dd-prefs
607
608 st-prefs ::
609
610 chlog ::
611
612 };
613
614   for my $base (@main::ST_PREFS) {
615     push @m, qq{
616 st-prefs :: $base.st
617
618 };
619     if ($HAVE_YAML_SYCK) {
620       push @m, qq{$base.st : Makefile
621         \$(PERL) -MYAML::Syck=LoadFile -MStorable=nstore -e '\$\$x=shift; \@y=LoadFile("\$\$x.yml"); nstore(\\\@y, "\$\$x.st")' $base
622
623 };
624     }
625   }
626
627   join "", @m;
628 }
629
630 sub dist_test {
631   return q{
632 # if we depend on $(DISTVNAME).tar$(SUFFIX), then the rest of the
633 # Makefile breaks our intent to NOT remake dist
634 disttest :
635         rm -rf $(DISTVNAME)
636         tar xvzf $(DISTVNAME).tar$(SUFFIX)
637         cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
638         cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
639         cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
640
641 distdir ::
642         touch $(DISTVNAME)/SIGNATURE && $(CP) $(DISTVNAME)/SIGNATURE ./SIGNATURE
643         $(CP) $(DISTVNAME)/META.yml  ./META.yml
644         $(CP) $(DISTVNAME)/MANIFEST  ./MANIFEST
645
646 }
647 }
648
649 sub distdir {
650   my $self = shift;
651   my $out = $self->SUPER::distdir;
652   $out =~ s/distdir :/distdir ::/g;
653   return $out;
654 }
655
656 # dist_dir was the name in very old MakeMaker as of 5.005_04
657 sub dist_dir {
658   my $self = shift;
659   my $out = $self->SUPER::dist_dir;
660   $out =~ s/distdir :/distdir ::/g;
661   return $out;
662 }