mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91e8df37c1 | ||
|
|
7b8ca818a3 | ||
|
|
be0b4b9d94 | ||
|
|
5a02a527fc | ||
|
|
2de04447d7 | ||
|
|
7e835153c1 | ||
|
|
adb51ac8a4 | ||
|
|
fa8970d086 | ||
|
|
fec320fc75 | ||
|
|
f11613af09 | ||
|
|
b505a1624f | ||
|
|
4501626bd5 | ||
|
|
e9ba5d9d56 | ||
|
|
8027fb3b15 | ||
|
|
4bdc4c4d3c | ||
|
|
e60f016b9e | ||
|
|
0c52eba974 |
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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. */
|
||||
|
||||
48
lib/qemu.c
48
lib/qemu.c
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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 |
@@ -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])
|
||||
|
||||
@@ -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
@@ -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 doesn’t 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 ""
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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/>
|
||||
|
||||
Reference in New Issue
Block a user