[PATCH] configure: Use $prefix for emacs, even when pkg-config is available.

Tomi Ollila tomi.ollila at iki.fi
Thu Nov 26 10:45:17 PST 2015


On Wed, Nov 25 2015, Andrew Burgess <andrew.burgess at embecosm.com> wrote:

> Hi,
>
> I like to maintain multiple copies of notmuch installed in parallel,
> and so make use of the --prefix=$PREFIX argument to configure.
>
> I recently tried to configure and install from master, and ran into an
> issue that the location selected for installing the emacs components
> did not respect my chosen prefix.
>
> It turns out that if pkg-config is available (it is here) then the
> supplied prefix is ignored, in favour of the path returned by pkg-config.
>
> To reproduce this issue, then as a non-root user, using current master:
>
>   ./configure --prefix=$HOME/notmuch-prefix
>   make
>   make install
>
> Assumming that you have pkg-config installed, emacs installed, and the
> command 'pkg-config emacs --variable sitepkglispdir' returns a
> directory that only root can write to, then the make install above
> should fail.
>
> The solution I propose in the patch below is to still apply the
> prefix, even when pkg-config is available; pkg-config is used to
> select the path within the prefix directory.
>
> Would you consider this for inclusion?

perhaps that should be more complex: in case prefix is defined
have $(prefix)/share/emacs/site-lisp in makefile regardless of 
what pkg-config --exists emacs returns...

>
> Thanks,
> Andrew
>
> ---
> When using pkg-config to select the path for the various emacs
> installation directories (the lisp and etc directories), still apply
> the $prefix variable.
> ---
>  configure | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 440d678..4f1db82 100755
> --- a/configure
> +++ b/configure
> @@ -473,7 +473,7 @@ fi
>  
>  if [ -z "${EMACSLISPDIR}" ]; then
>      if pkg-config --exists emacs; then
> -	EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir)
> +	EMACSLISPDIR='$(prefix)'$(pkg-config emacs --variable sitepkglispdir)
>      else
>  	EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
>      fi
> @@ -481,7 +481,7 @@ fi
>  
>  if [ -z "${EMACSETCDIR}" ]; then
>      if pkg-config --exists emacs; then
> -	EMACSETCDIR=$(pkg-config emacs --variable sitepkglispdir)
> +	EMACSETCDIR='$(prefix)'$(pkg-config emacs --variable sitepkglispdir)
>      else
>  	EMACSETCDIR='$(prefix)/share/emacs/site-lisp'
>      fi
> -- 
> 2.5.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list