Script 'mail_helper' called by ro Hello packager, This is just FYI. Your package was checked in in distribution "sle12" by autobuild-member: ro. Here comes the log... ---------------------------%<------------------------------ Hi, here is the log from ci_new_pac /mounts/work_src_done/SLE12/yast2-bootloader -> sle12 ## BNC# 886843 : "kdump.service: Load kdump kernel on startup failed." (RESOLVED/FIXED) Changes: -------- --- /work/SRC/SUSE:SLE-12:GA/yast2-bootloader/yast2-bootloader.changes 2014-08-08 17:45:57.000000000 +0200 +++ /mounts/work_src_done/SLE12/yast2-bootloader/yast2-bootloader.changes 2014-08-13 09:53:41.000000000 +0200 @@ -1,0 +2,7 @@ +Tue Aug 12 13:46:17 UTC 2014 - jreidinger@suse.com + +- Fixed adding a crashkernel parameter to xen_append if the latter + is missing. kdump.service would fail then (bnc#886843) +- 3.1.86 + +------------------------------------------------------------------- calling whatdependson for sle12-i586 Packages directly triggered for rebuild: - yast2-bootloader - yast2-kdump - yast2-product-creator - yast2-reipl - yast2-schema - yast2-vm ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/SUSE:SLE-12:GA/yast2-bootloader (Old) and /mounts/work_src_done/SLE12/yast2-bootloader (BS:build ID:42552 MAIL:yast-commit@opensuse.org) (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-bootloader", Maintainer is "yast-commit@opensuse.org" Old: ---- yast2-bootloader-3.1.85.tar.bz2 New: ---- yast2-bootloader-3.1.86.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-bootloader.spec ++++++ --- /var/tmp/diff_new_pack.J2Wtnf/_old 2014-08-13 13:05:01.000000000 +0200 +++ /var/tmp/diff_new_pack.J2Wtnf/_new 2014-08-13 13:05:01.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-bootloader -Version: 3.1.85 +Version: 3.1.86 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -30,6 +30,7 @@ BuildRequires: yast2 >= 3.1.0 BuildRequires: update-desktop-files BuildRequires: rubygem-rspec +BuildRequires: yast2-storage PreReq: /bin/sed %fillup_prereq # Installation::*version variables # Wizard::SetDialogTitleAndIcon ++++++ yast2-bootloader-3.1.85.tar.bz2 -> yast2-bootloader-3.1.86.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/.yardopts new/yast2-bootloader-3.1.86/.yardopts --- old/yast2-bootloader-3.1.85/.yardopts 2014-08-08 16:09:59.000000000 +0200 +++ new/yast2-bootloader-3.1.86/.yardopts 2014-08-13 09:57:27.000000000 +0200 @@ -1 +1,7 @@ ---no-private --markup markdown --protected src/**/*.rb --readme README.md --output-dir ./doc/autodocs +--no-private +--markup markdown +--protected +--readme README.md +--output-dir ./doc/autodocs +--files *.md +src/**/*.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/SUPPORTED_SCENARIOS.md new/yast2-bootloader-3.1.86/SUPPORTED_SCENARIOS.md --- old/yast2-bootloader-3.1.85/SUPPORTED_SCENARIOS.md 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-bootloader-3.1.86/SUPPORTED_SCENARIOS.md 2014-08-13 09:57:27.000000000 +0200 @@ -0,0 +1,58 @@ +# Supported Scenarios + +The goal of this document is to have a single source of information which scenarios are supported by yast2-bootloader. + +## bootloaders + +* grub2 +* grub2-efi + * only for UEFI boot + * only with GPT (see [bug](https://bugzilla.novell.com/show_bug.cgi?id=889733#c8)) +* none +* grub + * for openSUSE only, not proposed by default, likely to be removed + * only for x86 hardware + +# Partition table + +* [DOS partition table](http://en.wikipedia.org/wiki/Master_boot_record) +* [GPT](http://en.wikipedia.org/wiki/GUID_Partition_Table) + * requires [bios_boot partition](http://en.wikipedia.org/wiki/BIOS_Boot_partition) if stage1 will be on disk + * /boot must be on partition 1..4 +* [DASD](http://en.wikipedia.org/wiki/Direct-access_storage_device) + * only s390x + +# storage configuration + +* software RAID + * /boot cannot be on RAID unless it is RAID1 + * cannot have stage1 on MD RAID1 ( so no /boot on RAID1 ) +* LVM + * /boot cannot be encrypted (not bootloader limitation see [bug](https://bugzilla.novell.com/show_bug.cgi?id=890364#c40)) +* multipath +* Device mapper +* local hard disk (including USB/ieee1394) +* local (hardware) RAID array of any type +* BIOS-RAID (handled via DM-RAID or MD RAID) +* iSCSI server with persistent IP address / disk identification +* NFSv3,v4 share on server with fixed IP address + + +# Architectures + +* x86 +* x86_64 +* ppc64(le and be) + * only GRUB2 + * there must be at least one [PReP partition](http://en.wikipedia.org/wiki/Partition_type#List_of_partition_IDs) which size must not exceed 8MB (see [fate](https://fate.suse.com/317302)) +* s390x + * /boot/zipl must be on ext fs ( unless upgraded from working zipl configuration ) + * only GRUB2 + +# Stage1 locations + +* MBR of disk where is /boot +* MBR of identical disks in MD RAID if it contains /boot [fate](https://fate.novell.com/316983) +* /boot +* extended partition + * /boot has to be on a logical partition diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/package/yast2-bootloader.changes new/yast2-bootloader-3.1.86/package/yast2-bootloader.changes --- old/yast2-bootloader-3.1.85/package/yast2-bootloader.changes 2014-08-08 16:09:59.000000000 +0200 +++ new/yast2-bootloader-3.1.86/package/yast2-bootloader.changes 2014-08-13 09:57:27.000000000 +0200 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Tue Aug 12 13:46:17 UTC 2014 - jreidinger@suse.com + +- Fixed adding a crashkernel parameter to xen_append if the latter + is missing. kdump.service would fail then (bnc#886843) +- 3.1.86 + +------------------------------------------------------------------- Fri Aug 8 13:55:23 UTC 2014 - jreidinger@suse.com - do not crash in some condition in combination of LVM and GPT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/package/yast2-bootloader.spec new/yast2-bootloader-3.1.86/package/yast2-bootloader.spec --- old/yast2-bootloader-3.1.85/package/yast2-bootloader.spec 2014-08-08 16:09:59.000000000 +0200 +++ new/yast2-bootloader-3.1.86/package/yast2-bootloader.spec 2014-08-13 09:57:27.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-bootloader -Version: 3.1.85 +Version: 3.1.86 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -30,6 +30,7 @@ BuildRequires: yast2 >= 3.1.0 BuildRequires: update-desktop-files BuildRequires: rubygem-rspec +BuildRequires: yast2-storage PreReq: /bin/sed %fillup_prereq # Installation::*version variables # Wizard::SetDialogTitleAndIcon diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/src/include/bootloader/routines/misc.rb new/yast2-bootloader-3.1.86/src/include/bootloader/routines/misc.rb --- old/yast2-bootloader-3.1.85/src/include/bootloader/routines/misc.rb 2014-08-08 16:09:59.000000000 +0200 +++ new/yast2-bootloader-3.1.86/src/include/bootloader/routines/misc.rb 2014-08-13 09:57:27.000000000 +0200 @@ -466,6 +466,10 @@ end + def kernel_param_key(value) + value.split("=").first + end + # set kernel parameter to GRUB command line # @param [String] line string original line # @param [String] key string parameter key @@ -473,51 +477,43 @@ # "true" to add key without value # @return [String] new kernel command line def setKernelParamToLine(line, key, value) + line ||= "" # FIXME this doesn't work with quotes and spaces - params = Builtins.splitstring(line, " ") - params = Builtins.filter(params) { |p| p != "" } - done = false - # count occurences of every parameter - occurences = {} - Builtins.foreach(params) do |p| - l = Builtins.filter(Builtins.splitstring(p, "=")) do |e| - e != " " && e != "" - end - k = Ops.get(l, 0, "") - Ops.set(occurences, k, Ops.add(Ops.get(occurences, k, 0), 1)) + params = line.split(" ").reject(&:empty?) + # count occurences of every parameter, initial value is 0 + occurences = Hash.new { |k| 0 } + params.each do |param| + k = kernel_param_key(param) + occurences[k] += 1 end - params = Builtins.maplist(params) do |p| - l = Builtins.filter(Builtins.splitstring(p, "=")) do |e| - e != " " && e != "" - end - k = Ops.get(l, 0, "") - if k == key - if value == "false" - next "" - elsif Ops.less_or_equal(Ops.get(occurences, k, 0), 1) - done = true - if value == "true" - next key - elsif value != "false" - next Builtins.sformat("%1=%2", key, value) - end - else - Ops.set(occurences, k, Ops.subtract(Ops.get(occurences, k, 0), 1)) - next "" + done = false + params = params.reduce([]) do |res, param| + k = kernel_param_key(param) + if k != key # not our param + res << param + elsif value == "false" + # do nothing as we want to remove this param + elsif occurences[k] == 1 # last parameter with given key + done = true + if value == "true" + res << key + elsif value != "false" + res << Builtins.sformat("%1=%2", key, value) end + else + occurences[k] -= 1 + res << param end - p + res end if !done if value == "true" - params = Builtins.add(params, key) + params << key elsif value != "false" - params = Builtins.add(params, Builtins.sformat("%1=%2", key, value)) + params << Builtins.sformat("%1=%2", key, value) end end - params = Builtins.filter(params) { |p| p != "" } - line = Builtins.mergestring(params, " ") - line + params.join(" ") end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/test/Makefile.am new/yast2-bootloader-3.1.86/test/Makefile.am --- old/yast2-bootloader-3.1.85/test/Makefile.am 2014-08-08 16:09:59.000000000 +0200 +++ new/yast2-bootloader-3.1.86/test/Makefile.am 2014-08-13 09:57:27.000000000 +0200 @@ -1,4 +1,6 @@ TESTS = \ + boot_common_test.rb \ + boot_storage_test.rb \ grub2pwd_test.rb TEST_EXTENSIONS = .rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-3.1.85/test/boot_common_test.rb new/yast2-bootloader-3.1.86/test/boot_common_test.rb --- old/yast2-bootloader-3.1.85/test/boot_common_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-bootloader-3.1.86/test/boot_common_test.rb 2014-08-13 09:57:27.000000000 +0200 @@ -0,0 +1,75 @@ +require_relative "test_helper" + +Yast.import "BootCommon" + +describe Yast::BootCommon do + describe ".setKernelParamToLine" do + def expect_set(key: nil, val: nil, old: nil, new: nil) + expect(Yast::BootCommon.setKernelParamToLine(old, key, val)). + to eq new + end + + it "return line with added key=value if there is not yet such key on line" do + expect_set(key: "vga", + val: "800", + old: "quit silent=1", + new: "quit silent=1 vga=800") + end + + it "return line with modified kernel parameter to given value if line contain key" do + expect_set(key: "vga", + val: "800", + old: "quit silent=1 vga=753", + new: "quit silent=1 vga=800") + end + + it "return line with added parameter to kernel parameter line if value is \"true\"" do + expect_set(key: "verbose", + val: "true", + old: "quit silent=1 vga=753", + new: "quit silent=1 vga=753 verbose") + end + + it "return same line if parameter is already on parameter line when value is \"true\"" do + expect_set(key: "quit", + val: "true", + old: "quit silent=1 vga=753", + new: "quit silent=1 vga=753") + end + + it "return line with removed parameter from line if value is \"false\"" do + expect_set(key: "quit", + val: "false", + old: "quit silent=1 vga=753", + new: "silent=1 vga=753") + end + + it "return same line if parameter is already missing on line when value is \"false\"" do + expect_set(key: "verbose", + val: "false", + old: "quit silent=1 vga=753", + new: "quit silent=1 vga=753") + end + + it "return line with key=value if line is nil" do + expect_set(key: "silent", + val: "1", + old: nil, + new: "silent=1") + end + + it "return line with key when value is \"true\" and line is nil" do + expect_set(key: "verbose", + val: "true", + old: nil, + new: "verbose") + end + + it "return empty string when value is \"false\" and line is nil" do + expect_set(key: "verbose", + val: "false", + old: nil, + new: "") + end + end +end continue with "q"... Checked in at Wed Aug 13 13:05:14 CEST 2014 by ro Remember to have fun... -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org