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

Re: install does not obey DESTDIR or --prefix for perl modules

From
BCBrandon Casey <brandon.casey.ctr@nrlssc.navy.mil>
Date
Sep 22, 2009, 15:16 UTC
Message-ID
<fTPSiYVR_0aJPW67ZWx3xlDqQCHFqawOhMTI1M76i0EnhLLbCjwHyw@cipher.nrlssc.navy.mil>
In-Reply-To
<20090922115542.GP8173@gryning.com>
c^ wrote:
Show 42 quoted lines
> On Mon, Sep 21, 2009 at 12:44:05PM -0700, Junio C Hamano wrote:
>> Craig Taylor <c@gryning.com> writes:
>>
>>> Exactly as you describe here, different paths but same goal.
>>> All binaries follow the DESTDIR path except the perl modules.
>>>
>>> To register this as a bug do I need to do more than send this email?
>> Do you use NO_PERL_MAKEMAKER in your build?
>>
>> If not, we need to summon an expert on ExtUtils::MakeMaker to look into
>> this issue, but if you do, perhaps you can try this patch and report how
>> well it works for you.
>>
>> ---
>>  perl/Makefile |    8 ++++----
>>  1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/perl/Makefile b/perl/Makefile
>> index e3dd1a5..4ab21d6 100644
>> --- a/perl/Makefile
>> +++ b/perl/Makefile
>> @@ -29,11 +29,11 @@ $(makfile): ../GIT-CFLAGS Makefile
>>  	'$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
>>  	echo '	cp private-Error.pm blib/lib/Error.pm' >> $@
>>  	echo install: >> $@
>> -	echo '	mkdir -p "$(instdir_SQ)"' >> $@
>> -	echo '	$(RM) "$(instdir_SQ)/Git.pm"; cp Git.pm "$(instdir_SQ)"' >> $@
>> -	echo '	$(RM) "$(instdir_SQ)/Error.pm"' >> $@
>> +	echo '	mkdir -p "$$(DESTDIR)$(instdir_SQ)"' >> $@
>> +	echo '	$(RM) "$$(DESTDIR)$(instdir_SQ)/Git.pm"; cp Git.pm "$$(DESTDIR)$(instdir_SQ)"' >> $@
>> +	echo '	$(RM) "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
>>  	'$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
>> -	echo '	cp private-Error.pm "$(instdir_SQ)/Error.pm"' >> $@
>> +	echo '	cp private-Error.pm "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
>>  	echo instlibdir: >> $@
>>  	echo '	echo $(instdir_SQ)' >> $@
>>  else
> 
> Frustratingly the last change forces the lib referenced in the perl
> scripts to include the DESTDIR.
> I will work around this for now, but would apprieciate it if someone
> more familair could fix for the future.

Craig, you're referring to _your_ last change where you hand modified the perl.mak file so that the 'PREFIX =' line contained $(DESTDIR) right? And not something in the above patch?

Junio, your patch looks good and seems to work for me.
-brandon
ps.  Craig, it's best to hit 'Reply-All' when replying so that everyone is kept
     in the cc list.  People often filter their mail based on the 'To:' and 'cc:'
     fields and are more likely to notice mail that includes their address in one
     of those fields.  I added Junio back to this reply.
Previous: c^
Message 22 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.