# [Suggestion] Documentation: quick-install-man not propagating DESTDIR

3 messages from 2020-09-01 to 2020-09-02. Participants: Randall S. Becker, Junio C Hamano.
Thread: https://gitlist.dev/t/54175

## Randall S. Becker, 2020-09-01 22:28

Subject: [Suggestion] Documentation: quick-install-man not propagating DESTDIR
Message-ID: <077a01d680af$2ad65510$8082ff30$@nexbridge.com>
URL: https://gitlist.dev/e/077a01d680af%242ad65510%248082ff30%24%40nexbridge.com

```
The make quick-install-man rule is not propagating DESTDIR when GNU Make
4.2.1 is used.

It seems like a bit of a nit to report this, but I discovered that the
installation is not putting the manuals in the same place as git. Its a
pretty simple fix. I can put a patch together if desired.

diff --git a/Makefile b/Makefile
index 372139f1f2..dae2d99a7f 100644
--- a/Makefile
+++ b/Makefile
@@ -2992,10 +2992,10 @@ install-gitweb:
        $(MAKE) -C gitweb install

install-doc: install-man-perl
-       $(MAKE) -C Documentation install
+       $(MAKE) -C Documentation install DESTDIR=$(DESTDIR)

install-man: install-man-perl
-       $(MAKE) -C Documentation install-man
+       $(MAKE) -C Documentation install-man DESTDIR=$(DESTDIR)

install-man-perl: man-perl
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mandir_SQ)/man3'
@@ -3006,19 +3006,19 @@ install-html:
        $(MAKE) -C Documentation install-html

install-info:
-       $(MAKE) -C Documentation install-info
+       $(MAKE) -C Documentation install-info DESTDIR=$(DESTDIR)

install-pdf:
-       $(MAKE) -C Documentation install-pdf
+       $(MAKE) -C Documentation install-pdf DESTDIR=$(DESTDIR)

quick-install-doc:
-       $(MAKE) -C Documentation quick-install
+       $(MAKE) -C Documentation quick-install DESTDIR=$(DESTDIR)

quick-install-man:
-       $(MAKE) -C Documentation quick-install-man
+       $(MAKE) -C Documentation quick-install-man DESTDIR=$(DESTDIR)

quick-install-html:
-       $(MAKE) -C Documentation quick-install-html
+       $(MAKE) -C Documentation quick-install-html DESTDIR=$(DESTDIR)

-- Brief whoami:
NonStop developer since approximately 211288444200000000
UNIX developer since approximately 421664400
-- In my real life, I talk too much.



```

## Junio C Hamano, 2020-09-02 19:44

Subject: Re: [Suggestion] Documentation: quick-install-man not propagating DESTDIR
Message-ID: <xmqqft80arpy.fsf@gitster.c.googlers.com>
URL: https://gitlist.dev/e/xmqqft80arpy.fsf%40gitster.c.googlers.com
In-Reply-To: <077a01d680af$2ad65510$8082ff30$@nexbridge.com>

```
"Randall S. Becker" <rsbecker@nexbridge.com> writes:

> The make quick-install-man rule is not propagating DESTDIR when GNU Make
> 4.2.1 is used.

I wonder, instead of having to change all "$(MAKE) -C elsewhere", we
can add DESTDIR to the list of variables that are exported.

... goes and looks ...

Hmph, DESTDIR is exported together with DIFF, TAR, INSTALL and
SHELL_PATH.  We do rely on SHELL_PATH to be exported correctly to
t/Makefile for "make test" to work, so it is puzzling.

It is doubly puzzling that we use $(INSTALL) in Documentation/Makefile
on the same line as $(DESTDIR) is used, and apparently you are not
reporting problem on that one.

> It seems like a bit of a nit to report this, but I discovered that the
> installation is not putting the manuals in the same place as git. It’s a
> pretty simple fix. I can put a patch together if desired.

I do not think we want that patch.  Instead I think we'd want a
patch that uses the same trick as what makes INSTALL work.

Thanks.

> diff --git a/Makefile b/Makefile
> index 372139f1f2..dae2d99a7f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2992,10 +2992,10 @@ install-gitweb:
>         $(MAKE) -C gitweb install
>
> install-doc: install-man-perl
> -       $(MAKE) -C Documentation install
> +       $(MAKE) -C Documentation install DESTDIR=$(DESTDIR)
>
> install-man: install-man-perl
> -       $(MAKE) -C Documentation install-man
> +       $(MAKE) -C Documentation install-man DESTDIR=$(DESTDIR)
>
> install-man-perl: man-perl
>         $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mandir_SQ)/man3'
> @@ -3006,19 +3006,19 @@ install-html:
>         $(MAKE) -C Documentation install-html
>
> install-info:
> -       $(MAKE) -C Documentation install-info
> +       $(MAKE) -C Documentation install-info DESTDIR=$(DESTDIR)
>
> install-pdf:
> -       $(MAKE) -C Documentation install-pdf
> +       $(MAKE) -C Documentation install-pdf DESTDIR=$(DESTDIR)
>
> quick-install-doc:
> -       $(MAKE) -C Documentation quick-install
> +       $(MAKE) -C Documentation quick-install DESTDIR=$(DESTDIR)
>
> quick-install-man:
> -       $(MAKE) -C Documentation quick-install-man
> +       $(MAKE) -C Documentation quick-install-man DESTDIR=$(DESTDIR)
>
> quick-install-html:
> -       $(MAKE) -C Documentation quick-install-html
> +       $(MAKE) -C Documentation quick-install-html DESTDIR=$(DESTDIR)
>
> -- Brief whoami:
> NonStop developer since approximately 211288444200000000
> UNIX developer since approximately 421664400
> -- In my real life, I talk too much.

```

## Randall S. Becker, 2020-09-02 19:52

Subject: RE: [Suggestion] Documentation: quick-install-man not propagating DESTDIR
Message-ID: <00c101d68162$a598c900$f0ca5b00$@nexbridge.com>
URL: https://gitlist.dev/e/00c101d68162%24a598c900%24f0ca5b00%24%40nexbridge.com
In-Reply-To: <xmqqft80arpy.fsf@gitster.c.googlers.com>

```
On September 2, 2020 3:45 PM, Junio C Hamano wrote:
> "Randall S. Becker" <rsbecker@nexbridge.com> writes:
> 
> > The make quick-install-man rule is not propagating DESTDIR when GNU
> > Make
> > 4.2.1 is used.
> 
> I wonder, instead of having to change all "$(MAKE) -C elsewhere", we can
> add DESTDIR to the list of variables that are exported.
> 
> ... goes and looks ...
> 
> Hmph, DESTDIR is exported together with DIFF, TAR, INSTALL and
> SHELL_PATH.  We do rely on SHELL_PATH to be exported correctly to
> t/Makefile for "make test" to work, so it is puzzling.
> 
> It is doubly puzzling that we use $(INSTALL) in Documentation/Makefile on
> the same line as $(DESTDIR) is used, and apparently you are not reporting
> problem on that one.
> 
> > It seems like a bit of a nit to report this, but I discovered that the
> > installation is not putting the manuals in the same place as git. It’s
> > a pretty simple fix. I can put a patch together if desired.
> 
> I do not think we want that patch.  Instead I think we'd want a patch that
> uses the same trick as what makes INSTALL work.

I'll look into that approach. Thanks for the direction.

Regards,
Randall


```
