If libmagic isn't installed then the guestfs_file_architecture API
doesn't work. This means that inspection will always return
<arch>unknown</arch> for every guest. This subtly breaks a few
features. In particular it was reported that the
virt-builder/virt-customize --install option did not work because the
"unknown" architecture of the guest was not compatible with the host.
libmagic is a small, widely available C library, so the easiest fix is
just to make it mandatory.
Reported by: Solarix on IRC
This change refactors how the qemu shell script is generated, making
it a bit less likely that we'll get the quoting wrong. Parameters are
now added to a list, unquoted, and all quoting is done when printing
out the list.
Checked by running virt-v2v -o qemu before and after the change and
manually comparing the output (which is not identical, but still
correct).
Make the documentation in Convert_linux more generic than just
Enterprise distros using RPM. Also, rename the name of the module from
"enterprise-linux" to simply "linux".
In particular, read the URL, the source name, and both the summary and
the description. For the long description, add a small system to read
continuation lines.
Adapt the expected result of virt-inspector for Debian and Ubuntu phony
guests, so test-virt-inspector.sh still passes.
A message was translated without the trailing \n. As it was in a
verbatim section of POD, I actually reverted the whole translation.
The error was:
./uk.po:53533: 'msgid' and 'msgstr' entries do not both end with '\n'
msgfmt: found 1 fatal error
In fact po4a (or whatever calls msgfmt) seems to ignore the error and
continues which is another problem.
Fixes commit 794b6a1acf.
Commit 794b6a1acf added cs.po, but
because this wasn't also added to lingas_not_translated the file was
not included in EXTRA_DIST or processed properly.
Fixes commit 794b6a1acf.
Compiling po-docs/ja/guestfish.pod failed with:
Pod input around line 277: L<> starts or ends with whitespace
Pod input around line 362: L<> starts or ends with whitespace
I reverted the part of the L</...> link which had been translated.
The fix isn't quite correct -- headings *can* be translated, and the
corresponding internal links should be translated too. However
pod2man has problems dealing with such links and in any case the
partial translation was not correct, so revert to the English version
of the link.
Updates commit 794b6a1acf.
Somewhere between OCaml 4.01 and OCaml 4.04, <caml/memory.h> changed
the way that CAMLlocalX() values on the stack are initialized. In
OCaml 4.01:
#define CAMLlocal1(x) \
value x = 0; \
CAMLxparam1 (x)
but in OCaml 4.04:
#define CAMLlocal1(x) \
value x = Val_unit; \
CAMLxparam1 (x)
The code in mllib/visit-c.c assumed that the value would be
initialized to Val_unit, and used a check (exn != Val_unit) to see if
the value had been updated. This failed badly (with a segfault) on
OCaml 4.01 in Debian 8.
Resolve this by always initializing CAMLlocalX() values before use.
We are redy to restore the disabled test. The relevant libvirt fixes
should be available in 3.1.0.
Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Libvirt < 3.1.0 lacks enough support for json: pseudo-URLs. Notably it
does not allow use of "raw" driver that we need.
Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
The test tests/regressions/rhbz914931.c works by causing the daemon to
segfault while writing to it.
For reasons unknown, when configured --without-libvirt, this causes
the test to fail receiving SIGPIPE (exit code 141). We can prevent
this by installing a signal handler to ignore SIGPIPE, so the signal
is converted to EPIPE which the code handles properly.
The old version of qemu-img available in Debian 8 doesn't support the
preallocation option for raw format. However this doesn't matter
because the default is preallocation=off (ie. sparse) for old and new
versions of qemu-img so we can just omit this parameter.
Fixes commit 53317e3f07
and commit fa83b47876
and commit 74ded0dbc1.
Slightly change the logic for installing RHEV-APT and VMDP:
- Only warn on failure to install RHEV-APT if the output hypervisor
requested it. Otherwise the warning is pointless because RHEV-APT
can't be used anyway.
- Make the warning clearer and actionable.
- Try to install VMDP unconditionally (rather than only if RHEV-APT
failed). It is always useful for SuSE hosts. However don't warn if
it's not available.
Previously the Convert_linux conversion module depended on one feature
of the output module (#keep_serial_console). This was extracted in an
ad-hoc way from the output module and passed as an extra parameter to
the conversion module.
Instead of doing it this way, just pass the output module into the
conversion module, so it can call output#keep_serial_console itself.
This is just a simplification of the existing code, but otherwise adds
no new features.
Non-Linux Unix guests may have static devices for CDs, so make sure to
skip them when reading /etc/fstab. This is the same as done for
/dev/fdN devices, i.e. floppy devices.