Re: [PATCH v2] perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Oct 8, 2009, 13:21 UTC
- Message-ID
- <4ACDE76C.4040307@viscovery.net>
- In-Reply-To
- <FE_WTi0YAHrCrSdGFemlb7ALatFkdSu5V7Yfb5CUgyoxfv3ZFXdFABKbT1boP7aeGWli-gJPcBA@cipher.nrlssc.navy.mil>
Brandon Casey schrieb:
Show 31 quoted lines
> From: Brandon Casey <drafnel@gmail.com>
>
> It appears that ExtUtils::MakeMaker versions older than 6.11 do not
> implement the DESTDIR mechanism. So add a test to the generated perl.mak
> to detect when DESTDIR is used along with a too old ExtUtils::MakeMaker and
> abort with a message suggesting the use of NO_PERL_MAKEMAKER.
>
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
> ---
>
>
> This just reverses the logic in the test on $(MM_VERSION) so that the test
> will also fail if MM_VERSION is unset. Who knows if ancient versions set
> it. Sorry for the quick v2.
>
> -brandon
>
>
> perl/Makefile.PL | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/perl/Makefile.PL b/perl/Makefile.PL
> index 320253e..0b9deca 100644
> --- a/perl/Makefile.PL
> +++ b/perl/Makefile.PL
> @@ -5,6 +5,14 @@ sub MY::postamble {
> instlibdir:
> @echo '$(INSTALLSITELIB)'
>
> +ifneq (,$(DESTDIR))
> +ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))I don't think the test works as intended, because 6.2 *is* greater than 6.10 (aka 6.1).
(Found while staring at git diff v1.6.5-rc2..v1.6.5-rc3 in a spare minute.)
Show 8 quoted lines
> +$(error ExtUtils::MakeMaker version "$(MM_VERSION)" is older than 6.11 and so \ > + is likely incompatible with the DESTDIR mechanism. Try setting \ > + NO_PERL_MAKEMAKER=1 instead) > +endif > +endif > + > MAKE_FRAG > }
-- Hannes