Re: [PATCH 1/4] Make configure use /bin/bash instead of /bin/sh
authorVladimir Marek <Vladimir.Marek@Oracle.COM>
Wed, 11 Apr 2012 08:43:42 +0000 (10:43 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:46:14 +0000 (09:46 -0800)
5e/2bfe7e34be197e399f4cb44d32aa44bf444bc0 [new file with mode: 0644]

diff --git a/5e/2bfe7e34be197e399f4cb44d32aa44bf444bc0 b/5e/2bfe7e34be197e399f4cb44d32aa44bf444bc0
new file mode 100644 (file)
index 0000000..d003450
--- /dev/null
@@ -0,0 +1,142 @@
+Return-Path: <Vladimir.Marek@Oracle.COM>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 1321D431FAF\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Apr 2012 01:44:18 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -4.999\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-4.999 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_HI=-5, UNPARSEABLE_RELAY=0.001]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id uUMgKDyJ9s4Z for <notmuch@notmuchmail.org>;\r
+       Wed, 11 Apr 2012 01:44:17 -0700 (PDT)\r
+Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])\r
+       (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 45D36431FAE\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Apr 2012 01:44:17 -0700 (PDT)\r
+Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])\r
+       by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with\r
+       ESMTP id q3B8iFTk019749\r
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Apr 2012 08:44:16 GMT\r
+Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])\r
+       by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id\r
+       q3B8iEhd013937\r
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Apr 2012 08:44:14 GMT\r
+Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])\r
+       by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id\r
+       q3B8iEpi015631\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Apr 2012 03:44:14 -0500\r
+Received: from pub.czech.sun.com (/10.163.20.32)\r
+       by default (Oracle Beehive Gateway v4.0)\r
+       with ESMTP ; Wed, 11 Apr 2012 01:44:13 -0700\r
+Date: Wed, 11 Apr 2012 10:43:42 +0200\r
+From: Vladimir Marek <Vladimir.Marek@Oracle.COM>\r
+To: Notmuch Mail <notmuch@notmuchmail.org>\r
+Subject: Re: [PATCH 1/4] Make configure use /bin/bash instead of /bin/sh\r
+Message-ID: <20120411084342.GL10554@pub.czech.sun.com>\r
+Mail-Followup-To: Notmuch Mail <notmuch@notmuchmail.org>\r
+References: <1333966665-10469-1-git-send-email-Vladimir.Marek@oracle.com>\r
+       <1333966665-10469-2-git-send-email-Vladimir.Marek@oracle.com>\r
+       <CAB+hUn9eVVBN7xzMSUT6kB2+MNn8H6KoKuxGDOwck0sgp9qgmw@mail.gmail.com>\r
+       <20120409121930.GA10554@pub.czech.sun.com>\r
+       <m2ehrv4hx2.fsf@guru.guru-group.fi>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Disposition: inline\r
+In-Reply-To: <m2ehrv4hx2.fsf@guru.guru-group.fi>\r
+User-Agent: Mutt/1.5.21 (2010-09-15)\r
+X-Source-IP: acsinet22.oracle.com [141.146.126.238]\r
+X-Auth-Type: Internal IP\r
+X-CT-RefId: str=0001.0A090208.4F854460.00B6,ss=1,re=0.000,fgs=0\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 11 Apr 2012 08:44:18 -0000\r
+\r
+Hi,\r
+\r
+> >> > Posix /bin/sh is not capable of running this configure and fails.\r
+> >> \r
+> >> What fails? What would it take to make this work on posix sh instead?\r
+> >> \r
+> >> The tests do require bash, but generally I think it would be preferable to\r
+> >> not depend on bash to build.\r
+> >\r
+> > Well I gave it a quick stab. This is not posix:\r
+> >\r
+> > BLAH=$( ... )\r
+> > BLAH=$(( ... ))\r
+> > ${option%=*}\r
+> > ${option%%=*}\r
+> > ${option#=*}\r
+> > ${option##=*}\r
+> \r
+> According to \r
+> \r
+> http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html\r
+> \r
+> all of those are part of Shell Command Language...\r
+\r
+Hmm, you are right. The solaris /bin/sh is older revision of posix.\r
+\r
+\r
+\r
+> Does the configure script work if you replace /bin/sh with /bin/ksh\r
+> in your Solaris box\r
+\r
+yes, it does work if executed by /bin/bash or /bin/ksh\r
+\r
+\r
+> If yes, something like the following could be added to the beginning\r
+> of 'configure'\r
+> \r
+> option=option=value\r
+> if test ! x"${option$*=}" = x"value" 2>/dev/null; then\r
+>      if test x"${PREVENT_LOOPING-}" = x; then\r
+>              PREVENT_LOOPING=true; export PREVENT_LOOPING\r
+>                 test ! -x /bin/ksh || exec /bin/ksh "$0" "$@"\r
+>                 test ! -x /bin/bash || exec /bin/bash "$0" "$@"\r
+>         fi\r
+>         echo "Cannot find compatible shell for '$0'" >&2\r
+>         exit 1\r
+> fi\r
+\r
+Unfortunately, no. The /bin/sh says "bad substitution" and does not run\r
+the script at all. I also tried\r
+\r
+eval 'echo ${A%%1}'; echo ok\r
+\r
+but that does not run the 'echo ok' and fails also.\r
+\r
+\r
+I can see three possible solutions\r
+\r
+1) use bash or ksh in the shebang line\r
+2) rewrite the script as I gave the overview\r
+3) declare that solaris 10 /bin/sh is not compatible with configure\r
+script\r
+\r
+\r
+Frankly even 3) is viable option, one just have to remember to run\r
+'bash configure'. If everything else would work, I would be happy :)\r
+\r
+Thank you\r
+-- \r
+       Vlad\r