diff mbox series

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

Message ID 077a01d680af$2ad65510$8082ff30$@nexbridge.com (mailing list archive)
State New, archived
Headers show
Series [Suggestion] Documentation: quick-install-man not propagating DESTDIR | expand

Commit Message

Randall S. Becker Sept. 1, 2020, 10:28 p.m. UTC
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.

-- In my real life, I talk too much.

Comments

Junio C Hamano Sept. 2, 2020, 7:44 p.m. UTC | #1
"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 Sept. 2, 2020, 7:52 p.m. UTC | #2
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
diff mbox series

Patch

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