From 683d5c08b48e24ad474d8cbda883d331c3d1a6eb Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 10 Jan 2017 11:00:29 +0100 Subject: [PATCH 1/3] Edit AY settings --- package/yast2-bootloader.changes | 7 +++++++ package/yast2-bootloader.spec | 2 +- src/include/bootloader/routines/misc.rb | 5 ++++- src/lib/bootloader/device_map.rb | 5 +++-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/package/yast2-bootloader.changes b/package/yast2-bootloader.changes index 0ecce6100..45bb55611 100644 --- a/package/yast2-bootloader.changes +++ b/package/yast2-bootloader.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 10 10:57:15 CET 2017 - schubi@suse.de + +- AutoYaST: Do not crash while editing settings in AutoYaST + configuration module (with device_maps) (bnc#1018180) +- 3.1.163 + ------------------------------------------------------------------- Tue Nov 29 09:17:26 UTC 2016 - jreidinger@suse.com diff --git a/package/yast2-bootloader.spec b/package/yast2-bootloader.spec index 32f8622ea..02f92b360 100644 --- a/package/yast2-bootloader.spec +++ b/package/yast2-bootloader.spec @@ -17,7 +17,7 @@ Name: yast2-bootloader -Version: 3.1.162 +Version: 3.1.163 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/src/include/bootloader/routines/misc.rb b/src/include/bootloader/routines/misc.rb index fde7c2c8f..675356b72 100644 --- a/src/include/bootloader/routines/misc.rb +++ b/src/include/bootloader/routines/misc.rb @@ -102,7 +102,10 @@ def getAnyTypeAttrib(attrib, defaultv) # @return [Hash{String => String}] globals def remapGlobals(globals_set) - return globals_set if !Arch.ppc && Storage.GetDefaultMountBy == :label + if Mode.config || # AutoYaST configuration mode --> no Storage available + !Arch.ppc && Storage.GetDefaultMountBy == :label + return globals_set + end globals_set["boot_custom"] &&= ::Bootloader::UdevMapping.to_kernel_device(globals_set["boot_custom"]) diff --git a/src/lib/bootloader/device_map.rb b/src/lib/bootloader/device_map.rb index 733d34205..5001d1ec3 100644 --- a/src/lib/bootloader/device_map.rb +++ b/src/lib/bootloader/device_map.rb @@ -43,8 +43,9 @@ def disks_order # or to label (ufo_disk) # @return [Hash{String => String}] new device map def remapped_hash - if !Yast::Arch.ppc - return to_hash if Yast::Storage.GetDefaultMountBy == :label + if Yast::Mode.config || # AutoYaST configuration mode --> no Storage available + !Arch.ppc && Storage.GetDefaultMountBy == :label + return to_hash end # convert device names in device map to the device names by device or label From 3209adb97e11a720e0cac9980f3bbb32fc92625c Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 10 Jan 2017 12:22:10 +0100 Subject: [PATCH 2/3] rubocop --- src/include/bootloader/routines/misc.rb | 2 +- src/lib/bootloader/device_map.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/include/bootloader/routines/misc.rb b/src/include/bootloader/routines/misc.rb index 675356b72..58cd31466 100644 --- a/src/include/bootloader/routines/misc.rb +++ b/src/include/bootloader/routines/misc.rb @@ -103,7 +103,7 @@ def getAnyTypeAttrib(attrib, defaultv) def remapGlobals(globals_set) if Mode.config || # AutoYaST configuration mode --> no Storage available - !Arch.ppc && Storage.GetDefaultMountBy == :label + !Arch.ppc && Storage.GetDefaultMountBy == :label return globals_set end diff --git a/src/lib/bootloader/device_map.rb b/src/lib/bootloader/device_map.rb index 5001d1ec3..c5babd393 100644 --- a/src/lib/bootloader/device_map.rb +++ b/src/lib/bootloader/device_map.rb @@ -44,7 +44,7 @@ def disks_order # @return [Hash{String => String}] new device map def remapped_hash if Yast::Mode.config || # AutoYaST configuration mode --> no Storage available - !Arch.ppc && Storage.GetDefaultMountBy == :label + !Arch.ppc && Storage.GetDefaultMountBy == :label return to_hash end From 9442a9f8bb64f2d80b4accffd88f0f2c12b0833e Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 10 Jan 2017 12:56:00 +0100 Subject: [PATCH 3/3] fixed testcases --- src/lib/bootloader/device_map.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/bootloader/device_map.rb b/src/lib/bootloader/device_map.rb index c5babd393..e53549872 100644 --- a/src/lib/bootloader/device_map.rb +++ b/src/lib/bootloader/device_map.rb @@ -44,7 +44,7 @@ def disks_order # @return [Hash{String => String}] new device map def remapped_hash if Yast::Mode.config || # AutoYaST configuration mode --> no Storage available - !Arch.ppc && Storage.GetDefaultMountBy == :label + !Yast::Arch.ppc && Yast::Storage.GetDefaultMountBy == :label return to_hash end