Re: [PATCH 1/1] Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir
On Mon, May 09, 2011 at 10:24:55AM +0200, Johannes Sixt wrote:
> --- 8< ---
> From: Johannes Sixt <j6t@kdbg.org>
> Subject: [PATCH] Honor $(prefix) set in config.mak* when defining ETC_GIT*
Show 6 quoted lines
> Notice that the prefix specified for the build influenced the definitions
> of ETC_GITCONFIG and ETC_GITATTRIBUTES only when it was exactly '/usr'.
> Kacper Kornet noticed that this was furthermore only the case when the
> build was triggered using 'make prefix=/usr', i.e., the prefix was given
> on the command line; it did not work when the prefix was specified in
> config.mak because this file is included much later in the Makefile.
> To fix this, move the conditional after the inclusion of config.mak.
Show 6 quoted lines
> Additionally, it is desirable to specify the etc directory for a build
> (for example, a build with prefix /usr/local may still want to have the
> system configuration in /etc/gitconfig). For this purpose, promote the
> variable 'sysconfdir' from a helper variable to a configuration
> variable. The prefix check that was moved must now be wrapped so that it
> does not override sysconfdir setting given in config.mak.
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
> Makefile | 18 +++++++++---------
> 1 files changed, 9 insertions(+), 9 deletions(-)
Show 33 quoted lines
> diff --git a/Makefile b/Makefile
> index ca4b38e..10d6bd5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -274,8 +274,7 @@ STRIP ?= strip
> # mandir
> # infodir
> # htmldir
> -# ETC_GITCONFIG (but not sysconfdir)
> -# ETC_GITATTRIBUTES
> +# sysconfdir
> # can be specified as a relative path some/where/else;
> # this is interpreted as relative to $(prefix) and "git" at
> # runtime figures out where they are based on the path to the executable.
> @@ -291,15 +290,8 @@ sharedir = $(prefix)/share
> gitwebdir = $(sharedir)/gitweb
> template_dir = share/git-core/templates
> htmldir = share/doc/git-doc
> -ifeq ($(prefix),/usr)
> -sysconfdir = /etc
> ETC_GITCONFIG = $(sysconfdir)/gitconfig
> ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes
> -else
> -sysconfdir = $(prefix)/etc
> -ETC_GITCONFIG = etc/gitconfig
> -ETC_GITATTRIBUTES = etc/gitattributes
> -endif
> lib = lib
> # DESTDIR=
> pathsep = :
> @@ -1192,6 +1184,14 @@ endif
> -include config.mak.autogen
> -include config.mak
Show 11 quoted lines
> +ifndef sysconfdir
> +ifeq ($(prefix),/usr)
> +sysconfdir = /etc
> +else
> +sysconfdir = etc
> +endif
> +endif
> +
> ifdef CHECK_HEADER_DEPENDENCIES
> COMPUTE_HEADER_DEPENDENCIES =
> USE_COMPUTED_HEADER_DEPENDENCIES =
For me it looks all right. Thanks for writing the patch instead of me.
--
Kacper Kornet