[PATCH] Make notmuch-mutt script more portable

Greg Anders greg at gpanders.com
Mon Mar 16 11:27:42 PDT 2020


The -D flag to install (used in the Makefile) is GNU-specific and does
not work on BSD distributions (i.e. macOS). Likewise with the xargs -r
flag. These changes use portable alternatives to these flags while
preserving the exact behavior.
---
 contrib/notmuch-mutt/Makefile     | 6 +++---
 contrib/notmuch-mutt/notmuch-mutt | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/contrib/notmuch-mutt/Makefile b/contrib/notmuch-mutt/Makefile
index 855438be..de933eaa 100644
--- a/contrib/notmuch-mutt/Makefile
+++ b/contrib/notmuch-mutt/Makefile
@@ -15,11 +15,11 @@ README.html: README
 	markdown $< > $@
 
 install: all
-	mkdir -p $(DESTDIR)$(prefix)/bin
+	mkdir -p $(DESTDIR)$(prefix)/bin $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(sysconfdir)/Muttrc.d
 	sed "1s|^#!.*|#! $(PERL_ABSOLUTE)|" < $(NAME) > $(DESTDIR)$(prefix)/bin/$(NAME)
 	chmod 755 $(DESTDIR)$(prefix)/bin/$(NAME)
-	install -D -m 644 $(NAME).1 $(DESTDIR)$(mandir)/man1/$(NAME).1
-	install -D -m 644 $(NAME).rc $(DESTDIR)$(sysconfdir)/Muttrc.d/$(NAME).rc
+	install -m 644 $(NAME).1 $(DESTDIR)$(mandir)/man1/
+	install -m 644 $(NAME).rc $(DESTDIR)$(sysconfdir)/Muttrc.d/
 
 clean:
 	rm -f notmuch-mutt.1 README.html
diff --git a/contrib/notmuch-mutt/notmuch-mutt b/contrib/notmuch-mutt/notmuch-mutt
index 0e46a8c1..d33223bd 100755
--- a/contrib/notmuch-mutt/notmuch-mutt
+++ b/contrib/notmuch-mutt/notmuch-mutt
@@ -50,7 +50,7 @@ sub search($$$) {
     empty_maildir($maildir);
     system("notmuch search --output=files $dup_option $query"
 	   . " | sed -e 's: :\\\\ :g'"
-	   . " | xargs -r -I searchoutput ln -s searchoutput $maildir/cur/");
+	   . " | while IFS= read -r searchoutput; do ln -s \$searchoutput $maildir/cur/; done");
 }
 
 sub prompt($$) {
-- 
2.25.1



More information about the notmuch mailing list