From: Carl Worth <cworth@cworth.org>
To: Ingmar Vanhassel <ingmar@exherbo.org>, notmuch <notmuch@notmuchmail.org>
Subject: Re: [patch] Trivial fix for non-root install
Date: Tue, 01 Dec 2009 10:18:46 -0800 [thread overview]
Message-ID: <87einea77d.fsf@yoom.home.cworth.org> (raw)
In-Reply-To: <1258990831-sup-2789@cannonball>
[-- Attachment #1: Type: text/plain, Size: 3487 bytes --]
On Mon, 23 Nov 2009 16:41:23 +0100, Ingmar Vanhassel <ingmar@exherbo.org> wrote:
> Excerpts from Brett Viren's message of Mon Nov 23 16:31:47 +0100 2009:
> > Installing as a normal user fails because the bash completion config
> > files try to install into /etc. This trivial patch fixes this.
>
> Your patch breaks the more common case of installing as root user. It
> now installs into /usr/etc where bash completions most likely won't be
> found.
Here's a compromise, which is to move the installation of the bash
completion support from "make install" to a new "make install-bash".
So I think we'll end up with a bunch of install-<foo> targets
corresponding to each of the things in contrib. And it then shouldn't be
surprising that things in contrib aren't installed by "make install".
The only thing I think I'd really like beyond this is a better way to
advertise the existence of the various install-<foo> targets, (maybe a
message at the end of "make install" that greps and seds these out of
Makefile.local?).
-Carl
commit 7c2c26bc4ec5fdab5c6fa72ea325d846b46929e3
Author: Carl Worth <cworth@cworth.org>
Date: Tue Dec 1 10:14:00 2009 -0800
Makefile: Add new "install-bash" target for bash completion support
It was problematic to have this in "make install" since it would
unconditionally try to install to /etc, (even if a non-privileged user
was attempting an install to a prefix in the user's home directory,
for example).
diff --git a/Makefile b/Makefile
index ae0f991..e42584b 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,8 @@ ifeq ($(emacs_lispdir),)
emacs_lispdir = $(prefix)/share/emacs/site-lisp
endif
+bash_completion_dir = /etc/bash_completion.d
+
all_deps = Makefile Makefile.local Makefile.config \
lib/Makefile lib/Makefile.local
diff --git a/Makefile.local b/Makefile.local
index 1744747..aff7d2c 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -29,15 +29,12 @@ notmuch.1.gz: notmuch.1
$(call quiet,gzip) --stdout $^ > $@
install: all notmuch.1.gz
- for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
- $(DESTDIR)$(bash_completion_dir) ; \
+ for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 ; \
do \
install -d $$d ; \
done ;
install notmuch $(DESTDIR)$(prefix)/bin/
install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
- install contrib/notmuch-completion.bash \
- $(DESTDIR)$(bash_completion_dir)/notmuch
install-emacs: install emacs
for d in $(DESTDIR)/$(emacs_lispdir) ; \
@@ -47,5 +44,10 @@ install-emacs: install emacs
install -m0644 notmuch.el $(DESTDIR)$(emacs_lispdir)
install -m0644 notmuch.elc $(DESTDIR)$(emacs_lispdir)
+install-bash:
+ install -d $(DESTDIR)$(bash_completion_dir)
+ install contrib/notmuch-completion.bash \
+ $(DESTDIR)$(bash_completion_dir)/notmuch
+
SRCS := $(SRCS) $(notmuch_client_srcs)
CLEAN := $(CLEAN) notmuch $(notmuch_client_modules) notmuch.elc notmuch.1.gz
diff --git a/configure b/configure
index 64816e0..140711f 100755
--- a/configure
+++ b/configure
@@ -133,6 +133,5 @@ EOF
# construct the Makefile.config
cat > Makefile.config <<EOF
prefix = /usr/local
-bash_completion_dir = /etc/bash_completion.d
CFLAGS += ${have_valgrind}
EOF
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2009-12-01 18:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-23 15:31 [patch] Trivial fix for non-root install Brett Viren
2009-11-23 15:41 ` Ingmar Vanhassel
2009-11-23 15:45 ` Jameson Rollins
2009-12-01 18:18 ` Carl Worth [this message]
2009-11-23 18:21 ` Alec Berryman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87einea77d.fsf@yoom.home.cworth.org \
--to=cworth@cworth.org \
--cc=ingmar@exherbo.org \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).