Hello community, here is the log from the commit of package yast2-reipl for openSUSE:Factory checked in at 2017-04-14 13:40:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-reipl (Old) and /work/SRC/openSUSE:Factory/.yast2-reipl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-reipl" Fri Apr 14 13:40:32 2017 rev:36 rq:486997 version:3.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-reipl/yast2-reipl.changes 2017-02-09 11:14:48.273946194 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-reipl.new/yast2-reipl.changes 2017-04-14 13:40:32.743438677 +0200 @@ -1,0 +2,7 @@ +Mon Apr 10 08:40:07 UTC 2017 - jreidin...@suse.com + +- use rake for installing instead of autotools +- show error when chreipl failed to switch (bsc#976609) +- 3.2.2 + +------------------------------------------------------------------- Old: ---- yast2-reipl-3.2.1.tar.bz2 New: ---- yast2-reipl-3.2.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-reipl.spec ++++++ --- /var/tmp/diff_new_pack.fPVw4j/_old 2017-04-14 13:40:33.335355020 +0200 +++ /var/tmp/diff_new_pack.fPVw4j/_new 2017-04-14 13:40:33.339354455 +0200 @@ -17,7 +17,7 @@ Name: yast2-reipl -Version: 3.2.1 +Version: 3.2.2 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -26,8 +26,8 @@ BuildRequires: update-desktop-files BuildRequires: yast2 BuildRequires: yast2-devtools >= 3.1.10 -BuildRequires: yast2-testsuite BuildRequires: rubygem(rspec) +BuildRequires: rubygem(yast-rake) ExclusiveArch: s390 s390x @@ -51,11 +51,13 @@ %prep %setup -n %{name}-%{version} +%check +rake test:unit + %build -%yast_build %install -%yast_install +rake install DESTDIR="%{buildroot}" %post %{fillup_only -ns security checksig} ++++++ yast2-reipl-3.2.1.tar.bz2 -> yast2-reipl-3.2.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/Makefile.cvs new/yast2-reipl-3.2.2/Makefile.cvs --- old/yast2-reipl-3.2.1/Makefile.cvs 2017-01-20 12:42:06.608088143 +0100 +++ new/yast2-reipl-3.2.2/Makefile.cvs 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -# -# Makefile.cvs -# - -LIB = $(shell y2tool get-lib) - -PREFIX = /usr - -configure: all - ./configure --prefix=$(PREFIX) --libdir=$(PREFIX)/$(LIB) - -all: - y2tool y2autoconf - y2tool y2automake - autoreconf --force --install - -install: configure - make - make install - -reconf: all - ./config.status --recheck - ./config.status diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/autodocs-ycp.ami new/yast2-reipl-3.2.2/autodocs-ycp.ami --- old/yast2-reipl-3.2.1/autodocs-ycp.ami 2017-01-20 12:42:06.644088143 +0100 +++ new/yast2-reipl-3.2.2/autodocs-ycp.ami 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -# -*- makefile -*- Automake include file -# $Id$ - -# Builds source documentation for YCP sources -# Uses ycpdoc -# PARAMETERS: -# AUTODOCS_YCP: Files that the ycp autodocs is built from -# Optional - the default is $(srcdir)/../../src/*.ycp -# AUTODOCS_PM: Files that the perl autodocs is built from -# Optional - the default is $(srcdir)/../../src/*.pm -# AUTODOCS_RB: Files that the ruby autodocs is built from (using yard) -# Optional - the default is $(srcdir)/../../src/modules/*.rb) $(srcdir)/../../src/include/*/*.rb -# AUTODOCS_SUBDIR: To install the result to $(docdir)/SUBDIR/autodocs -# Optional - the default is no subdir, $(docdir)/autodocs -# AUTODOCS_STRIP: Strip it from filenames. The remaining / are replaced by __ -# Optional - the default is $(srcdir)/../../src - -htmldir = $(docdir)/$(AUTODOCS_SUBDIR)/autodocs - -# find all files in Yast/ subdirectory if it exists -YARD_YAST_FILES = $(shell test -d Yast && find Yast -type f) - -# use nobase_ prefix to keep the directory structure -nobase_html_DATA = index.html $(filter-out index.html, $(wildcard *.html)) $(wildcard js/*) $(wildcard css/*) $(YARD_YAST_FILES) -CLEANFILES = $(nobase_html_DATA) pod2htm*.tmp - -AUTODOCS_YCP ?= $(wildcard $(srcdir)/../../src/*.ycp) -AUTODOCS_PM ?= $(wildcard $(srcdir)/../../src/*.pm) -AUTODOCS_RB ?= $(wildcard $(srcdir)/../../src/modules/*.rb $(srcdir)/../../src/include/*/*.rb) -AUTODOCS_STRIP ?= $(srcdir)/../../src - -# yard specific options -YARD ?= yard -# use markdown format by default -YARD_OPTIONS ?= -o . -m markdown - -# yard specific clean -clean-local: - rm -rf js css Yast .yardoc - - -index.html: $(AUTODOCS_YCP) $(AUTODOCS_PM) $(AUTODOCS_RB) -#including *.pm, for the index - if [ -n "$(AUTODOCS_YCP)" ]; then ${YCPDOC} -d. -s$(AUTODOCS_STRIP) $(AUTODOCS_YCP); fi - for i in $(AUTODOCS_PM); do \ - b=$${i##$(AUTODOCS_STRIP)}; b=$${b#/}; b=$${b//\//__}; b=$${b%.pm}; \ - pod2html --title=$$b --infile=$$i --outfile=$$b.html; \ - echo "<a href='$$b.html'>$${b/__/::}</a>" > $$b.mod.html; \ - done - if [ -n "$(AUTODOCS_RB)" ]; then $(YARD) doc --title "@RPMNAME@ -- Development Documentation" $(YARD_OPTIONS) $(AUTODOCS_RB); fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/configure.in.in new/yast2-reipl-3.2.2/configure.in.in --- old/yast2-reipl-3.2.1/configure.in.in 2017-01-20 12:42:06.644088143 +0100 +++ new/yast2-reipl-3.2.2/configure.in.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -## YCP module configure.in.in - -## Initialize -@YAST2-INIT-COMMON@ -@YAST2-INIT-YCP@ - -## some common checks -@YAST2-CHECKS-COMMON@ -@YAST2-CHECKS-YCP@ - -## and generate the output... -@YAST2-OUTPUT@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/package/yast2-reipl.changes new/yast2-reipl-3.2.2/package/yast2-reipl.changes --- old/yast2-reipl-3.2.1/package/yast2-reipl.changes 2017-01-20 12:42:06.652088143 +0100 +++ new/yast2-reipl-3.2.2/package/yast2-reipl.changes 2017-04-10 10:55:55.548610669 +0200 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Mon Apr 10 08:40:07 UTC 2017 - jreidin...@suse.com + +- use rake for installing instead of autotools +- show error when chreipl failed to switch (bsc#976609) +- 3.2.2 + +------------------------------------------------------------------- Fri Jan 6 09:15:31 UTC 2017 - jreidin...@suse.com - fix failed test after new stricker import policy and remove diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/package/yast2-reipl.spec new/yast2-reipl-3.2.2/package/yast2-reipl.spec --- old/yast2-reipl-3.2.1/package/yast2-reipl.spec 2017-01-20 12:42:06.656088143 +0100 +++ new/yast2-reipl-3.2.2/package/yast2-reipl.spec 2017-04-10 10:55:55.552610669 +0200 @@ -17,7 +17,7 @@ Name: yast2-reipl -Version: 3.2.1 +Version: 3.2.2 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -25,9 +25,9 @@ BuildRequires: yast2 BuildRequires: yast2-devtools >= 3.1.10 -BuildRequires: yast2-testsuite BuildRequires: update-desktop-files BuildRequires: rubygem(rspec) +BuildRequires: rubygem(yast-rake) ExclusiveArch: s390 s390x @@ -51,11 +51,13 @@ %prep %setup -n %{name}-%{version} +%check +rake test:unit + %build -%yast_build %install -%yast_install +rake install DESTDIR="%{buildroot}" %post %{fillup_only -ns security checksig} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/Makefile.am new/yast2-reipl-3.2.2/src/Makefile.am --- old/yast2-reipl-3.2.1/src/Makefile.am 2017-01-20 12:42:06.664088143 +0100 +++ new/yast2-reipl-3.2.2/src/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -# Sources for reipl - -module_DATA = \ - modules/Reipl.rb - -client_DATA = \ - clients/reipl.rb \ - clients/reipl_auto.rb \ - clients/reipl_bootloader_finish.rb \ - clients/reipl_finish.rb \ - clients/reipl_proposal.rb \ - clients/inst_reipl.rb - -yncludedir = @yncludedir@/reipl -ynclude_DATA = \ - include/reipl/wizards.rb \ - include/reipl/dialogs.rb \ - include/reipl/complex.rb \ - include/reipl/helps.rb - -desktop_DATA = \ - desktop/reipl.desktop - -EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(desktop_DATA) - -include $(top_srcdir)/Makefile.am.common diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/inst_reipl.rb new/yast2-reipl-3.2.2/src/clients/inst_reipl.rb --- old/yast2-reipl-3.2.1/src/clients/inst_reipl.rb 2017-01-20 12:42:06.668088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/inst_reipl.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,75 +0,0 @@ -# encoding: utf-8 - -# ------------------------------------------------------------------------------ -# Copyright (c) 2006 Novell, Inc. All Rights Reserved. -# -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of version 2 of the GNU General Public License as published by the -# Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, contact Novell, Inc. -# -# To contact Novell about this file by physical or electronic mail, you may find -# current contact information at www.novell.com. -# ------------------------------------------------------------------------------ - -# File: clients/reipl.ycp -# Package: Configuration of reipl -# Summary: Main file -# Authors: Mark Hamzy <ha...@us.ibm.com> -# -# $Id$ -# -# Main file for reipl configuration. Uses all other files. -module Yast - class InstReiplClient < Client - def main - Yast.import "UI" - - #** - # <h3>Configuration of reipl</h3> - - textdomain "reipl" - - Yast.import "Reipl" - Yast.import "GetInstArgs" - Yast.import "Mode" - Yast.import "Wizard" - - Yast.include self, "reipl/complex.rb" - Yast.include self, "reipl/dialogs.rb" - - # The main () - Builtins.y2milestone("Reipl module started ----------------------------------------") - - @args = GetInstArgs.argmap - - if Ops.get_string(@args, "first_run", "yes") != "no" - Ops.set(@args, "first_run", "yes") - end - - Wizard.HideAbortButton if Mode.mode == "firstboot" - - @ret = nil - - Reipl.Read - - @ret = Convert.to_symbol(ConfigureDialog()) - - # Finish - Builtins.y2milestone("Reipl module finished ----------------------------------------") - - @ret - - # EOF - end - end -end - -Yast::InstReiplClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/reipl.rb new/yast2-reipl-3.2.2/src/clients/reipl.rb --- old/yast2-reipl-3.2.1/src/clients/reipl.rb 2017-01-20 12:42:06.672088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/reipl.rb 2017-04-10 10:55:55.552610669 +0200 @@ -42,7 +42,6 @@ Yast.import "Progress" Yast.import "Report" - Yast.import "Summary" Yast.import "CommandLine" Yast.include self, "reipl/wizards.rb" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/reipl_auto.rb new/yast2-reipl-3.2.2/src/clients/reipl_auto.rb --- old/yast2-reipl-3.2.1/src/clients/reipl_auto.rb 2017-01-20 12:42:06.672088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/reipl_auto.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,122 +0,0 @@ -# encoding: utf-8 - -# ------------------------------------------------------------------------------ -# Copyright (c) 2006 Novell, Inc. All Rights Reserved. -# -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of version 2 of the GNU General Public License as published by the -# Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, contact Novell, Inc. -# -# To contact Novell about this file by physical or electronic mail, you may find -# current contact information at www.novell.com. -# ------------------------------------------------------------------------------ - -# File: clients/reipl_auto.ycp -# Package: Configuration of reipl -# Summary: Client for autoinstallation -# Authors: Mark Hamzy <ha...@us.ibm.com> -# -# $Id$ -# -# This is a client for autoinstallation. It takes its arguments, -# goes through the configuration and return the setting. -# Does not do any changes to the configuration. - -# @param function to execute -# @param map/list of reipl settings -# @return [Hash] edited settings, Summary or boolean on success depending on called function -# @example map mm = $[ "FAIL_DELAY" : "77" ]; -# @example map ret = WFM::CallFunction ("reipl_auto", [ "Summary", mm ]); -module Yast - class ReiplAutoClient < Client - def main - Yast.import "UI" - - textdomain "reipl" - - Builtins.y2milestone("Reipl auto started ----------------------------------------") - - Yast.import "Reipl" - Yast.include self, "reipl/wizards.rb" - - @ret = nil - @func = "" - @param = {} - - # Check arguments - if Ops.greater_than(Builtins.size(WFM.Args), 0) && - Ops.is_string?(WFM.Args(0)) - @func = Convert.to_string(WFM.Args(0)) - if Ops.greater_than(Builtins.size(WFM.Args), 1) && - Ops.is_map?(WFM.Args(1)) - @param = Convert.to_map(WFM.Args(1)) - end - end - Builtins.y2debug("func=%1", @func) - Builtins.y2debug("param=%1", @param) - - # Create a summary - if @func == "Summary" - @ret = Ops.get_string(Reipl.Summary, 0, "") - # Reset configuration - elsif @func == "Reset" - Reipl.Import({}) - @ret = {} - # Change configuration (run AutoSequence) - elsif @func == "Change" - @ret = ReiplAutoSequence() - # Import configuration - elsif @func == "Import" - @ret = Reipl.Import(@param) - # Return actual state - elsif @func == "Export" - @ret = Reipl.Export - # Return needed packages - elsif @func == "Packages" - @ret = Reipl.AutoPackages - # Read current state - elsif @func == "Read" - Yast.import "Progress" - @progress_orig = Progress.set(false) - @ret = Reipl.Read - Progress.set(@progress_orig) - # Write givven settings - elsif @func == "Write" - Yast.import "Progress" - @progress_orig = Progress.set(false) - Reipl.write_only = true - @ret = Reipl.Write - Progress.set(@progress_orig) - # Were the settings modified? - elsif @func == "GetModified" - Builtins.y2error("func == GetModified") - @ret = Reipl.Modified - # Mark settings as modified - elsif @func == "SetModified" - Builtins.y2error("func == SetModified") - Reipl.SetModified - @ret = true - else - Builtins.y2error("Unknown function: %1", @func) - @ret = false - end - - Builtins.y2debug("ret=%1", @ret) - Builtins.y2milestone("Reipl auto finished ----------------------------------------") - - deep_copy(@ret) - - # EOF - end - end -end - -Yast::ReiplAutoClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/reipl_bootloader_finish.rb new/yast2-reipl-3.2.2/src/clients/reipl_bootloader_finish.rb --- old/yast2-reipl-3.2.1/src/clients/reipl_bootloader_finish.rb 2017-01-20 12:42:06.672088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/reipl_bootloader_finish.rb 2017-04-10 10:55:55.552610669 +0200 @@ -22,102 +22,18 @@ textdomain "reipl" - # different stands here for detection if after installation manual change of IPL is needed - # so shutdown is needed. By default this shutdown is not needed, only in case when chreipl - # failed to switch device and in such case ipl_msg is set to helpful text. - @different = false - @ipl_msg = "" - # Other architectures do not support it - if Arch.s390 - @oldConfiguration = Reipl.ReadState - - if !Reipl.IPL_from_boot_zipl - @newConfiguration = Reipl.ReadState - - @oldCcwMap = Ops.get_map(@oldConfiguration, "ccw") - @newCcwMap = Ops.get_map(@newConfiguration, "ccw") - @oldFcpMap = Ops.get_map(@oldConfiguration, "fcp") - @newFcpMap = Ops.get_map(@newConfiguration, "fcp") - - ccw_different = ["device", "loadparm", "parm"].any? do |param| - # TODO: why two nils are different? - res = @oldCcwMap[param].nil? || @newCcwMap[param].nil? || @oldCcwMap[param] != @newCcwMap[param] - Builtins.y2milestone "ccw comparison for '#{param}' is different?: #{res}" - res - end - fcp_different = ["device", "wwpn", "lun", "bootprog", "br_lba"].any? do |param| - # TODO: why two nils are different? - res = @oldFcpMap[param].nil? || @newFcpMap[param].nil? || @oldFcpMap[param] != @newFcpMap[param] - Builtins.y2milestone "fcp comparison for '#{param}' is different?: #{res}" - res - end - # zkvm require change of IPL (bnc#943582). Also the system will be shutdown - # according to fate#320262 (see yast_inf_finish client for more information). - @different = ccw_different || fcp_different || Arch.is_zkvm - Builtins.y2milestone("different = %1", @different) - - Builtins.y2milestone("newConfiguration['method'] : %1", Ops.get_string(@newConfiguration, "method", "ERROR")) - if Ops.get_string(@newConfiguration, "method", "ERROR") == "ccw" - Builtins.y2milestone("making ccw ipl text") - @dev = Builtins.substring(Ops.get_string(@newCcwMap, "device", ""), 4, 4) - - # TRANSLATORS: part of a shutdown message - # %1 is replaced with a device name - # Newline at the end is required - @ipl_msg = Builtins.sformat( - _( - "\n" + - "After shutdown, reload the system\n" + - "with an IPL from device '%1'.\n" - ), - @dev - ) - elsif Ops.get_string(@newConfiguration, "method", "ERROR") == "fcp" - Builtins.y2milestone("making fcp ipl text") - @dev = Builtins.substring(Ops.get_string(@newFcpMap, "device", ""), 4, 4) - @wwpn = Ops.get_string(@newFcpMap, "wwpn", "") - @lun = Ops.get_string(@newFcpMap, "lun", "") - - # TRANSLATORS: part of a shutdown message - # %1 is replaced with a FCP name - # %2 is replaced with a WWPN name - # %3 is replaced with a LUN name - # Newline at the end is required - @ipl_msg = Builtins.sformat( - _( - "\n" + - "After shutdown, reload the system\n" + - "with an IPL from FCP '%1'\n" + - "with WWPN '%2'\n" + - "and LUN '%3'.\n" - ), - @dev, - @wwpn, - @lun - ) - else - Builtins.y2warning("making generic ipl text for unknown method") - @ipl_msg = Builtins.sformat( - _( - "\n" + - "After shutdown, reload the system \n" + - "with an IPL from the device \n" + - "that contains /boot" - ) - ) - end - end - end - - Builtins.y2milestone("Configuration (reIPL) has been changed: %1", @different) - Builtins.y2milestone("Configuration (reIPL) generated shutdown dialog box message: %1", @ipl_msg) + Reipl.IPL_from_boot_zipl if Arch.s390 - @ret = { "different" => @different, "ipl_msg" => @ipl_msg } + # result is always same, as when chreipl failed we just report problem there + # previously we suggest how to manually switch IPL but it probably also + # won't boot + # see bsc#976609 comment#59 + ret = { "different" => false, "ipl_msg" => "" } - Builtins.y2milestone("ret = %1", @ret) + Builtins.y2milestone("ret = %1", ret) - deep_copy(@ret) + ret end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/reipl_finish.rb new/yast2-reipl-3.2.2/src/clients/reipl_finish.rb --- old/yast2-reipl-3.2.1/src/clients/reipl_finish.rb 2017-01-20 12:42:06.672088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/reipl_finish.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -# encoding: utf-8 - -# File: reipl_finish.ycp -# -# Module: reIPL -# -# Authors: Ulrich Hecht <u...@suse.de> -# Lukas Ocilka <loci...@suse.cz> -# -# $Id$ -# -module Yast - class ReiplFinishClient < Client - def main - # YaST finish client returns (boolean) whether configuration - # has been changed (true/false) - - Yast.import "Arch" - Yast.import "Reipl" - - @different = true - - # Other architectures do not support it - if Arch.s390 - @oldConfiguration = Reipl.ReadState - - # FIXME almost same code as reipl_bootloader_finish and this client is not called at all now - if Reipl.IPL_from_boot_zipl - - @newConfiguration = Reipl.ReadState - - @oldCcwMap = Ops.get_map(@oldConfiguration, "ccw") - @newCcwMap = Ops.get_map(@newConfiguration, "ccw") - @oldFcpMap = Ops.get_map(@oldConfiguration, "fcp") - @newFcpMap = Ops.get_map(@newConfiguration, "fcp") - - ccw_different = ["device", "loadparm", "parm"].any? do |param| - # TODO: why two nils are different? - res = @oldCcwMap[param].nil? || @newCcwMap[param].nil? || @oldCcwMap[param] != @newCcwMap[param] - Builtins.y2milestone "ccw comparison for '#{param}' is different?: #{res}" - res - end - fcp_different = ["device", "wwpn", "lun", "bootprog", "br_lba"].any? do |param| - # TODO: why two nils are different? - res = @oldFcpMap[param].nil? || @newFcpMap[param].nil? || @oldFcpMap[param] != @newFcpMap[param] - Builtins.y2milestone "fcp comparison for '#{param}' is different?: #{res}" - res - end - - @different = ccw_different || fcp_different - Builtins.y2milestone("different = %1", @different) - end - - Builtins.y2milestone("Configuration (reIPL) has been changed: %1", @different) - end - - @different - end - end -end - -Yast::ReiplFinishClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/clients/reipl_proposal.rb new/yast2-reipl-3.2.2/src/clients/reipl_proposal.rb --- old/yast2-reipl-3.2.1/src/clients/reipl_proposal.rb 2017-01-20 12:42:06.672088143 +0100 +++ new/yast2-reipl-3.2.2/src/clients/reipl_proposal.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,106 +0,0 @@ -# encoding: utf-8 - -# ------------------------------------------------------------------------------ -# Copyright (c) 2006 Novell, Inc. All Rights Reserved. -# -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of version 2 of the GNU General Public License as published by the -# Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, contact Novell, Inc. -# -# To contact Novell about this file by physical or electronic mail, you may find -# current contact information at www.novell.com. -# ------------------------------------------------------------------------------ - -# File: clients/reipl_proposal.ycp -# Package: Configuration of reipl -# Summary: Proposal function dispatcher. -# Authors: Mark Hamzy <ha...@us.ibm.com> -# -# $Id$ -# -# Proposal function dispatcher for reipl configuration. -# See source/installation/proposal/proposal-API.txt -module Yast - class ReiplProposalClient < Client - def main - - textdomain "reipl" - - Yast.import "Reipl" - Yast.import "Progress" - - # The main () - Builtins.y2milestone("----------------------------------------") - Builtins.y2milestone("Reipl proposal started") - - @func = Convert.to_string(WFM.Args(0)) - @param = Convert.to_map(WFM.Args(1)) - @ret = {} - - # create a textual proposal - if @func == "MakeProposal" - @proposal = "" - @warning = nil - @warning_level = nil - @force_reset = Ops.get_boolean(@param, "force_reset", false) - - if @force_reset || !Reipl.proposal_valid - Reipl.proposal_valid = true - @progress_orig = Progress.set(false) - Reipl.Read - Progress.set(@progress_orig) - end - @sum = Reipl.Summary - @proposal = Ops.get_string(@sum, 0, "") - - @ret = { - "preformatted_proposal" => @proposal, - "warning_level" => @warning_level, - "warning" => @warning - } - # run the module - elsif @func == "AskUser" - @stored = Reipl.Export - @seq = Convert.to_symbol(WFM.CallFunction("reipl", [path(".propose")])) - Reipl.Import(@stored) if @seq != :next - Builtins.y2debug("stored=%1", @stored) - Builtins.y2debug("seq=%1", @seq) - @ret = { "workflow_sequence" => @seq } - # create titles - elsif @func == "Description" - @ret = { - # Rich text title for Reipl in proposals - "rich_text_title" => _( - "Reipl" - ), - # Menu title for Reipl in proposals - "menu_title" => _("&Reipl"), - "id" => "reipl" - } - # write the proposal - elsif @func == "Write" - Reipl.Write - else - Builtins.y2error("unknown function: %1", @func) - end - - # Finish - Builtins.y2debug("ret=%1", @ret) - Builtins.y2milestone("Reipl proposal finished") - Builtins.y2milestone("----------------------------------------") - deep_copy(@ret) - - # EOF - end - end -end - -Yast::ReiplProposalClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/src/modules/Reipl.rb new/yast2-reipl-3.2.2/src/modules/Reipl.rb --- old/yast2-reipl-3.2.1/src/modules/Reipl.rb 2017-01-20 12:42:06.696088143 +0100 +++ new/yast2-reipl-3.2.2/src/modules/Reipl.rb 2017-04-10 10:55:55.564610669 +0200 @@ -29,25 +29,18 @@ # Representation of the configuration of reipl. # Input and output routines. require "yast" +require "yast2/execute" module Yast class ReiplClass < Module def main textdomain "reipl" - Yast.import "Summary" Yast.import "FileUtils" # Data was modified? @modified = false - - @proposal_valid = false - - # Write only, used during autoinstallation. - # Don't run services and SuSEconfig, it's all done at one place. - @write_only = false - # Abort function # return boolean return true if abort @AbortFunction = fun_ref(method(:Modified), "boolean ()") @@ -93,23 +86,12 @@ @modified end - # Indicate that the data was modified - def SetModified - Builtins.y2debug("Reipl::SetModified") - @modified = true - nil - end - - # Check to see if reipl is supported by the kernel. - # @return [Boolean] true if support exists. - # Returns the reipl configuration passed in with what it should be for the detected - # boot partition. - # @param [Hash{String => Object}] configuration an old configuration. - # @return a map of the new target configuration. + # Switch device to boot from to /boot/zipl. + # Used mainly during installation to switch boot device. + # @note show popup when switch failed + # @return nil def IPL_from_boot_zipl - # get target information - result = Yast::SCR.Execute(path(".target.bash_output"), "chreipl node /boot/zipl") - return result["exit"] == 0 + Yast::Execute.on_target("chreipl", "node", "/boot/zipl") end # Read all reipl settings @@ -246,130 +228,10 @@ rc end - # Get all reipl settings from the first parameter - # (For use by autoinstallation.) - # @param [Hash] settings The YCP structure to be imported. - # @return [Boolean] True on success - def Import(settings) - settings = deep_copy(settings) - imported = {} - - if Ops.get(settings, "ccw") != nil - ccwIn = Ops.get_map(settings, "ccw", {}) - ccwOut = { "device" => "", "loadparm" => "", "parm" => "" } # SLES 11 and z/VM only - - if Ops.get(ccwIn, "device") != nil - Ops.set(ccwOut, "device", Ops.get(ccwIn, "device")) - end - if Ops.get(ccwIn, "loadparm") != nil - Ops.set(ccwOut, "loadparm", Ops.get(ccwIn, "loadparm")) - end - # SLES 11 and z/VM only - if Ops.get(ccwIn, "parm") != nil - Ops.set(ccwOut, "parm", Ops.get(ccwIn, "parm")) - end - - Ops.set(imported, "ccw", ccwOut) - end - - if Ops.get(settings, "fcp") != nil - fcpIn = Ops.get_map(settings, "fcp", {}) - fcpOut = { - "device" => "", - "wwpn" => "", - "lun" => "", - "bootprog" => "", - "br_lba" => "" - } - - if Ops.get(fcpIn, "device") != nil - Ops.set(fcpOut, "device", Ops.get(fcpIn, "device")) - end - if Ops.get(fcpIn, "wwpn") != nil - Ops.set(fcpOut, "wwpn", Ops.get(fcpIn, "wwpn")) - end - if Ops.get(fcpIn, "lun") != nil - Ops.set(fcpOut, "lun", Ops.get(fcpIn, "lun")) - end - if Ops.get(fcpIn, "bootprog") != nil - Ops.set(fcpOut, "bootprog", Ops.get(fcpIn, "bootprog")) - end - if Ops.get(fcpIn, "br_lba") != nil - Ops.set(fcpOut, "br_lba", Ops.get(fcpIn, "br_lba")) - end - - Ops.set(imported, "fcp", fcpOut) - end - - @reipl_configuration = deep_copy(imported) - - true - end - - # Dump the reipl settings to a single map - # (For use by autoinstallation.) - # @return [Hash] Dumped settings (later acceptable by Import ()) - def Export - deep_copy(@reipl_configuration) - end - - # Create a textual summary and a list of unconfigured cards - # @return summary of the current configuration - def Summary - summary = "" - status = nil - found = nil - - summary = Summary.AddHeader(summary, _("Configured reipl methods")) - - summary = Summary.OpenList(summary) - - found = Ops.get_map(@reipl_configuration, "ccw") - if found != nil - if Ops.get(@reipl_configuration, "method") == "ccw" - status = _("The method ccw is configured and being used.") - else - status = _("The method ccw is configured.") - end - else - status = _("The method ccw is not supported.") - end - - summary = Summary.AddListItem(summary, status) - - found = Ops.get_map(@reipl_configuration, "fcp") - if found != nil - if Ops.get(@reipl_configuration, "method") == "fcp" - status = _("The method fcp is configured and being used.") - else - status = _("The method fcp is configured.") - end - else - status = _("The method fcp is not supported.") - end - - summary = Summary.AddListItem(summary, status) - - summary = Summary.CloseList(summary) - - [summary, []] - end - - # Return packages needed to be installed and removed during - # Autoinstallation to insure module has all needed software - # installed. - # @return [Hash] with 2 lists. - def AutoPackages - { "install" => [], "remove" => [] } - end - publish :function => :Modified, :type => "boolean ()" publish :variable => :modified, :type => "boolean" - publish :variable => :proposal_valid, :type => "boolean" - publish :variable => :write_only, :type => "boolean" publish :variable => :AbortFunction, :type => "boolean ()" publish :function => :Abort, :type => "boolean ()" - publish :function => :SetModified, :type => "void ()" publish :variable => :reipl_configuration, :type => "map <string, any>" publish :variable => :reipl_directory, :type => "string" publish :variable => :ccw_directory, :type => "string" @@ -383,10 +245,6 @@ publish :function => :Read, :type => "boolean ()" publish :function => :WriteState, :type => "boolean (map <string, any>)" publish :function => :Write, :type => "boolean ()" - publish :function => :Import, :type => "boolean (map)" - publish :function => :Export, :type => "map ()" - publish :function => :Summary, :type => "list ()" - publish :function => :AutoPackages, :type => "map ()" end Reipl = ReiplClass.new diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/test/Makefile.am new/yast2-reipl-3.2.2/test/Makefile.am --- old/yast2-reipl-3.2.1/test/Makefile.am 2017-01-20 12:42:06.712088143 +0100 +++ new/yast2-reipl-3.2.2/test/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -# -# Makefile.am for reipl/test -# - -TESTS = reipl_test.rb - -TEST_EXTENSIONS = .rb -RB_LOG_COMPILER = rspec -VERBOSE = 1 -EXTRA_DIST = $(TESTS) - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/testsuite/Makefile.am new/yast2-reipl-3.2.2/testsuite/Makefile.am --- old/yast2-reipl-3.2.1/testsuite/Makefile.am 2017-01-20 12:42:06.720088143 +0100 +++ new/yast2-reipl-3.2.2/testsuite/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -# -# Makefile.am for .../testsuite -# -# Do not edit this file (Makefile.am) as it will be overwritten! -# - -AUTOMAKE_OPTIONS = dejagnu -EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.rb) - -testsuite_prepare = @ydatadir@/testsuite/Makefile.testsuite - -all-local: $(testsuite_prepare) -#TBD - BUG [Interpreter] Reipl.ycp:118 Can't convert value '0' to type 'map' -# make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) - -clean-local: $(testsuite_prepare) -#TBD - BUG [Interpreter] Reipl.ycp:118 Can't convert value '0' to type 'map' -# make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean - -check-local: $(testsuite_prepare) -#TBD - BUG [Interpreter] Reipl.ycp:118 Can't convert value '0' to type 'map' -# make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check - -# EOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-reipl-3.2.1/testsuite/tests/Reipl.rb new/yast2-reipl-3.2.2/testsuite/tests/Reipl.rb --- old/yast2-reipl-3.2.1/testsuite/tests/Reipl.rb 2017-01-20 12:42:06.720088143 +0100 +++ new/yast2-reipl-3.2.2/testsuite/tests/Reipl.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -# encoding: utf-8 - -module Yast - class ReiplClient < Client - def main - # testedfiles: Reipl.ycp - - Yast.include self, "testsuite.rb" - TESTSUITE_INIT([], nil) - - Yast.import "Reipl" - - DUMP("Reipl::Modified") - TEST(lambda { Reipl.Modified }, [], nil) - - nil - end - end -end - -Yast::ReiplClient.new.main