bug in configure script

Jameson Graef Rollins jrollins at finestructure.net
Fri Jun 1 11:17:05 PDT 2012


There's a bug in the configure script that is causing auto-reruns of
./configure to not inherit original command line options if there was
more than one.  For instance, if I run:

./configure --with-gmime-version=2.4 --prefix=/home/jrollins/opt/notmuch

Then in Makefile.config I get:

configure_options = --with-gmime-version=2.4--prefix=/home/jrollins/opt/notmuch

This means that auto-reruns of configure will not get the proper
options.

I tracked this down to an issue with IFS and /bin/sh.  The first line of
./configure is:

readonly DEFAULT_IFS=$IFS

DEFAULT_IFS is then used to reset IFS after it is modified within the
script.  The problem is that /bin/sh is setting DEFAULT_IFS to be NULL
(i.e. ''), which leads to no separation between variables when "$@" is
expanded (which is itself problematic since I don't think "@" should use
the IFS when expanded).  So this might be a bug in dash.  I don't know.
In any event we need to fix this somehow.  I see two obvious solutions:

* use /bin/bash.  This a one line diff that fixes the problem
  immediately.

* replace:

    IFS=$DEFAULT_IFS

  with:

    unset IFS

  Unsetting IFS also resets IFS to the default, without going through
  this intermediate step.

I'm ok with either solution, but I'll wait for some feedback since I
imagine someone will have an opinion.

jamie.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120601/600c1b8c/attachment-0001.pgp>


More information about the notmuch mailing list