From: John Keeping Date: Tue, 12 Feb 2013 23:00:34 GMT Subject: Re: [PATCH 0/3] Fix installation paths with "make install-doc" Message-ID: <20130212230034.GA22779@river> In-Reply-To: <7vmwv9ducx.fsf@alter.siamese.dyndns.org> On Tue, Feb 12, 2013 at 02:45:34PM -0800, Junio C Hamano wrote: > Jonathan Nieder writes: > > > John Keeping wrote: > > > >> Documentation/Makefile: fix inherited {html,info,man}dir > > > > This doesn't seem to have hit the list. > > More importantly, > > >> When using the top-level install-doc target the html, info and man > >> target directories are inherited from the top-level Makefile by the > >> documentation Makefile as relative paths, which is not expected and > >> results in the files being installed in an unexpected location. > > I am not sure what problem it is trying to address. During every > cycle "make doc && make install-man install-html" is run for all > integration branches and it didn't cause any problems. > > A wild guess. John, are you using config.mak.autogen? Close - plain config.mak. I set $prefix there and ran "make install-doc". That installed the man pages in Documentation/share/man/ in my Git source directory. > I _think_ exporting mandir/html/infodir from the top-level Makefile > is wrong to begin with. We should drop the "export mandir" from > there. > > Giving them unusual meaning (e.g. "mandir = share/man") is already > bad and that needs to be fixed by limiting this "oh, on some > platforms we compile-in GIT_MAN_PATH as a relative path to an > unspecified place" insanity only to where -DGIT_MAN_PATH= is > defined. The path used there does not help the building and > installation of the documentation at all, so the variable used for > the purpose of giving that should not be named the same way > as the variable used on Documentation/Makefile to name the real path > in the first place. > > Perhaps rename these to runtime_{man,html,info}dir or something and > make sure {man,html,info}dir are defined as the real paths whose > default values begin with $(prefix)? Would it be sensible to define the values for these variables (with absolute paths) in a separate top-level file like config.mak.uname (defaults.mak maybe?) and include that in both Documentation/Makefile and Makefile, then calculate the relative path from $(prefix) to $({man,html,info}dir) for the compiled-in values. John