# Is it possible to build `git` such that the install directory and the deployment prefix is not the same?

3 messages from 2015-11-28 to 2015-11-28. Participants: Henry Qin, Junio C Hamano.
Thread: https://gitlist.dev/t/40905

## Henry Qin, 2015-11-28 07:19

Subject: Is it possible to build `git` such that the install directory and the deployment prefix is not the same?
Message-ID: <CAO8bsPDQ2BX1U0D9=pa99_nkEeRWzuN6QzsMw+2u0GPqO6M9kw@mail.gmail.com>
URL: https://gitlist.dev/e/CAO8bsPDQ2BX1U0D9%3Dpa99_nkEeRWzuN6QzsMw%2B2u0GPqO6M9kw%40mail.gmail.com

```
Dear Git developers,

I've looked around the online forums and also asked this question on
Stackoverflow, but have not gotten an answer.

http://stackoverflow.com/questions/33901216/is-it-possible-to-build-git-such-that-the-install-directory-and-the-deployment

Here is the question, copied below for your convenience:

"""
I am attempting to build git from source, and I would like make
install to put the binaries into a directory called dist in my source
directory, so I use the following configure line.

./configure --prefix=`pwd`/dist

Unfortunately, this also causes the build output to assume that this
is the final install location for git, and therefore hardcode the path
into various scripts and binaries such as
libexec/git-core/git-difftool.

Is there a way to specify during either configure or make that I want
a different path for actual deployment, such as /usr/bin/local, but
still have make install go into the directory pwd/dist?
"""


Thanks,
~Henry

```

## Junio C Hamano, 2015-11-28 07:54

Subject: Re: Is it possible to build `git` such that the install directory and the deployment prefix is not the same?
Message-ID: <xmqqmvty8soc.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqmvty8soc.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <CAO8bsPDQ2BX1U0D9=pa99_nkEeRWzuN6QzsMw+2u0GPqO6M9kw@mail.gmail.com>

```
Henry Qin <root@hq6.me> writes:

> Here is the question, copied below for your convenience:
>
> """
> I am attempting to build git from source, and I would like make
> install to put the binaries into a directory called dist in my source
> directory, so I use the following configure line.
>
> ./configure --prefix=`pwd`/dist

You probably want to use DESTDIR instead, e.g.

    $ make prefix=/usr/local DESTDIR=/var/tmp/dest

The standard way to phrase your question is "how do I 'make install'
to install to a fake location so that I can tar up the result into a
tarball?" (the key part being "so that..."), I think.

```

## Henry Qin, 2015-11-28 07:58

Subject: Re: Is it possible to build `git` such that the install directory and the deployment prefix is not the same?
Message-ID: <CAO8bsPB98QRDRRftHNvLYafB-_EA_sbLMmB5SxxEjY+uRhKKCg@mail.gmail.com>
URL: https://gitlist.dev/e/CAO8bsPB98QRDRRftHNvLYafB-_EA_sbLMmB5SxxEjY%2BuRhKKCg%40mail.gmail.com
In-Reply-To: <xmqqmvty8soc.fsf@gitster.mtv.corp.google.com>

```
Thanks a lot, Junio and Dennis!

~Henry

On Fri, Nov 27, 2015 at 11:47 PM, Dennis Kaarsemaker
<dennis@kaarsemaker.net> wrote:
> On vr, 2015-11-27 at 23:19 -0800, Henry Qin wrote:
>
>> Is there a way to specify during either configure or make that I want
>> a different path for actual deployment, such as /usr/bin/local, but
>
> There is, using the DESTDIR variable:
>
> make PREFIX=/usr/local
> DESTDIR=$(PWD)/dist make install
> --
> Dennis Kaarsemaker
> www.kaarsemaker.net
>
>


On Fri, Nov 27, 2015 at 11:54 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Henry Qin <root@hq6.me> writes:
>
>> Here is the question, copied below for your convenience:
>>
>> """
>> I am attempting to build git from source, and I would like make
>> install to put the binaries into a directory called dist in my source
>> directory, so I use the following configure line.
>>
>> ./configure --prefix=`pwd`/dist
>
> You probably want to use DESTDIR instead, e.g.
>
>     $ make prefix=/usr/local DESTDIR=/var/tmp/dest
>
> The standard way to phrase your question is "how do I 'make install'
> to install to a fake location so that I can tar up the result into a
> tarball?" (the key part being "so that..."), I think.
>

```
