Compare commits

...

17 Commits

Author SHA1 Message Date
Richard W.M. Jones
91e8df37c1 Version 1.54.1. 2025-02-18 16:26:03 +00:00
Richard W.M. Jones
7b8ca818a3 ruby: Make sure all object files are cleaned up
There were several, large *.o files left over after 'make clean':

$ ls ruby/ext/guestfs/
actions-0.c  actions-2.c  actions-4.c  actions-6.c    handle.c
actions-0.o  actions-2.o  actions-4.o  actions-6.o    handle.o
actions-1.c  actions-3.c  actions-5.c  actions.h      module.c
actions-1.o  actions-3.o  actions-5.o  extconf.rb.in  module.o

(cherry picked from commit 8d61b04dd6)
2025-02-18 15:56:53 +00:00
Richard W.M. Jones
be0b4b9d94 tests/syslinux/test-syslinux.pl: Send skip messages to stderr
Otherwise they won't appear in test-suite.log.

(cherry picked from commit a1ecc0006c)
2025-02-18 15:56:48 +00:00
Richard W.M. Jones
5a02a527fc tests/syslinux/test-syslinux.pl: Fix disk image location
tests/Makefile.am assumes the test image is located in
tests/syslinux/, but we actually created it in tests/.  Fix the
location, and also ensure the test will clean it up after running
successfully.

(cherry picked from commit 3749443464)
2025-02-18 15:56:46 +00:00
Richard W.M. Jones
2de04447d7 logo: Restore year banner in logo
Fixes: commit e2c7bddf10
(cherry picked from commit 1b7d905d43)
2025-02-18 15:56:39 +00:00
Daniel Gomez
7e835153c1 appliance: add support for sfdisk on Debian
Fixes virt-builder error:

virt-builder: error: libguestfs error: inspect_os: execvp: sfdisk: No
such file or directory

Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
(cherry picked from commit 82e2dea96a)
2025-02-18 15:56:30 +00:00
Daniel Gomez
adb51ac8a4 appliance: add dhcpcd support on Debian
Debian has replaced the deprecated isc-dhcp-client (dhclient) with
dhcpcd-base (dhcpcd) as the default DHCP client [1]. This causes network
issues in virt-builder since isc-dhcp-client is no longer installed
by default.

Add support for dhcpcd (dhcpcd-base package) in Debian.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041066

Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
(cherry picked from commit 91fab3f498)
2025-02-18 15:56:25 +00:00
Richard W.M. Jones
fa8970d086 appliance/init: Fix /usr/sbin symlinks in Fedora 42+
Since Fedora 42 merged /usr/sbin and /usr/bin, /usr/sbin is usually
populated with symbolic links to binaries in /usr/bin.  These are
created by a complicated script in filesystem.spec that we don't run.
Emulate sort of what that script is doing instead.

This is a hack that we can eventually remove, hopefully.

See-also: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PCU2WWLEGLGIOY4TCCBIHLYS6ZCZ4GSS/
(cherry picked from commit 6ba8449927)
2025-02-18 15:56:19 +00:00
Richard W.M. Jones
fec320fc75 po-docs/libguestfs-docs.pot: Rebuild this file from scratch
Reported-by: Ricky Tigg
Fixes: https://github.com/libguestfs/libguestfs/issues/167
(cherry picked from commit 2ec93578be)
2025-02-18 15:56:02 +00:00
Richard W.M. Jones
f11613af09 dist: Force po-docs/libguestfs-docs.pot to be rebuilt
It's not ideal to delete this file, but it seems like the only way to
force make to really rebuild it.

(cherry picked from commit b875c5e6b0)
2025-02-18 15:55:59 +00:00
Richard W.M. Jones
b505a1624f po-docs: Use po4a-updatepo
As far as I can tell using po4a-gettextize was wrong here.  The right
subtool for combining multiple documents into a .pot is po4a-updatepo,
so use that one instead.

(cherry picked from commit 48d3264573)
2025-02-18 15:55:54 +00:00
Richard W.M. Jones
4501626bd5 docs/guestfs-release-notes-1.34.pod: Clarify confusing language
Reported-by: Ricky Tigg
Fixes: https://github.com/libguestfs/libguestfs/issues/167
(cherry picked from commit 1aa883c50d)
2025-02-18 15:55:50 +00:00
Richard W.M. Jones
e9ba5d9d56 daemon: Translate file 5.46 "Intel i386" to "i386"
Fixes: https://github.com/libguestfs/libguestfs/issues/162
Reported-by: Toolybird
(cherry picked from commit ed21af3b0a)
2025-02-18 15:55:39 +00:00
Richard W.M. Jones
8027fb3b15 docs: recipes: Update xpath command
Link: https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/SOWJHHHJXDFAKSCCLXCNUE5X7W22VUEQ/
Reported-by: Emmanuel Kasper
(cherry picked from commit 4ebec324fe)
2025-02-18 15:55:27 +00:00
Thomas Wouters
4bdc4c4d3c Fix dhcpcd failing on systemd-resolved stub
dhcpcd fails to update /etc/resolv.conf if is a dangling symlink, so remove it
if it is.

This happens on Arch Linux when systemd-resolved is enabled by symlinking
/etc/resolv.conf to /run/systemd/resolve/stub-resolv.conf. The symlink is copied
into the supermin appliance, but the target file is not and this causes dhcpcd to
fail when it tries to update /etc/resolv.conf.

The handling of /etc/resolv.conf could be improved in dhcpcd but it's not their
job to decide when to remove the symlink. We do have the authority to decide
whether or not to use systemd-resolved or resolvconf in the appliance, so we can
remove it.

(cherry picked from commit 84d1cd0707)
2025-02-18 15:55:02 +00:00
Richard W.M. Jones
e60f016b9e website: Fix link to latest development version
Fixes: commit 0edaea8f91
(cherry picked from commit a47e2cf6a8)
2025-02-18 15:54:46 +00:00
Richard W.M. Jones
0c52eba974 lib: direct: Remove test for qemu mandatory locking
We tested for QEMU >= 2.10 support for mandatory locking.  I believe
this is for all practical purposes always enabled now (and qemu 2.10
is ancient history) so simply assume it's true always.

(cherry picked from commit 47857751a7)
2025-02-18 15:54:33 +00:00
18 changed files with 14741 additions and 29303 deletions

View File

@@ -206,8 +206,12 @@ maintainer-upload-website:
# docs/C_SOURCE_FILES
# - source files scanned for internal documentation
# po/POTFILES - files with ordinary extensions, but not OCaml files
# po-docs/libguestfs-docs.pot
# - combined list of strings from documentation
dist-hook: docs/C_SOURCE_FILES po/POTFILES
rm -f po-docs/libguestfs-docs.pot
$(MAKE) -C po-docs libguestfs-docs.pot
# This has to be in the top-level Makefile.am so that we have access
# to DIST_SUBDIRS.

View File

@@ -50,6 +50,22 @@ mount -t tmpfs -o mode=1777 shmfs /dev/shm
mkdir -p /sysroot
# On Fedora 42+ fix symlinks in /usr/sbin
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PCU2WWLEGLGIOY4TCCBIHLYS6ZCZ4GSS/
# Probably we can remove this eventually.
if test -f /etc/fedora-release &&
test -f /etc/os-release &&
! test -L /usr/sbin ; then
ver="$(sed -n 's/^VERSION_ID=\(.*\)/\1/p' < /etc/os-release)"
if (( $ver >= 42 )); then
for f in /usr/bin/*; do
if test -x "$f"; then
ln -s "$f" /usr/sbin/
fi
done
fi
fi
# taken from initramfs-tools/init --Hilko Bengen
mkdir -p /run
mount -t tmpfs -o "nosuid,size=20%,mode=0755" tmpfs /run
@@ -115,6 +131,10 @@ if test "$guestfs_network" = 1; then
# Two workarounds for Ubuntu:
touch /etc/fstab
rm -f /etc/dhcp/dhclient-enter-hooks.d/resolved
# Prevent dhcpcd from failing when /etc/resolv.conf is a dangling symlink.
if [ -L "/etc/resolv.conf" ] && [ ! -e "/etc/resolv.conf" ]; then
rm -f /etc/resolv.conf
fi
if dhclient --version >/dev/null 2>&1; then
dhclient $iface
elif dhcpcd $iface; then

View File

@@ -62,6 +62,7 @@ dnl old name used in Jessie and earlier
cryptsetup
dash
extlinux
fdisk
dnl gfs-tools, gfs2-tools have been renamed to gfs2-utils
gfs-tools
gfs2-tools
@@ -74,7 +75,9 @@ dnl iproute has been renamed to iproute2
iputils-ping
iputils-arping
iputils-tracepath
dnl isc-dhcp-client has been replaced with dhcpcd-base
isc-dhcp-client
dhcpcd-base
ldmtool
libc-bin
librpm9

View File

@@ -20,8 +20,8 @@
# freeform string.
m4_define([libguestfs_major], [1])
m4_define([libguestfs_minor], [54])
m4_define([libguestfs_release], [0])
m4_define([release_date], [2024-10-08])
m4_define([libguestfs_release], [1])
m4_define([release_date], [2025-02-18])
AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_SUBST([RELEASE_DATE],release_date)

View File

@@ -68,7 +68,7 @@ and file_architecture_of_magic magic orig_path path =
*)
and canonical_elf_arch bits endianness elf_arch =
let substr s = String.find elf_arch s >= 0 in
if substr "Intel 80386" || substr "Intel 80486" then
if substr "Intel 80386" || substr "Intel i386" || substr "Intel 80486" then
"i386"
else if substr "x86-64" || substr "AMD x86-64" then
"x86_64"

View File

@@ -398,18 +398,18 @@ Save the following script into a file called F<product-name.sh>:
Make the script executable and run it on a named guest:
# product-name.sh RHEL60x64
Red Hat Enterprise Linux Server release 6.0 (Santiago)
$ product-name.sh fedora-40.img
Fedora Linux 40 (Forty)
You can also use an XPath query on the L<virt-inspector(1)> XML using
the C<xpath> command line tool or from your favourite programming
language:
# virt-inspector RHEL60x64 > xml
# xpath '//product_name' < xml
Found 1 nodes:
$ virt-inspector -a fedora-40.img > xml
$ xpath -e '//product_name' < xml
Found 1 nodes in stdin:
-- NODE --
<product_name>Red Hat Enterprise Linux Server release 6.0 (Santiago)</product_name>
<product_name>Fedora Linux 40 (Forty)</product_name>
=head1 Get the default boot kernel for a Linux VM

View File

@@ -72,7 +72,7 @@ simplified (Roman Kagan).
virt-v2v I<--in-place> mode now supports installing virtio-scsi
drivers in guests (Roman Kagan).
virt-v2v can now convert SUSE guests and SUSE guests using UEFI
virt-v2v can now convert SUSE guests with and without UEFI
(Cédric Bosdonnat and Jim Fehlig).
virt-v2v can now convert guests to Glance that have multiple disks.

View File

@@ -796,7 +796,6 @@ extern struct qemu_data *guestfs_int_test_qemu (guestfs_h *g);
extern struct version guestfs_int_qemu_version (guestfs_h *g, struct qemu_data *);
extern int guestfs_int_qemu_supports (guestfs_h *g, const struct qemu_data *, const char *option);
extern int guestfs_int_qemu_supports_device (guestfs_h *g, const struct qemu_data *, const char *device_name);
extern int guestfs_int_qemu_mandatory_locking (guestfs_h *g, const struct qemu_data *data);
extern bool guestfs_int_platform_has_kvm (guestfs_h *g, const struct qemu_data *data);
extern char *guestfs_int_drive_source_qemu_param (guestfs_h *g, const struct drive_source *src);
extern bool guestfs_int_discard_possible (guestfs_h *g, struct drive *drv, const struct version *qemu_version);

View File

@@ -57,7 +57,6 @@ struct backend_direct_data {
pid_t recoverypid; /* Recovery process PID. */
struct version qemu_version; /* qemu version (0 if unable to parse). */
int qemu_mandatory_locking; /* qemu >= 2.10 does mandatory locking */
struct qemu_data *qemu_data; /* qemu -help output etc. */
char guestfsd_sock[UNIX_PATH_MAX]; /* Path to daemon socket. */
@@ -240,13 +239,13 @@ add_drive_standard_params (guestfs_h *g, struct backend_direct_data *data,
}
}
else {
/* Writable qcow2 overlay on top of read-only drive. */
if (data->qemu_mandatory_locking &&
/* Add the file-specific locking option only for files, as
* qemu won't accept options unknown to the block driver in
* use.
*/
drv->src.protocol == drive_protocol_file) {
/* Writable qcow2 overlay on top of read-only drive.
*
* Add the file-specific locking option only for files, as
* qemu won't accept options unknown to the block driver in
* use.
*/
if (drv->src.protocol == drive_protocol_file) {
append_list_format ("file.file.filename=%s", drv->overlay);
append_list ("file.driver=qcow2");
append_list ("file.backing.file.locking=off");
@@ -495,10 +494,6 @@ launch_direct (guestfs_h *g, void *datav, const char *arg)
data->qemu_version = guestfs_int_qemu_version (g, data->qemu_data);
debug (g, "qemu version: %d.%d",
data->qemu_version.v_major, data->qemu_version.v_minor);
data->qemu_mandatory_locking =
guestfs_int_qemu_mandatory_locking (g, data->qemu_data);
debug (g, "qemu mandatory locking: %s",
data->qemu_mandatory_locking ? "yes" : "no");
}
/* Work out if KVM is supported or if the user wants to force TCG. */

View File

@@ -662,54 +662,6 @@ guestfs_int_qemu_supports_device (guestfs_h *g,
return strstr (data->qemu_devices, device_name) != NULL;
}
/**
* Test if the qemu binary uses mandatory file locking, added in
* QEMU >= 2.10 (but sometimes disabled).
*/
int
guestfs_int_qemu_mandatory_locking (guestfs_h *g,
const struct qemu_data *data)
{
json_t *schema, *v, *meta_type, *members, *m, *name;
size_t i, j;
/* If there's no QMP schema, fall back to checking the version. */
if (!data->qmp_schema_tree) {
fallback:
return guestfs_int_version_ge (&data->qemu_version, 2, 10, 0);
}
/* Top element of qmp_schema_tree is the { "return": ... } wrapper.
* Extract the schema from the wrapper. Note the returned schema
* will be an array.
*/
schema = json_object_get (data->qmp_schema_tree, "return");
if (!json_is_array (schema))
goto fallback;
/* Now look for any member of the array which has:
* { "meta-type": "object",
* "members": [ ... { "name": "locking", ... } ... ] ... }
*/
json_array_foreach (schema, i, v) {
meta_type = json_object_get (v, "meta-type");
if (json_is_string (meta_type) &&
STREQ (json_string_value (meta_type), "object")) {
members = json_object_get (v, "members");
if (json_is_array (members)) {
json_array_foreach (members, j, m) {
name = json_object_get (m, "name");
if (json_is_string (name) &&
STREQ (json_string_value (name), "locking"))
return 1;
}
}
}
}
return 0;
}
bool
guestfs_int_platform_has_kvm (guestfs_h *g, const struct qemu_data *data)
{

View File

@@ -398,7 +398,7 @@
x="894.29639"
y="419.25662"
id="tspan3861"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:48px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';letter-spacing:0px;stroke-width:1">2009-2023</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:48px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';letter-spacing:0px;stroke-width:1">2009-2019</tspan></text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -66,7 +66,8 @@ AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"])
dnl po4a for translating man pages and POD files (optional).
AC_CHECK_PROG([PO4A_GETTEXTIZE],[po4a-gettextize],[po4a-gettextize],[no])
AC_CHECK_PROG([PO4A_TRANSLATE],[po4a-translate],[po4a-translate],[no])
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A_GETTEXTIZE" != "xno" && test "x$PO4A_TRANSLATE" != "xno"])
AC_CHECK_PROG([PO4A_UPDATEPO],[po4a-updatepo],[po4a-updatepo],[no])
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A_GETTEXTIZE" != "xno" && test "x$PO4A_TRANSLATE" != "xno" && test "x$PO4A_UPDATEPO" != "xno"])
dnl Check for sqlite3 (optional).
AC_CHECK_PROG([SQLITE3],[sqlite3],[sqlite3],[no])

View File

@@ -41,9 +41,9 @@ EXTRA_DIST = \
SUBDIRS = $(linguas_translated)
libguestfs-docs.pot:
cd $(top_srcdir) && $(PO4A_GETTEXTIZE) \
cd $(top_srcdir) && $(PO4A_UPDATEPO) \
-f pod \
-M utf-8 -L utf-8 \
-M utf-8 \
--package-name $(PACKAGE_NAME) \
--package-version $(PACKAGE_VERSION) \
--msgid-bugs-address guestfs@lists.libguestfs.org \

File diff suppressed because it is too large Load Diff

View File

@@ -6,10 +6,10 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.54.0\n"
"Project-Id-Version: libguestfs 1.54.1\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
"POT-Creation-Date: 2024-10-08 14:36+0100\n"
"POT-Creation-Date: 2025-02-18 16:25+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -3852,30 +3852,30 @@ msgstr ""
msgid "setting not found"
msgstr ""
#: lib/info.c:83
#: lib/info.c:78
msgid "qemu-img info: JSON output did not contain format key"
msgstr ""
#: lib/info.c:106
#: lib/info.c:101
msgid "qemu-img info: JSON output did not contain virtual-size key"
msgstr ""
#: lib/info.c:134
#: lib/info.c:129
msgid "qemu-img info: JSON output was not an object"
msgstr ""
#: lib/info.c:180
#: lib/info.c:175
msgid ""
"qemu-img info command produced no output, but didn't return an error status "
"code"
msgstr ""
#: lib/info.c:210
#: lib/info.c:205
#, c-format
msgid "qemu-img info: JSON parse error: %s"
msgstr ""
#: lib/info.c:212
#: lib/info.c:207
msgid "qemu-img info: unknown JSON parse error"
msgstr ""
@@ -3884,7 +3884,7 @@ msgstr ""
msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
msgstr ""
#: lib/launch-direct.c:151
#: lib/launch-direct.c:150
#, c-format
msgid ""
"current user is not a member of the KVM group (group ID %d). This user "
@@ -3893,31 +3893,31 @@ msgid ""
"might need to log out and log in again)."
msgstr ""
#: lib/launch-direct.c:393
#: lib/launch-direct.c:392
#, c-format
msgid "passt was killed with signal %d"
msgstr ""
#: lib/launch-direct.c:398
#: lib/launch-direct.c:397
#, c-format
msgid "internal error: unexpected exit status from passt (%d)"
msgstr ""
#: lib/launch-direct.c:405
#: lib/launch-direct.c:404
#, c-format
msgid "passt exited with status %d"
msgstr ""
#: lib/launch-direct.c:426
#: lib/launch-direct.c:425
#, c-format
msgid "failed to parse passt PID from '%s'"
msgstr ""
#: lib/launch-direct.c:475
#: lib/launch-direct.c:474
msgid "you must call guestfs_add_drive before guestfs_launch"
msgstr ""
#: lib/launch-direct.c:1042 lib/launch-libvirt.c:695
#: lib/launch-direct.c:1037 lib/launch-libvirt.c:690
msgid "qemu launched and contacted daemon, but state != READY"
msgstr ""
@@ -3926,56 +3926,56 @@ msgstr ""
msgid "%s:%d: error constructing libvirt XML near call to \"%s\""
msgstr ""
#: lib/launch-libvirt.c:219
#: lib/launch-libvirt.c:214
msgid ""
"could not auto-detect the format.\n"
"If the format is known, pass the format to libguestfs, eg. using the\n"
"--format option, or via the optional format argument to add-drive."
msgstr ""
#: lib/launch-libvirt.c:230
#: lib/launch-libvirt.c:225
msgid ""
"could not auto-detect the format when using a non-file protocol.\n"
"If the format is known, pass the format to libguestfs, eg. using the\n"
"--format option, or via the optional format argument to add-drive."
msgstr ""
#: lib/launch-libvirt.c:345
#: lib/launch-libvirt.c:340
msgid "direct mode flag is not supported yet for libvirt backend"
msgstr ""
#: lib/launch-libvirt.c:383
#: lib/launch-libvirt.c:378
#, c-format
msgid "could not connect to libvirt (URI = %s)"
msgstr ""
#: lib/launch-libvirt.c:412
#: lib/launch-libvirt.c:407
msgid "could not get libvirt capabilities"
msgstr ""
#: lib/launch-libvirt.c:433
#: lib/launch-libvirt.c:428
msgid "could not get libvirt domain capabilities"
msgstr ""
#: lib/launch-libvirt.c:628
#: lib/launch-libvirt.c:623
msgid "could not create appliance through libvirt. Original error from libvirt"
msgstr ""
#: lib/launch-libvirt.c:760
#: lib/launch-libvirt.c:755
msgid "unable to parse capabilities XML returned by libvirt"
msgstr ""
#: lib/launch-libvirt.c:766 lib/launch-libvirt.c:868 lib/libvirt-domain.c:397
#: lib/launch-libvirt.c:761 lib/launch-libvirt.c:863 lib/libvirt-domain.c:397
#: lib/libvirt-domain.c:481
msgid "unable to create new XPath context"
msgstr ""
#: lib/launch-libvirt.c:776 lib/launch-libvirt.c:876 lib/launch-libvirt.c:892
#: lib/launch-libvirt.c:771 lib/launch-libvirt.c:871 lib/launch-libvirt.c:887
#, c-format
msgid "unable to evaluate XPath expression: %s"
msgstr ""
#: lib/launch-libvirt.c:815
#: lib/launch-libvirt.c:810
#, c-format
msgid ""
"libvirt hypervisor doesnt support qemu or KVM,\n"
@@ -3990,47 +3990,47 @@ msgid ""
"For further help, read the guestfs(3) man page and libguestfs FAQ."
msgstr ""
#: lib/launch-libvirt.c:862
#: lib/launch-libvirt.c:857
msgid "unable to parse domain capabilities XML returned by libvirt"
msgstr ""
#: lib/launch-libvirt.c:1508 lib/launch-libvirt.c:1761 lib/qemu.c:816
#: lib/launch-libvirt.c:1503 lib/launch-libvirt.c:1756 lib/qemu.c:763
#, c-format
msgid "realpath: could not convert %s to absolute path"
msgstr ""
#: lib/launch-libvirt.c:1586
#: lib/launch-libvirt.c:1581
msgid ""
"libvirt does not support the qemu curl driver protocols (ftp, http, etc.); "
"try setting LIBGUESTFS_BACKEND=direct"
msgstr ""
#: lib/launch-libvirt.c:1976
#: lib/launch-libvirt.c:1971
msgid "could not define libvirt secret"
msgstr ""
#: lib/launch-libvirt.c:1987
#: lib/launch-libvirt.c:1982
msgid "rbd protocol secret must be base64 encoded"
msgstr ""
#: lib/launch-libvirt.c:1991
#: lib/launch-libvirt.c:1986
#, c-format
msgid "base64_decode_alloc: %m"
msgstr ""
#: lib/launch-libvirt.c:2009
#: lib/launch-libvirt.c:2004
msgid "could not set libvirt secret value"
msgstr ""
#: lib/launch-libvirt.c:2022
#: lib/launch-libvirt.c:2017
msgid "could not get UUID from libvirt secret"
msgstr ""
#: lib/launch-libvirt.c:2192
#: lib/launch-libvirt.c:2187
msgid "could not destroy libvirt domain"
msgstr ""
#: lib/launch-libvirt.c:2213 lib/launch-libvirt.c:2246
#: lib/launch-libvirt.c:2208 lib/launch-libvirt.c:2241
#, c-format
msgid "%s: internal error forming error message"
msgstr ""
@@ -4246,35 +4246,35 @@ msgstr ""
msgid "file receive cancelled by daemon"
msgstr ""
#: lib/qemu.c:960
#: lib/qemu.c:907
msgid "discard cannot be enabled on this drive: qemu < 1.5"
msgstr ""
#: lib/qemu.c:969
#: lib/qemu.c:916
msgid ""
"discard cannot be enabled on this drive: the drive has a read-only overlay"
msgstr ""
#: lib/qemu.c:976
#: lib/qemu.c:923
msgid ""
"discard cannot be enabled on this drive: you have to specify the format of "
"the file"
msgstr ""
#: lib/qemu.c:984
#: lib/qemu.c:931
msgid ""
"discard cannot be enabled on this drive: qemu < 1.6 cannot do discard on "
"qcow2 files"
msgstr ""
#: lib/qemu.c:992
#: lib/qemu.c:939
#, c-format
msgid ""
"discard cannot be enabled on this drive: qemu does not support discard for "
"%s format files"
msgstr ""
#: lib/qemu.c:1012
#: lib/qemu.c:959
#, c-format
msgid ""
"discard cannot be enabled on this drive: protocol %s does not support "
@@ -4314,8 +4314,8 @@ msgstr ""
msgid ""
"%s: cannot create temporary directory. It may be that $XDG_RUNTIME_DIR is "
"pointing to a directory which we cannot write to, for example if you used "
"su [user] to change to this user account (see https://bugzilla.redhat."
"com/967509). You can correct this by adjusting XDG_RUNTIME_DIR and possibly "
"su [user] to change to this user account (see https://bugzilla.redhat.com/"
"967509). You can correct this by adjusting XDG_RUNTIME_DIR and possibly "
"creating /run/user/%d with the right ownership."
msgstr ""

View File

@@ -47,8 +47,8 @@ CLEANFILES += \
t/*~ \
ext/guestfs/*~ \
ext/guestfs/extconf.h \
ext/guestfs/_guestfs.o \
ext/guestfs/_guestfs.$(DLEXT) \
ext/guestfs/*.o \
ext/guestfs/*.$(DLEXT) \
ext/guestfs/mkmf.log \
ext/guestfs/Makefile

View File

@@ -26,7 +26,7 @@ exit 77 if $ENV{SKIP_TEST_SYSLINUX_PL};
my $bootloader = $ENV{BOOTLOADER} || "syslinux";
my $disk = "$bootloader-guest.img";
my $disk = "syslinux/$bootloader-guest.img";
# Find prerequisites.
my $mbr;
@@ -44,7 +44,7 @@ foreach my $m (@mbr_paths) {
}
}
unless (defined $mbr) {
print "$0: mbr.bin (from SYSLINUX) not found, skipping test\n";
print STDERR "$0: mbr.bin (from SYSLINUX) not found, skipping test\n";
exit 77;
}
print "mbr: $mbr\n";
@@ -60,7 +60,7 @@ die "invalid mbr.bin" unless length ($mbr_data) == 440;
my $kernel = `ls -1rv /boot/vmlinuz* | head -1`;
chomp $kernel;
unless ($kernel) {
print "$0: kernel could not be found, skipping test\n";
print STDERR "$0: kernel could not be found, skipping test\n";
exit 77;
}
print "kernel: $kernel\n";
@@ -74,7 +74,8 @@ $g->add_drive ($disk, format => "raw");
$g->launch ();
unless ($g->feature_available ([$bootloader])) {
print "$0: skipping test because '$bootloader' feature is not available\n";
print STDERR
"$0: skipping test because '$bootloader' feature is not available\n";
exit 77
}
@@ -115,3 +116,6 @@ $g->part_set_bootable ("/dev/sda", 1, 1);
# Finish off.
$g->shutdown ();
# Clean up the test file.
unlink ($disk);

View File

@@ -183,7 +183,7 @@ git clone <a href="https://github.com/libguestfs/libguestfs">https://github.com/
<p class="latest">
<em><small>
<!--
LATEST-URL: http://libguestfs.org/download/1.53-development/libguestfs-@PACKAGE_VERSION@.tar.gz
LATEST-URL: http://libguestfs.org/download/1.55-development/libguestfs-@PACKAGE_VERSION@.tar.gz
LATEST-VERSION: @PACKAGE_VERSION@
-->
<a href="download/1.55-development/">Latest development version: <strong>@PACKAGE_VERSION@</strong></a> (released <strong>@RELEASE_DATE@</strong>).<br/>