coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[coreutils] Re: Builds of coreutils-8.6.19-1369f


From: Jim Meyering
Subject: [coreutils] Re: Builds of coreutils-8.6.19-1369f
Date: Sat, 06 Nov 2010 12:19:01 +0100

Nelson H. F. Beebe wrote:
[...there appears to be a hang in "make check" on FreeBSD...]
>
> PASS: misc/id-groups
> SKIP: misc/md5sum
> SKIP: misc/md5sum-newline
> PASS: misc/md5sum-parallel
> PASS: misc/mknod

Hi Nelson,

[Cc'ing the list]
Thanks for the heads up and for all the testing.

The test following that one is "misc/nice", and it is indeed stuck.
The shell seems to be the problem (bash-4.1.7)
and how it treats IFS.  init.cfg saves $IFS and restores it like this:

  local saved_IFS=$IFS
    IFS=:
    set -- $PATH
  IFS=$saved_IFS

but that fails with the bash-4.1.7 on your freebsd system.
Compilation problem?  Missing patch?  It works fine on my F14 desktop
which has bash-4.1.7-3.fc14.x86_64.

The trouble is that the assignment to saved_IFS
above stored the empty string, so "restoring" it
set that special variable to the empty string.  Oops.
Not surprisingly, that caused many tests to fail.

Adding the normally-unnecessary quotes,
  local saved_IFS="$IFS"
makes all tests pass once again.

For the record, I reduced it to this,
where /bin/sh is /usr/local/bin/bash, which is 4.1.7:

cat <<\EOF > init.cfg
f()
{
  case $IFS in '') exit 91;; esac
  local s=$IFS
  case $s in '') exit 97;; esac
}
f
EOF
$ /bin/sh -c '. init.cfg'
[Exit 97]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]