summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2016-10-15 00:13:29 +0200
committerDylan William Hardison <dylan@hardison.net>2016-10-15 00:13:29 +0200
commit2f310fba9800f9d106ad8090cbbfb628c53599a1 (patch)
treed51f1f2ac639176bd8a1ece83f5a0cea49034115
parent0bd2c876589e8a86a086460f05fdca72f34b1609 (diff)
downloadbugzilla-2f310fba9800f9d106ad8090cbbfb628c53599a1.tar.gz
bugzilla-2f310fba9800f9d106ad8090cbbfb628c53599a1.tar.xz
Bug 1308949 - Keep MYMETA.json up-to-date when checksetup is runmozreview
-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};