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 - jreidinger@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 - jreidinger@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 - jreidinger@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
-#
-# $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
-#
-# $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
-# Lukas Ocilka
-#
-# $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
-#
-# $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 "
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 )"
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