[Libguestfs] Further nbdkit patches for Haiku

Richard W.M. Jones rjones at redhat.com
Tue Nov 13 13:40:31 UTC 2018


On Tue, Nov 06, 2018 at 09:02:17AM +0000, Richard W.M. Jones wrote:
> Finally about the list of failing tests:
> 
>   https://pastebin.com/1PFG85DS
> 
> Mostly these are because of the old qemu-io binary.  The qemu-io -f
> option was added 4 years ago :-/ so it could be time to upgrade.

FWIW this turns out to be a problem in RHEL 7 as well :-(  I worked
around it (in RHEL 7 only) by patching the affected tests like this:

  # Ancient qemu-io in RHEL 7 doesn't support -f FORMAT option.  However
  # we can just omit it and the tests still work fine.
  for f in tests/*.sh; do
    sed -i -e 's/qemu-io -f raw/qemu-io/g' $f
  done

> This error:
> 
>   ./test-shebang-perl.sh: PID file was not created
>   rect ELF header
>   FAIL test-shebang-perl.sh (exit status: 1)
> 
> (I think the error message is "incorrect ELF header") could be
> something to do with the way we use shebangs (#!).  IIRC this also
> fails on FreeBSD so probably nbdkit is doing something which is not
> correct POSIX.

I reproduced this on FreeBSD.  The path used in the tests is indeed
relative:

  #!../nbdkit

However replacing this with an absolute path did *not* fix the issue.
FreeBSD seems to not like running a shell script from a shebang,
probably because this is (was?) insecure.  However because of the way
our test harness works we really need to run the shell script.  As
there seems to be no simple way to fix this for now, I left the bug in
1.8.0.

Finally the way that iconv detection was implemented broke FreeBSD.  I
added an interim replacement for this which at least fixes FreeBSD &
Linux, however of couse I did not test Haiku:

  https://github.com/libguestfs/nbdkit/commit/acbe7ad89e75efa8eea41d5891bca3972214200a

So hopefully nbdkit 1.8.0 works for you, or at least is not completely
broken.  If there are any problems then let us know.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list