* [PATCH] configure: Use $prefix for emacs, even when pkg-config is available.
@ 2015-11-25 17:32 Andrew Burgess
2015-11-26 18:45 ` Tomi Ollila
2015-11-28 13:07 ` David Bremner
0 siblings, 2 replies; 8+ messages in thread
From: Andrew Burgess @ 2015-11-25 17:32 UTC (permalink / raw)
To: notmuch
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?
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] configure: Use $prefix for emacs, even when pkg-config is available.
2015-11-25 17:32 [PATCH] configure: Use $prefix for emacs, even when pkg-config is available Andrew Burgess
@ 2015-11-26 18:45 ` Tomi Ollila
2015-11-28 13:07 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: Tomi Ollila @ 2015-11-26 18:45 UTC (permalink / raw)
To: Andrew Burgess, notmuch
On Wed, Nov 25 2015, Andrew Burgess <andrew.burgess@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@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] configure: Use $prefix for emacs, even when pkg-config is available.
2015-11-25 17:32 [PATCH] configure: Use $prefix for emacs, even when pkg-config is available Andrew Burgess
2015-11-26 18:45 ` Tomi Ollila
@ 2015-11-28 13:07 ` David Bremner
2015-11-28 15:02 ` Tomi Ollila
1 sibling, 1 reply; 8+ messages in thread
From: David Bremner @ 2015-11-28 13:07 UTC (permalink / raw)
To: Andrew Burgess, notmuch
Andrew Burgess <andrew.burgess@embecosm.com> writes:
> 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.
I agree that the current behaviour is probably wrong. I'm not sure if we
need more control here as Tomi suggests. My biggest concern is that
emacs.pc seems to be rather specific to fedora / redhat packaging, which
makes it hard for me to evaluate both the current handling and this
patch. Do any any Fedora users have opinions on just dropping the
handling of "pkg-config emacs"? Or am I missing other places that
pkg-config file is available?
d
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] configure: Use $prefix for emacs, even when pkg-config is available.
2015-11-28 13:07 ` David Bremner
@ 2015-11-28 15:02 ` Tomi Ollila
2015-12-06 16:04 ` [PATCH] configure: drop use of "pkg-config emacs" David Bremner
2015-12-06 16:10 ` David Bremner
0 siblings, 2 replies; 8+ messages in thread
From: Tomi Ollila @ 2015-11-28 15:02 UTC (permalink / raw)
To: David Bremner, Andrew Burgess, notmuch
On Sat, Nov 28 2015, David Bremner <david@tethera.net> wrote:
> Andrew Burgess <andrew.burgess@embecosm.com> writes:
>
>> 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.
>
> I agree that the current behaviour is probably wrong. I'm not sure if we
> need more control here as Tomi suggests. My biggest concern is that
> emacs.pc seems to be rather specific to fedora / redhat packaging, which
> makes it hard for me to evaluate both the current handling and this
> patch. Do any any Fedora users have opinions on just dropping the
> handling of "pkg-config emacs"? Or am I missing other places that
> pkg-config file is available?
Now that I looked this a bit more I tend to agree with David:
default PREFIX is /usr/local
and $ pkg-config emacs --variable sitepkglispdir
outputs
/usr/share/emacs/site-lisp
(in default case we should mangle /local/ there in between ... :/ ).
package managers can add
./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
in their build scripts.
>
> d
Tomi
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] configure: drop use of "pkg-config emacs"
2015-11-28 15:02 ` Tomi Ollila
@ 2015-12-06 16:04 ` David Bremner
2015-12-06 16:10 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: David Bremner @ 2015-12-06 16:04 UTC (permalink / raw)
To: Tomi Ollila, David Bremner, Andrew Burgess, notmuch
This does not play well with --prefix. As Tomi notes in
id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of
% ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
---
configure | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/configure b/configure
index 440d678..5f3fb9f 100755
--- a/configure
+++ b/configure
@@ -472,11 +472,7 @@ else
fi
if [ -z "${EMACSLISPDIR}" ]; then
- if pkg-config --exists emacs; then
- EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir)
- else
- EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
- fi
+ EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
fi
if [ -z "${EMACSETCDIR}" ]; then
--
2.6.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] configure: drop use of "pkg-config emacs"
2015-11-28 15:02 ` Tomi Ollila
2015-12-06 16:04 ` [PATCH] configure: drop use of "pkg-config emacs" David Bremner
@ 2015-12-06 16:10 ` David Bremner
2015-12-06 18:10 ` Tomi Ollila
2015-12-10 1:07 ` David Bremner
1 sibling, 2 replies; 8+ messages in thread
From: David Bremner @ 2015-12-06 16:10 UTC (permalink / raw)
To: Tomi Ollila, David Bremner, Andrew Burgess, notmuch
This does not play well with --prefix. As Tomi notes in
id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of e.g.
% ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
---
oops, I missed a second use of pkg-config emacs
configure | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/configure b/configure
index 440d678..abd28da 100755
--- a/configure
+++ b/configure
@@ -472,19 +472,11 @@ else
fi
if [ -z "${EMACSLISPDIR}" ]; then
- if pkg-config --exists emacs; then
- EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir)
- else
- EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
- fi
+ EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
fi
if [ -z "${EMACSETCDIR}" ]; then
- if pkg-config --exists emacs; then
- EMACSETCDIR=$(pkg-config emacs --variable sitepkglispdir)
- else
- EMACSETCDIR='$(prefix)/share/emacs/site-lisp'
- fi
+ EMACSETCDIR='$(prefix)/share/emacs/site-lisp'
fi
printf "Checking if emacs is available... "
--
2.6.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] configure: drop use of "pkg-config emacs"
2015-12-06 16:10 ` David Bremner
@ 2015-12-06 18:10 ` Tomi Ollila
2015-12-10 1:07 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: Tomi Ollila @ 2015-12-06 18:10 UTC (permalink / raw)
To: David Bremner, Andrew Burgess, notmuch
On Sun, Dec 06 2015, David Bremner <david@tethera.net> wrote:
> This does not play well with --prefix. As Tomi notes in
> id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of e.g.
>
> % ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
> ---
> oops, I missed a second use of pkg-config emacs
LGTM. Patch applies. I cannot see how this could fail...
Tomi
>
> configure | 12 ++----------
> 1 file changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/configure b/configure
> index 440d678..abd28da 100755
> --- a/configure
> +++ b/configure
> @@ -472,19 +472,11 @@ else
> fi
>
> if [ -z "${EMACSLISPDIR}" ]; then
> - if pkg-config --exists emacs; then
> - EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir)
> - else
> - EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
> - fi
> + EMACSLISPDIR='$(prefix)/share/emacs/site-lisp'
> fi
>
> if [ -z "${EMACSETCDIR}" ]; then
> - if pkg-config --exists emacs; then
> - EMACSETCDIR=$(pkg-config emacs --variable sitepkglispdir)
> - else
> - EMACSETCDIR='$(prefix)/share/emacs/site-lisp'
> - fi
> + EMACSETCDIR='$(prefix)/share/emacs/site-lisp'
> fi
>
> printf "Checking if emacs is available... "
> --
> 2.6.2
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] configure: drop use of "pkg-config emacs"
2015-12-06 16:10 ` David Bremner
2015-12-06 18:10 ` Tomi Ollila
@ 2015-12-10 1:07 ` David Bremner
1 sibling, 0 replies; 8+ messages in thread
From: David Bremner @ 2015-12-10 1:07 UTC (permalink / raw)
To: Tomi Ollila, Andrew Burgess, notmuch
David Bremner <david@tethera.net> writes:
> This does not play well with --prefix. As Tomi notes in
> id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of e.g.
>
> % ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
I have pushed this version
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-12-10 1:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-25 17:32 [PATCH] configure: Use $prefix for emacs, even when pkg-config is available Andrew Burgess
2015-11-26 18:45 ` Tomi Ollila
2015-11-28 13:07 ` David Bremner
2015-11-28 15:02 ` Tomi Ollila
2015-12-06 16:04 ` [PATCH] configure: drop use of "pkg-config emacs" David Bremner
2015-12-06 16:10 ` David Bremner
2015-12-06 18:10 ` Tomi Ollila
2015-12-10 1:07 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).