Subject: | [PATCH] Makefile.PL and missing lzma |
Date: | Wed, 23 Jan 2008 15:41:22 -0200 |
To: | bug-compress-lzma-external <bug-compress-lzma-external [...] rt.cpan.org>, "Leon Brocard" <acme [...] astray.com> |
From: | "Adriano Ferreira" <a.r.ferreira [...] gmail.com> |
Dear Leon,
Many failures of Compress-LZMA-External distribution is due to
Makefile.PL behavior that dies when lzma binary is not found.
That makes CPAN testers tools to send a FAIL report. The actual
solution described at
http://cpantest.grango.org/wiki/CPANAuthorNotes
is to exit with 0 in this case and make the tool to not send the report.
I don't like this solution very much and I would prefer NA reports in
these cases. But by now, NA reports are supported only for different
perl version prerequisites and unsupported OSes. Maybe in the future,
we can have a more precise mechanism for this.
Kind regards,
Adriano Ferreira
P.S. This patch was created over the distribution code plus the patch
of ticket #32578 (http://rt.cpan.org/Ticket/Display.html?id=32578)
diff -ru C-L-E/CHANGES Compress-LZMA-External/CHANGES
--- C-L-E/CHANGES 2008-01-23 15:18:25.000000000 -0200
+++ Compress-LZMA-External/CHANGES 2008-01-23 15:33:01.000000000 -0200
@@ -2,6 +2,8 @@
?
- File::Temp 0.19 is required (implements File::Temp->newdir)
+ - Makefile.PL now "warn ...; exit 0" rather than dies
+ when lzma is not found
0.33 Mon Jan 21 07:29:57 GMT 2008
- update docs
diff -ru C-L-E/Makefile.PL Compress-LZMA-External/Makefile.PL
--- C-L-E/Makefile.PL 2008-01-23 15:18:25.000000000 -0200
+++ Compress-LZMA-External/Makefile.PL 2008-01-23 15:33:57.000000000 -0200
@@ -12,10 +12,11 @@
print "found it at $found\n";
} else {
print "didn't find it\n";
- die "****************************************************************
+ warn "****************************************************************
Compress::LZMA::External could not find program 'lzma'. Please
install it and try again. For Ubuntu: sudo apt-get install lzma
****************************************************************\n";
+ exit 0;
}
WriteMakefile(