[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