Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id A9B9E429E2F for ; Mon, 5 Nov 2012 11:02:28 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gxMQYNq-j+BZ for ; Mon, 5 Nov 2012 11:02:26 -0800 (PST) Received: from foo.net (70-36-235-136.dsl.static.sonic.net [70.36.235.136]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 0A33B429E32 for ; Mon, 5 Nov 2012 11:02:23 -0800 (PST) Received: from foo.net (localhost [127.0.0.1]) by foo.net (8.14.5+Sun/8.14.5) with ESMTP id qA5J2Mv1019113; Mon, 5 Nov 2012 11:02:22 -0800 (PST) Received: (from blakej@localhost) by foo.net (8.14.5+Sun/8.14.5/Submit) id qA5J2McW019112; Mon, 5 Nov 2012 11:02:22 -0800 (PST) From: Blake Jones To: notmuch@notmuchmail.org Subject: [PATCH v2 05/10] install: check for non-SysV version (Solaris support) Date: Mon, 5 Nov 2012 11:01:58 -0800 Message-Id: <1352142123-18286-6-git-send-email-blakej@foo.net> X-Mailer: git-send-email 1.7.3.2 In-Reply-To: <1352142123-18286-1-git-send-email-blakej@foo.net> References: <1352142123-18286-1-git-send-email-blakej@foo.net> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 (foo.net [127.0.0.1]); Mon, 05 Nov 2012 11:02:22 -0800 (PST) X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2012 19:02:29 -0000 Solaris ships a program called "install" in /usr/sbin, which performs a task that's fairly similar to the GNU and BSD "install" programs but which uses very different command line arguments. In particular, if it is invoked without "-c", "-f", or "-n", it will search the target directory for a file with the same name as the one being installed, and it will only install the file if it finds a matching name. More excitingly, if it doesn't find a match, it will look in /bin, /usr/bin, /etc, /lib, and /usr/lib and try to do the same there. The standard workaround for this is to use GNU install. It is available via the standard Solaris packaging system (in "file/gnu-coreutils"), and installs itself as /usr/bin/ginstall. This patch adds a check to "configure" to see if "install" behaves in a way that's compatible with GNU and BSD install, and if not, it uses a program called "ginstall" instead. It also modifies "configure" to set the $(INSTALL) variable, and changes various Makefiles to use it. --- Makefile.local | 2 +- completion/Makefile.local | 4 ++-- configure | 19 +++++++++++++++++++ emacs/Makefile.local | 6 +++--- lib/Makefile.local | 4 ++-- man/Makefile.local | 6 +++--- vim/Makefile | 6 ++---- 7 files changed, 32 insertions(+), 15 deletions(-) diff --git a/Makefile.local b/Makefile.local index 2b91946..7ccb1cd 100644 --- a/Makefile.local +++ b/Makefile.local @@ -286,7 +286,7 @@ notmuch-shared: $(notmuch_client_modules) lib/$(LINKER_NAME) .PHONY: install install: all install-man mkdir -p "$(DESTDIR)$(prefix)/bin/" - install notmuch-shared "$(DESTDIR)$(prefix)/bin/notmuch" + $(INSTALL) notmuch-shared "$(DESTDIR)$(prefix)/bin/notmuch" ifeq ($(MAKECMDGOALS), install) @echo "" @echo "Notmuch is now installed to $(DESTDIR)$(prefix)" diff --git a/completion/Makefile.local b/completion/Makefile.local index dfc1271..a648a78 100644 --- a/completion/Makefile.local +++ b/completion/Makefile.local @@ -14,9 +14,9 @@ install-$(dir): @echo $@ ifeq ($(WITH_BASH),1) mkdir -p "$(DESTDIR)$(bash_completion_dir)" - install -m0644 $(bash_script) "$(DESTDIR)$(bash_completion_dir)/notmuch" + $(INSTALL) -m0644 $(bash_script) "$(DESTDIR)$(bash_completion_dir)/notmuch" endif ifeq ($(WITH_ZSH),1) mkdir -p "$(DESTDIR)$(zsh_completion_dir)" - install -m0644 $(zsh_script) "$(DESTDIR)$(zsh_completion_dir)/_notmuch" + $(INSTALL) -m0644 $(zsh_script) "$(DESTDIR)$(zsh_completion_dir)/_notmuch" endif diff --git a/configure b/configure index c9da667..d9a101f 100755 --- a/configure +++ b/configure @@ -591,6 +591,21 @@ for flag in -Wmissing-declarations; do done printf "\n\t${WARN_CFLAGS}\n" +INSTALL="install" +printf "Checking for working \"install\" program... " +mkdir _tmp_ +cd _tmp_ +echo 1 > 1 +mkdir dest +if install 1 dest > /dev/null 2>&1 ; then + printf "\"install\" works fine.\n" +else + INSTALL="ginstall" + printf "using \"ginstall\".\n" +fi +cd .. +rm -rf _tmp_ + rm -f minimal minimal.c cat <