summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.PL7
-rwxr-xr-xchecksetup.pl10
2 files changed, 17 insertions, 0 deletions
diff --git a/Makefile.PL b/Makefile.PL
index a84aa1cdf..1bee517c8 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -22,6 +22,13 @@ use constant BUGZILLA_VERSION => $ENV{BUGZILLA_VERSION} // 42;
use File::Basename;
use File::Spec;
+BEGIN {
+ if ($ENV{BZ_SILENT_MAKEFILE}) {
+ open STDOUT, '>>', File::Spec->devnull;
+ open STDERR, '>>', File::Spec->devnull;
+ }
+}
+
# META.json and META.yml exist only for the benefit of older
# installs where cpanm can't get the optional features out of Makefile.PL
# Unfortunately having META.json and META.yml commited to the repo is weird
diff --git a/checksetup.pl b/checksetup.pl
index e5df8c5c8..327de3c56 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -88,7 +88,17 @@ if (defined $switch{cpanm}) {
exit 1 if $rv != 0;
}
+$ENV{PERL_MM_USE_DEFAULT} = 1;
+$ENV{BZ_SILENT_MAKEFILE} = 1;
+system($^X, "Makefile.PL");
+
my $meta = load_cpan_meta();
+if (keys %{$meta->{optional_features}} < 1) {
+ warn "Your version of ExtUtils::MakeMaker is probably too old\n";
+ warn "Falling back to static (and wrong) META.json\n";
+ unlink('MYMETA.json');
+ $meta = load_cpan_meta();
+}
my $requirements = check_cpan_requirements($meta, \@BUGZILLA_INC, !$silent);
exit 1 unless $requirements->{ok};