threads / patch / 24612

patchperl/Makefile: Unset INSTALL_BASE when making perl.mak

Subject: [PATCH] perl/Makefile: Unset INSTALL_BASE when making perl.mak

## tl;dr

3 messages between Aug 3, 2010 and Aug 12, 2010. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Ævar Arnfjörð Bjarmason· Aug 3, 2010, 10:30 UTC · lore

PREFIX and INSTALL_BASE are mutually exclusive. If both are supplied by INSTALL_BASE being set in PERL_MM_OPT ExtUtils::MakeMaker will produce an error:

    $ echo $PERL_MM_OPT
    INSTALL_BASE=/home/avar/perl5
    $ make -C perl  PERL_PATH='/usr/bin/perl' prefix='/home/avar' perl.mak
    make: Entering directory `/home/avar/g/git/perl'
    /usr/bin/perl Makefile.PL PREFIX='/home/avar'
    Only one of PREFIX or INSTALL_BASE can be given.  Not both.
    make: *** [perl.mak] Error 255
    make: Leaving directory `/home/avar/g/git/perl'

Change the perl Makefile to work around this by explicitly unsetting INSTALL_BASE.

INSTALL_BASE is set in PERL_MM_OPT by e.g. the popular local::lib package, from its documentation:

    eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib 2>/dev/null)

Many other environments might also have set PERL_MM_OPT before building Git. This change enables us to build in these environments.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 perl/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to perl/Makefile +1 −1
diff --git a/perl/Makefile b/perl/Makefile
index 4ab21d6..a2ffb64 100644
--- a/perl/Makefile
+++ b/perl/Makefile
@@ -38,7 +38,7 @@ $(makfile): ../GIT-CFLAGS Makefile
 	echo '	echo $(instdir_SQ)' >> $@
 else
 $(makfile): Makefile.PL ../GIT-CFLAGS
-	$(PERL_PATH) $< PREFIX='$(prefix_SQ)'
+	$(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE=''
 endif
 
 # this is just added comfort for calling make directly in perl dir
-- 
1.7.1
Jakub Narebski· Aug 3, 2010, 11:16 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH] perl/Makefile: Unset INSTALL_BASE when making perl.mak

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 25 quoted lines
> PREFIX and INSTALL_BASE are mutually exclusive. If both are supplied
> by INSTALL_BASE being set in PERL_MM_OPT ExtUtils::MakeMaker will
> produce an error:
> 
>     $ echo $PERL_MM_OPT
>     INSTALL_BASE=/home/avar/perl5
>     $ make -C perl  PERL_PATH='/usr/bin/perl' prefix='/home/avar' perl.mak
>     make: Entering directory `/home/avar/g/git/perl'
>     /usr/bin/perl Makefile.PL PREFIX='/home/avar'
>     Only one of PREFIX or INSTALL_BASE can be given.  Not both.
>     make: *** [perl.mak] Error 255
>     make: Leaving directory `/home/avar/g/git/perl'
> 
> Change the perl Makefile to work around this by explicitly unsetting
> INSTALL_BASE.
> 
> INSTALL_BASE is set in PERL_MM_OPT by e.g. the popular local::lib
> package, from its documentation:
> 
>     eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib 2>/dev/null)
> 
> Many other environments might also have set PERL_MM_OPT before
> building Git. This change enables us to build in these environments.
> 
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Great!  I really appreciate this, using local::lib myself.
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Ævar Arnfjörð Bjarmason· Aug 12, 2010, 02:48 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH v2/pu] perl/Makefile: Unset INSTALL_BASE when making perl.mak

PREFIX and INSTALL_BASE are mutually exclusive. If both are supplied by INSTALL_BASE being set in PERL_MM_OPT ExtUtils::MakeMaker will produce an error:

    $ echo $PERL_MM_OPT
    INSTALL_BASE=/home/avar/perl5
    $ make -C perl  PERL_PATH='/usr/bin/perl' prefix='/home/avar' perl.mak
    make: Entering directory `/home/avar/g/git/perl'
    /usr/bin/perl Makefile.PL PREFIX='/home/avar'
    Only one of PREFIX or INSTALL_BASE can be given.  Not both.
    make: *** [perl.mak] Error 255
    make: Leaving directory `/home/avar/g/git/perl'

Change the perl Makefile to work around this by explicitly unsetting INSTALL_BASE.

INSTALL_BASE is set in PERL_MM_OPT by e.g. the popular local::lib package, from its documentation:

    eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib 2>/dev/null)

Many other environments might also have set PERL_MM_OPT before building Git. This change enables us to build in these environments.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---

Here's a patch on top of pu instead. This change conflicted with the gettext series.

 perl/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to perl/Makefile +1 −1
diff --git a/perl/Makefile b/perl/Makefile
index 4e624ff..b2977cd 100644
--- a/perl/Makefile
+++ b/perl/Makefile
@@ -39,7 +39,7 @@ $(makfile): ../GIT-CFLAGS Makefile
 	echo '	echo $(instdir_SQ)' >> $@
 else
 $(makfile): Makefile.PL ../GIT-CFLAGS
-	$(PERL_PATH) $< PREFIX='$(prefix_SQ)' --localedir='$(localedir_SQ)'
+	$(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE='' --localedir='$(localedir_SQ)'
 endif
 
 # this is just added comfort for calling make directly in perl dir
-- 
1.7.2.1.327.gfb40

← back to recent threads