git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Sep 24, 2009, 18:02 UTC
Message-ID
<7wQSYSBJPoVtvyGI0lqsDW37w4byCpgpMaHiDKALwW_oJ9nHXddX9OBMnqXGZBVAo2U7Tc1BMxg@cipher.nrlssc.navy.mil>
In-Reply-To
<7vk4zrt035.fsf@alter.siamese.dyndns.org>
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>
---
Junio C Hamano wrote:
Show 13 quoted lines
> Brandon Casey <brandon.casey.ctr@nrlssc.navy.mil> writes:
> 
>> Possibly it is related to the version of MakeMaker?  I am using version
>> 6.17 (Revision: 1.133) along with Perl 5.8.4 on Solaris 10 x86.  The
>> MakeMaker version should be in the header at the top of the perl.mak
>> file.
> 
> I think that is it.  DESTDIR support in MakeMaker seems to be lacking in
> medieval versions of Perl.  It appears that it started being usable at
> around its 6.11 (and 6.17 you have is fine).
> 
>     http://kobesearch.cpan.org/htdocs/ExtUtils-MakeMaker/Changes.html
>     https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6131#c7
How about something like this?

Seems to work correctly for me on IRIX 6.5 and Solaris 7 with ExtUtils::MakeMaker 6.03.

-brandon
 perl/Makefile.PL |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index 320253e..8974015 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -5,6 +5,14 @@ sub MY::postamble {
 instlibdir:
 	@echo '$(INSTALLSITELIB)'
 
+ifneq (,$(DESTDIR))
+ifeq (1,$(shell expr '$(MM_VERSION)' '<' 6.11))
+$(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
 }
 
-- 
1.6.4.3
Previous: Junio C HamanoNext: Brandon Casey
Message 15 of 22 in “install does not obey DESTDIR or --prefix for perl modules”
  1. Craig TaylorSep 21, 2009
  2. Brandon CaseySep 21, 2009
  3. Junio C HamanoSep 21, 2009
  4. Brandon CaseySep 21, 2009
  5. Craig TaylorSep 21, 2009
  6. Ben WaltonSep 21, 2009
  7. Craig TaylorSep 21, 2009
  8. Junio C HamanoSep 21, 2009
  9. Craig TaylorSep 21, 2009
  10. Craig TaylorSep 22, 2009
  11. Craig TaylorSep 22, 2009
  12. Brandon CaseySep 22, 2009
  13. Brandon CaseySep 22, 2009
  14. Junio C HamanoSep 22, 2009
  15. perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIRBrandon Casey, Sep 24, 2009
  16. perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIRBrandon Casey, Sep 24, 2009
  17. Johannes SixtOct 8, 2009
  18. Brandon CaseyOct 8, 2009
  19. Brandon CaseyOct 8, 2009
  20. Junio C HamanoOct 9, 2009
  21. c^Sep 22, 2009
  22. Brandon CaseySep 22, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.