On Mon, 23 Nov 2009 16:41:23 +0100, Ingmar Vanhassel <ingmar at 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 at 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091201/3ebcc715/attachment-0001.pgp>