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

3 messages from 2010-08-03 to 2010-08-12. Participants: Ævar Arnfjörð Bjarmason, Jakub Narebski.
Thread: https://gitlist.dev/t/24612

## Ævar Arnfjörð Bjarmason, 2010-08-03 10:30

Subject: [PATCH] perl/Makefile: Unset INSTALL_BASE when making perl.mak
Message-ID: <1280831411-4511-1-git-send-email-avarab@gmail.com>
URL: https://gitlist.dev/e/1280831411-4511-1-git-send-email-avarab%40gmail.com

```
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(-)

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, 2010-08-03 11:16

Subject: Re: [PATCH] perl/Makefile: Unset INSTALL_BASE when making perl.mak
Message-ID: <m3d3u0osjo.fsf@localhost.localdomain>
URL: https://gitlist.dev/e/m3d3u0osjo.fsf%40localhost.localdomain
In-Reply-To: <1280831411-4511-1-git-send-email-avarab@gmail.com>

```
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:

> 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, 2010-08-12 02:48

Subject: [PATCH v2/pu] perl/Makefile: Unset INSTALL_BASE when making perl.mak
Message-ID: <1281581320-4235-1-git-send-email-avarab@gmail.com>
URL: https://gitlist.dev/e/1281581320-4235-1-git-send-email-avarab%40gmail.com
In-Reply-To: <1280831411-4511-1-git-send-email-avarab@gmail.com>

```
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(-)

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

```
