Re: [notmuch] [patch] Trivial fix for non-root install

2009-12-01 Thread Carl Worth
On Mon, 23 Nov 2009 16:41:23 +0100, Ingmar Vanhassel  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- 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- 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 
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 <

pgpqjIgDqAQUT.pgp
Description: PGP signature
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[notmuch] [patch] Trivial fix for non-root install

2009-12-01 Thread Carl Worth
On Mon, 23 Nov 2009 16:41:23 +0100, Ingmar Vanhassel  
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- 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- 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 
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 


[notmuch] [patch] Trivial fix for non-root install

2009-11-23 Thread Ingmar Vanhassel
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.

NAK

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.

> diff --git a/Makefile.config b/Makefile.config
> index ddc7436..c04d57a 100644
> --- a/Makefile.config
> +++ b/Makefile.config
> @@ -1,3 +1,2 @@
> -prefix = /usr/local
> -bash_completion_dir = /etc/bash_completion.d
> +bash_completion_dir = $(prefix)/etc/bash_completion.d
>  CFLAGS += -DHAVE_VALGRIND
> 
> 
> -Brett.
-- 
Exherbo KDE, X.org maintainer


[notmuch] [patch] Trivial fix for non-root install

2009-11-23 Thread Alec Berryman
Brett Viren on 2009-11-23 10:31:47 -0500:

> Installing as a normal user fails because the bash completion config
> files try to install into /etc.  This trivial patch fixes this.

I worked around this by using $DESTDIR as the prefix and unsetting
prefix during the install.



[notmuch] [patch] Trivial fix for non-root install

2009-11-23 Thread Jameson Rollins
On Mon, Nov 23, 2009 at 04:41:23PM +0100, Ingmar Vanhassel 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.

I submitted a patch similar to Ingmar's the other day.  I actually
feel like the more common case is to install it locally as a local
user, especially during early development.

jamie.

> > diff --git a/Makefile.config b/Makefile.config
> > index ddc7436..c04d57a 100644
> > --- a/Makefile.config
> > +++ b/Makefile.config
> > @@ -1,3 +1,2 @@
> > -prefix = /usr/local
> > -bash_completion_dir = /etc/bash_completion.d
> > +bash_completion_dir = $(prefix)/etc/bash_completion.d
> >  CFLAGS += -DHAVE_VALGRIND
> > 
> > 
> > -Brett.
> -- 
> Exherbo KDE, X.org maintainer
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: 



[notmuch] [patch] Trivial fix for non-root install

2009-11-23 Thread Brett Viren
Installing as a normal user fails because the bash completion config
files try to install into /etc.  This trivial patch fixes this.

diff --git a/Makefile.config b/Makefile.config
index ddc7436..c04d57a 100644
--- a/Makefile.config
+++ b/Makefile.config
@@ -1,3 +1,2 @@
-prefix = /usr/local
-bash_completion_dir = /etc/bash_completion.d
+bash_completion_dir = $(prefix)/etc/bash_completion.d
 CFLAGS += -DHAVE_VALGRIND


-Brett.