Include upstream patch to add guestfs_grub_install into an optional group.
This commit is contained in:
parent
07a95f8d32
commit
9a8c70ffe4
104
0001-Add-an-optional-group-grub-for-the-guestfs_grub_inst.patch
Normal file
104
0001-Add-an-optional-group-grub-for-the-guestfs_grub_inst.patch
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
From 99624d29226ece1abbbdd921183b360f5f80de91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Thu, 15 Sep 2011 22:02:43 +0100
|
||||||
|
Subject: [PATCH] Add an optional group ("grub") for the guestfs_grub_install
|
||||||
|
API.
|
||||||
|
|
||||||
|
This also improves the documentation for this call, pointing out
|
||||||
|
several pitfalls in using it.
|
||||||
|
|
||||||
|
This unfortunately breaks existing callers that might use
|
||||||
|
guestfs_grub_install without checking for this new group.
|
||||||
|
---
|
||||||
|
daemon/grub.c | 9 ++++++++-
|
||||||
|
generator/generator_actions.ml | 32 +++++++++++++++++++++++++++-----
|
||||||
|
2 files changed, 35 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemon/grub.c b/daemon/grub.c
|
||||||
|
index f394eef..c61f9df 100644
|
||||||
|
--- a/daemon/grub.c
|
||||||
|
+++ b/daemon/grub.c
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/* libguestfs - the guestfsd daemon
|
||||||
|
- * Copyright (C) 2009 Red Hat Inc.
|
||||||
|
+ * Copyright (C) 2009-2011 Red Hat Inc.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@@ -24,6 +24,13 @@
|
||||||
|
|
||||||
|
#include "daemon.h"
|
||||||
|
#include "actions.h"
|
||||||
|
+#include "optgroups.h"
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+optgroup_grub_available (void)
|
||||||
|
+{
|
||||||
|
+ return prog_exists ("grub-install");
|
||||||
|
+}
|
||||||
|
|
||||||
|
int
|
||||||
|
do_grub_install (const char *root, const char *device)
|
||||||
|
diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml
|
||||||
|
index a924d87..49963bc 100644
|
||||||
|
--- a/generator/generator_actions.ml
|
||||||
|
+++ b/generator/generator_actions.ml
|
||||||
|
@@ -3013,7 +3013,7 @@ or growing unnecessarily.
|
||||||
|
See also: C<guestfs_zero_device>, C<guestfs_scrub_device>,
|
||||||
|
C<guestfs_is_zero_device>");
|
||||||
|
|
||||||
|
- ("grub_install", (RErr, [Pathname "root"; Device "device"], []), 86, [],
|
||||||
|
+ ("grub_install", (RErr, [Pathname "root"; Device "device"], []), 86, [Optional "grub"],
|
||||||
|
(* See:
|
||||||
|
* https://bugzilla.redhat.com/show_bug.cgi?id=484986
|
||||||
|
* https://bugzilla.redhat.com/show_bug.cgi?id=479760
|
||||||
|
@@ -3023,12 +3023,32 @@ C<guestfs_is_zero_device>");
|
||||||
|
["write"; "/boot/grub/device.map"; "(hd0) /dev/vda"];
|
||||||
|
["grub_install"; "/"; "/dev/vda"];
|
||||||
|
["is_dir"; "/boot"]])],
|
||||||
|
- "install GRUB",
|
||||||
|
+ "install GRUB 1",
|
||||||
|
"\
|
||||||
|
-This command installs GRUB (the Grand Unified Bootloader) on
|
||||||
|
+This command installs GRUB 1 (the Grand Unified Bootloader) on
|
||||||
|
C<device>, with the root directory being C<root>.
|
||||||
|
|
||||||
|
-Note: If grub-install reports the error
|
||||||
|
+Notes:
|
||||||
|
+
|
||||||
|
+=over 4
|
||||||
|
+
|
||||||
|
+=item *
|
||||||
|
+
|
||||||
|
+There is currently no way in the API to install grub2, which
|
||||||
|
+is used by most modern Linux guests. It is possible to run
|
||||||
|
+the grub2 command from the guest, although see the
|
||||||
|
+caveats in L<guestfs(3)/RUNNING COMMANDS>.
|
||||||
|
+
|
||||||
|
+=item *
|
||||||
|
+
|
||||||
|
+This uses C<grub-install> from the host. Unfortunately grub is
|
||||||
|
+not always compatible with itself, so this only works in rather
|
||||||
|
+narrow circumstances. Careful testing with each guest version
|
||||||
|
+is advisable.
|
||||||
|
+
|
||||||
|
+=item *
|
||||||
|
+
|
||||||
|
+If grub-install reports the error
|
||||||
|
\"No suitable drive was found in the generated device map.\"
|
||||||
|
it may be that you need to create a C</boot/grub/device.map>
|
||||||
|
file first that contains the mapping between grub device names
|
||||||
|
@@ -3037,7 +3057,9 @@ a file containing:
|
||||||
|
|
||||||
|
(hd0) /dev/vda
|
||||||
|
|
||||||
|
-replacing C</dev/vda> with the name of the installation device.");
|
||||||
|
+replacing C</dev/vda> with the name of the installation device.
|
||||||
|
+
|
||||||
|
+=back");
|
||||||
|
|
||||||
|
("cp", (RErr, [Pathname "src"; Pathname "dest"], []), 87, [],
|
||||||
|
[InitScratchFS, Always, TestOutput (
|
||||||
|
--
|
||||||
|
1.7.6
|
||||||
|
|
@ -30,7 +30,7 @@ Summary: Access and modify virtual machine disk images
|
|||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.13.12
|
Version: 1.13.12
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
URL: http://libguestfs.org/
|
URL: http://libguestfs.org/
|
||||||
@ -49,6 +49,9 @@ Patch2: libguestfs-1.12.0-configure-force-machine-accel-tcg.patch
|
|||||||
# while.
|
# while.
|
||||||
Patch3: 0001-Fix-qemu-machine-option-for-latest-qemu-thanks-Marku.patch
|
Patch3: 0001-Fix-qemu-machine-option-for-latest-qemu-thanks-Marku.patch
|
||||||
|
|
||||||
|
# Upstream patch to add guestfs_grub_install to an optional group.
|
||||||
|
Patch4: 0001-Add-an-optional-group-grub-for-the-guestfs_grub_inst.patch
|
||||||
|
|
||||||
# Basic build requirements:
|
# Basic build requirements:
|
||||||
BuildRequires: /usr/bin/pod2man
|
BuildRequires: /usr/bin/pod2man
|
||||||
BuildRequires: /usr/bin/pod2text
|
BuildRequires: /usr/bin/pod2text
|
||||||
@ -873,9 +876,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Sep 15 2011 Richard W.M. Jones <rjones@redhat.com> - 1:1.13.12-2
|
* Thu Sep 15 2011 Richard W.M. Jones <rjones@redhat.com> - 1:1.13.12-3
|
||||||
- Don't require grub. See RHBZ#737261.
|
- Don't require grub. See RHBZ#737261.
|
||||||
- Note this (hopefully temporarily) breaks guestfs_grub_install API.
|
- Note this (hopefully temporarily) breaks guestfs_grub_install API.
|
||||||
|
- Include upstream patch to add guestfs_grub_install into an optional group.
|
||||||
|
|
||||||
* Wed Sep 14 2011 Richard W.M. Jones <rjones@redhat.com> - 1:1.13.12-1
|
* Wed Sep 14 2011 Richard W.M. Jones <rjones@redhat.com> - 1:1.13.12-1
|
||||||
- New upstream version 1.13.12.
|
- New upstream version 1.13.12.
|
||||||
|
Loading…
Reference in New Issue
Block a user