[gnome-boxes] installer: Remove unattended disk from config after install
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] installer: Remove unattended disk from config after install
- Date: Fri, 21 Dec 2012 16:11:28 +0000 (UTC)
commit 1f320907d95644db68fb5b2346e045ecaabd8528
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Thu Dec 20 03:53:52 2012 +0200
installer: Remove unattended disk from config after install
Remove unattended disk from domain configuration after installation is
complete.
https://bugzilla.gnome.org/show_bug.cgi?id=690536
src/installer-media.vala | 2 ++
src/unattended-installer.vala | 19 +++++++++++++++++++
src/vm-configurator.vala | 6 +++---
3 files changed, 24 insertions(+), 3 deletions(-)
---
diff --git a/src/installer-media.vala b/src/installer-media.vala
index 31395e8..f44e7ee 100644
--- a/src/installer-media.vala
+++ b/src/installer-media.vala
@@ -78,6 +78,8 @@ private class Boxes.InstallerMedia : GLib.Object {
add_cd_config (domain, from_image? DomainDiskType.FILE : DomainDiskType.BLOCK, device_file, "hdc", true);
}
+ public virtual void setup_post_install_domain_config (Domain domain) {}
+
public virtual void populate_setup_vbox (Gtk.VBox setup_vbox) {}
public virtual GLib.List<Pair<string,string>> get_vm_properties () {
diff --git a/src/unattended-installer.vala b/src/unattended-installer.vala
index 0f441f9..5fe9111 100644
--- a/src/unattended-installer.vala
+++ b/src/unattended-installer.vala
@@ -224,6 +224,25 @@ private class Boxes.UnattendedInstaller: InstallerMedia {
config.set_pre_install_drivers_disk (config.get_script_disk ());
}
+ public override void setup_post_install_domain_config (Domain domain) {
+ base.setup_post_install_domain_config (domain);
+
+ var devices = domain.get_devices ();
+ foreach (var device in devices) {
+ if (!(device is DomainDisk))
+ continue;
+
+ var disk = device as DomainDisk;
+ if (disk.get_source () == disk_file.get_path ()) {
+ devices.remove (device);
+
+ break;
+ }
+ }
+
+ domain.set_devices (devices);
+ }
+
public override void populate_setup_vbox (Gtk.VBox setup_vbox) {
foreach (var child in setup_vbox.get_children ())
setup_vbox.remove (child);
diff --git a/src/vm-configurator.vala b/src/vm-configurator.vala
index 093c7f5..44e5c67 100644
--- a/src/vm-configurator.vala
+++ b/src/vm-configurator.vala
@@ -115,16 +115,16 @@ private class Boxes.VMConfigurator {
if (!(device is DomainDisk))
continue;
- // The ideal solution would be to automatically remove the floppy after installation but thats not as
- // trivial as it sounds since some OSs need express install data after (e.g during first-boot setup).
var disk = device as DomainDisk;
var disk_type = disk.get_guest_device_type ();
- if (disk_type == DomainDiskGuestDeviceType.CDROM || disk_type == DomainDiskGuestDeviceType.FLOPPY)
+ if (disk_type == DomainDiskGuestDeviceType.CDROM)
disk.set_startup_policy (DomainDiskStartupPolicy.OPTIONAL);
}
domain.set_devices (devices);
+ install_media.setup_post_install_domain_config (domain);
+
mark_as_installed (domain, install_media);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]