diff --git a/package/yast2-storage.changes b/package/yast2-storage.changes
index b3ab8e671..4d5fbea46 100644
--- a/package/yast2-storage.changes
+++ b/package/yast2-storage.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Wed Aug 10 08:19:49 UTC 2016 - ancor@suse.com
+
+- Do not ignore suggestion made by partitioning proposal of turning
+ an EFI partition into bios_grub (bsc#991252)
+- 3.1.99
+
-------------------------------------------------------------------
Fri Jul 29 11:14:26 UTC 2016 - ancor@suse.com
diff --git a/package/yast2-storage.spec b/package/yast2-storage.spec
index 86d4f466b..e58f81005 100644
--- a/package/yast2-storage.spec
+++ b/package/yast2-storage.spec
@@ -17,7 +17,7 @@
Name: yast2-storage
-Version: 3.1.98
+Version: 3.1.99
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -29,7 +29,7 @@ License: GPL-2.0
BuildRequires: docbook-xsl-stylesheets
BuildRequires: doxygen
BuildRequires: gcc-c++ libtool
-BuildRequires: libstorage-devel >= 2.25.36
+BuildRequires: libstorage-devel >= 2.26.6
BuildRequires: libstorage-ruby >= 2.25.36
BuildRequires: libxslt
BuildRequires: perl-XML-Writer
@@ -43,7 +43,7 @@ BuildRequires: yast2-devtools >= 3.1.10
BuildRequires: yast2-ruby-bindings >= 3.1.7
BuildRequires: yast2-testsuite >= 2.19.0
Requires: libstorage-ruby >= 2.26.1
-Requires: libstorage7 >= 2.26.1
+Requires: libstorage7 >= 2.26.6
Requires: rubygem(%{rb_default_ruby_abi}:ruby-dbus)
Requires: yast2 >= 3.1.22
Requires: yast2-core >= 2.18.3
diff --git a/src/modules/Storage.rb b/src/modules/Storage.rb
index 9f4a99a69..557fa8ac2 100644
--- a/src/modules/Storage.rb
+++ b/src/modules/Storage.rb
@@ -6193,22 +6193,15 @@ def SpecialBootHandling(tg)
id = Partitions.FsidBoot(dlabel)
part["format"]=false
part["mount"]=""
- part["fstype"]=Partitions.FsIdToString(id)
part["prep_install"]=true
- if !part.fetch("create",false) &&
- part.fetch("fsid",0) != id
- part["ori_fsid"] = part.fetch("fsid",0)
- part["change_fsid"] = true
- end
- part["fsid"] = id
+ propose_new_fsid(part, id)
Builtins.y2milestone( "SpecialBootHandling modified Prep part=%1", part)
end
if Arch.board_mac &&
part.fetch("mount","") == Partitions.BootMount
id = Partitions.fsid_mac_hfs
part["mount"] = ""
- part["fstype"] = Partitions.FsIdToString(id)
- part["fsid"] = id
+ propose_new_fsid(part, id)
part["used_fs"] = :hfs
part["detected_fs"] = :hfs
Builtins.y2milestone( "SpecialBootHandling modified hfs part=%1", part)
@@ -6216,8 +6209,7 @@ def SpecialBootHandling(tg)
if Arch.ia64 &&
part.fetch("mount","") == Partitions.BootMount
id = Partitions.fsid_gpt_boot
- part["fsid"] = id
- part["fstype"] = Partitions.FsIdToString(id)
+ propose_new_fsid(part, id)
if !part.fetch("create",false) &&
part.fetch("detected_fs",:none)==:vfat
part["format"] = false
@@ -6228,8 +6220,7 @@ def SpecialBootHandling(tg)
dlabel == "gpt" &&
part.fetch("mount","") == Partitions.BootMount
id = Partitions.fsid_bios_grub
- part["fsid"] = id
- part["fstype"] = Partitions.FsIdToString(id)
+ propose_new_fsid(part, id)
part["format"] = false
part["mount"] = ""
Builtins.y2milestone( "SpecialBootHandling modified BIOS grub part=%1", part)
@@ -7174,6 +7165,15 @@ def skip_activation_popup?
Mode.autoinst || Mode.autoupgrade || Installation.restarting?
end
+ def propose_new_fsid(part, id)
+ if !part.fetch("create", false) && part.fetch("fsid", 0) != id
+ part["ori_fsid"] = part.fetch("fsid", 0)
+ part["change_fsid"] = true
+ end
+ part["fstype"] = Partitions.FsIdToString(id)
+ part["fsid"] = id
+ end
+
publish :variable => :resize_partition, :type => "string"
publish :variable => :resize_partition_data, :type => "map"
publish :variable => :resize_cyl_size, :type => "integer"
diff --git a/testsuite/data/Makefile.am b/testsuite/data/Makefile.am
index ca527a407..f9817a3fa 100644
--- a/testsuite/data/Makefile.am
+++ b/testsuite/data/Makefile.am
@@ -5,5 +5,5 @@
SUBDIRS = empty empty-efi half-empty reuse-home windows windows-only \
windows-only-no-resize windows-only-efi empty-s390x empty-ppc64le \
empty-small empty-big empty-big-ppc64le lvm empty-ppc64le-nv \
- empty-big-ppc64le-nv bsc-988526
+ empty-big-ppc64le-nv bsc-988526 bsc-991252
diff --git a/testsuite/data/bsc-991252/Makefile.am b/testsuite/data/bsc-991252/Makefile.am
new file mode 100644
index 000000000..b20d48dbc
--- /dev/null
+++ b/testsuite/data/bsc-991252/Makefile.am
@@ -0,0 +1,6 @@
+#
+# Makefile.am for storage/storage/src/testsuite/data/bsc-991252
+#
+
+EXTRA_DIST = disk_sda.info free.info arch.info
+
diff --git a/testsuite/data/bsc-991252/arch.info b/testsuite/data/bsc-991252/arch.info
new file mode 100644
index 000000000..8e30e0f66
--- /dev/null
+++ b/testsuite/data/bsc-991252/arch.info
@@ -0,0 +1,4 @@
+
+
+ x86_64
+
diff --git a/testsuite/data/bsc-991252/disk_sda.info b/testsuite/data/bsc-991252/disk_sda.info
new file mode 100644
index 000000000..12239c156
--- /dev/null
+++ b/testsuite/data/bsc-991252/disk_sda.info
@@ -0,0 +1,96 @@
+
+
+ sda
+ /dev/sda
+ 500107608
+ 8
+ 0
+ 256
+
+ 62260
+ 255
+ 63
+
+
+ 128
+ pci-0000:00:17.0-ata-3
+ ata-SK_hynix_SC308_SATA_512GB_FS66N501910406H1L
+ scsi-0ATA_SK_hynix_SC308_S_FS66N501910406H1L
+ scsi-1ATA_SK_hynix_SC308_SATA_512GB_FS66N501910406H1L
+ scsi-SATA_SK_hynix_SC308_FS66N501910406H1L
+ scsi-SATA_SK_hynix_SC308_SFS66N501910406H1L
+ scsi-SATA_SK_hynix_SC308_S_FS66N501910406H1L
+
+ sda1
+ /dev/sda1
+ 510976
+ 8
+ 1
+ true
+ 1
+ vfat
+ F8F9-F597
+ BOOT
+ uuid
+
+ 0
+ 64
+
+ primary
+ 259
+ true
+
+
+ sda2
+ /dev/sda2
+ 131072
+ 8
+ 2
+ true
+ 2
+
+ 63
+ 18
+
+ primary
+ 261
+
+
+ sda3
+ /dev/sda3
+ 4998144
+ 8
+ 3
+ true
+ 3
+ ntfs-3g
+ 14E6FD15E6FCF7B6
+ Recovery
+ uuid
+
+ 61638
+ 622
+
+ primary
+ 7
+
+
+ sda4
+ /dev/sda4
+ 494465024
+ 8
+ 4
+ true
+ 4
+ ntfs-3g
+ B856FC8B56FC4B9E
+ Windows
+ uuid
+
+ 80
+ 61559
+
+ primary
+ 7
+
+
diff --git a/testsuite/data/bsc-991252/free.info b/testsuite/data/bsc-991252/free.info
new file mode 100644
index 000000000..67f5303f4
--- /dev/null
+++ b/testsuite/data/bsc-991252/free.info
@@ -0,0 +1,15 @@
+
+
+
+ /dev/sda4
+ true
+ 10000000
+ 10000000
+ 20000000
+ true
+ true
+ true
+ false
+ false
+
+
diff --git a/testsuite/tests/bsc-991252.err b/testsuite/tests/bsc-991252.err
new file mode 100644
index 000000000..e69de29bb
diff --git a/testsuite/tests/bsc-991252.out b/testsuite/tests/bsc-991252.out
new file mode 100644
index 000000000..aaee32e1a
--- /dev/null
+++ b/testsuite/tests/bsc-991252.out
@@ -0,0 +1,40 @@
+Dump Hardware Excerpt:
+Dump Arch: x86_64
+Dump
+Dump Proposal Settings Excerpt:
+Dump
+Dump Proposal:
+Dump Shrink Windows partition /dev/sda4 to 22.25 GiB [destructive]
+Dump Set type of partition /dev/sda1 to GPT BIOS (107)
+Dump Create swap volume /dev/sda5 (517.72 MiB)
+Dump Create root volume /dev/sda6 (448.80 GiB) with btrfs
+Dump Create subvolume boot/grub2/i386-pc on device /dev/sda6
+Dump Create subvolume boot/grub2/x86_64-efi on device /dev/sda6
+Dump Create subvolume home on device /dev/sda6
+Dump Create subvolume opt on device /dev/sda6
+Dump Create subvolume srv on device /dev/sda6
+Dump Create subvolume tmp on device /dev/sda6
+Dump Create subvolume usr/local on device /dev/sda6
+Dump Create subvolume var/cache on device /dev/sda6
+Dump Create subvolume var/crash on device /dev/sda6
+Dump Create subvolume var/lib/libvirt/images on device /dev/sda6 with option "no copy on write"
+Dump Create subvolume var/lib/mailman on device /dev/sda6
+Dump Create subvolume var/lib/mariadb on device /dev/sda6 with option "no copy on write"
+Dump Create subvolume var/lib/mysql on device /dev/sda6 with option "no copy on write"
+Dump Create subvolume var/lib/named on device /dev/sda6
+Dump Create subvolume var/lib/pgsql on device /dev/sda6 with option "no copy on write"
+Dump Create subvolume var/log on device /dev/sda6
+Dump Create subvolume var/opt on device /dev/sda6
+Dump Create subvolume var/spool on device /dev/sda6
+Dump Create subvolume var/tmp on device /dev/sda6
+Dump
+Dump Target Map Excerpt:
+Dump device:/dev/sda label:gpt
+Dump device:/dev/sda1 fsid:0x107
+Dump device:/dev/sda2 fsid:0x105
+Dump device:/dev/sda3 fsid:0x7
+Dump device:/dev/sda4 fsid:0x7
+Dump device:/dev/sda5 fsid:0x82
+Dump device:/dev/sda6 fsid:0x83 userdata:{"/"=>"snapshots"}
+Dump
+Dump Proposal Feedback:
diff --git a/testsuite/tests/bsc-991252.rb b/testsuite/tests/bsc-991252.rb
new file mode 100644
index 000000000..f4be9206c
--- /dev/null
+++ b/testsuite/tests/bsc-991252.rb
@@ -0,0 +1,34 @@
+# encoding: utf-8
+
+# testedfiles: helper.rb
+
+module Yast
+
+ class TestClient < Client
+
+ def main
+
+ def setup1()
+ setup_system("bsc-991252")
+ end
+
+ def setup2()
+ ProductFeatures.SetBooleanFeature("partitioning", "try_separate_home", false)
+ ProductFeatures.SetBooleanFeature("partitioning", "proposal_lvm", false)
+ ProductFeatures.SetStringFeature("partitioning", "vm_desired_size", "30 GB")
+ ProductFeatures.SetStringFeature("partitioning", "root_base_size", "20 GB")
+ ProductFeatures.SetBooleanFeature("partitioning", "proposal_snapshots", true)
+ end
+
+ def setup3()
+ end
+
+ Yast.include self, "helper.rb"
+
+ end
+
+ end
+
+end
+
+Yast::TestClient.new.main