From 37e1881b4fd05974218c5384fb25a87d33c4e671 Mon Sep 17 00:00:00 2001 From: Ancor Gonzalez Sosa Date: Wed, 10 Aug 2016 10:15:10 +0200 Subject: [PATCH 1/4] Fix for bsc#991252 Fixes a bug when proposal suggests to turn a EPS into bios_grub --- src/modules/Storage.rb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) 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" From 8b6d18312fa1046437aeba0b0c89f1c54df8d701 Mon Sep 17 00:00:00 2001 From: Ancor Gonzalez Sosa Date: Wed, 10 Aug 2016 10:22:02 +0200 Subject: [PATCH 2/4] Version and changelog update --- package/yast2-storage.changes | 7 +++++++ package/yast2-storage.spec | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) 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..d0a26ebca 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 From cdf83e1a49a0c09e651c4d7265212a4f96a2c622 Mon Sep 17 00:00:00 2001 From: Arvin Schnell Date: Wed, 10 Aug 2016 11:43:15 +0200 Subject: [PATCH 3/4] - added testcase --- testsuite/data/Makefile.am | 2 +- testsuite/data/bsc-991252/Makefile.am | 6 ++ testsuite/data/bsc-991252/arch.info | 4 ++ testsuite/data/bsc-991252/disk_sda.info | 96 +++++++++++++++++++++++++ testsuite/data/bsc-991252/free.info | 15 ++++ testsuite/tests/bsc-991252.err | 0 testsuite/tests/bsc-991252.out | 40 +++++++++++ testsuite/tests/bsc-991252.rb | 34 +++++++++ 8 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 testsuite/data/bsc-991252/Makefile.am create mode 100644 testsuite/data/bsc-991252/arch.info create mode 100644 testsuite/data/bsc-991252/disk_sda.info create mode 100644 testsuite/data/bsc-991252/free.info create mode 100644 testsuite/tests/bsc-991252.err create mode 100644 testsuite/tests/bsc-991252.out create mode 100644 testsuite/tests/bsc-991252.rb 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..fe5da76d2 --- /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 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 From 580587ce348c730386985cc04f75fcf977360d28 Mon Sep 17 00:00:00 2001 From: Arvin Schnell Date: Wed, 10 Aug 2016 11:56:10 +0200 Subject: [PATCH 4/4] - adapted to better commit message in libstorage --- package/yast2-storage.spec | 4 ++-- testsuite/tests/bsc-991252.out | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/yast2-storage.spec b/package/yast2-storage.spec index d0a26ebca..e58f81005 100644 --- a/package/yast2-storage.spec +++ b/package/yast2-storage.spec @@ -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/testsuite/tests/bsc-991252.out b/testsuite/tests/bsc-991252.out index fe5da76d2..aaee32e1a 100644 --- a/testsuite/tests/bsc-991252.out +++ b/testsuite/tests/bsc-991252.out @@ -5,7 +5,7 @@ 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 107 +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