Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at 2021-06-01 10:33:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old) and /work/SRC/openSUSE:Factory/.yast2-installation.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation" Tue Jun 1 10:33:48 2021 rev:471 rq:896366 version:4.4.10 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes 2021-05-20 19:25:03.053944820 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-installation.new.1898/yast2-installation.changes 2021-06-01 10:34:04.156466499 +0200 @@ -1,0 +2,22 @@ +Mon May 31 08:43:52 UTC 2021 - Knut Anderssen <kanders...@suse.com> + +- Modify IP forwarding network configuration using the defaults + defined in the control file when selecting the role (bsc#1186280) +- 4.4.10 + +------------------------------------------------------------------- +Mon May 24 11:20:46 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- The InstallationData class has been moved to yast2-packager + (related to the previous fix, e.g. bsc#1180888) +- 4.4.9 + +------------------------------------------------------------------- +Thu May 20 14:29:15 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- Logging all available product information into directory + /var/log/YaST2/installation_info. This should help for evaluating + the cause of e.g. bsc#1180888, bsc#1180908, bsc#1178688. +- 4.4.8 + +------------------------------------------------------------------- Old: ---- yast2-installation-4.4.7.tar.bz2 New: ---- yast2-installation-4.4.10.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.9Xjp51/_old 2021-06-01 10:34:04.760467527 +0200 +++ /var/tmp/diff_new_pack.9Xjp51/_new 2021-06-01 10:34:04.760467527 +0200 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 4.4.7 +Version: 4.4.10 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -37,10 +37,10 @@ BuildRequires: yast2-devtools >= 3.1.10 # For firewall widgets BuildRequires: yast2-firewall -# Dropped Yast::LanItems -BuildRequires: yast2-network >= 4.4.7 -# Y2Packager::MediumType -BuildRequires: yast2-packager >= 4.2.27 +# Y2Network::ProposalSettings #modify_defaults and #apply_defaults (forwarding configurable) +BuildRequires: yast2-network >= 4.4.12 +# Y2Packager::InstallationData +BuildRequires: yast2-packager >= 4.4.2 # for AbortException and handle direct abort BuildRequires: yast2-ruby-bindings >= 4.0.6 # For selinux classes @@ -70,18 +70,18 @@ Requires: pciutils # tar-gzip some system files and untar-ungzip them after the installation (FATE #300421, #120103) Requires: tar -# Yast2::FsSnapshotStore::IOError -Requires: yast2 >= 4.3.53 +# Installation::InstallationInfo +Requires: yast2 >= 4.4.4 # CIOIgnore Requires: yast2-bootloader Requires: yast2-country >= 3.3.1 # Language::GetLanguageItems and other API # Language::Set (handles downloading the translation extensions) Requires: yast2-country-data >= 2.16.11 -# Dropped Yast::LanItems -Requires: yast2-network >= 4.4.7 -# Y2Packager::MediumType -Requires: yast2-packager >= 4.2.22 +# Y2Network::ProposalSettings #modify_defaults and #apply_defaults (forwarding configurable) +Requires: yast2-network >= 4.4.12 +# Y2Packager::InstallationData +Requires: yast2-packager >= 4.4.2 # Pkg::ProvidePackage Requires: yast2-pkg-bindings >= 3.1.33 # Proxy settings for 2nd stage (bnc#764951) ++++++ yast2-installation-4.4.7.tar.bz2 -> yast2-installation-4.4.10.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/bin/yupdate new/yast2-installation-4.4.10/bin/yupdate --- old/yast2-installation-4.4.7/bin/yupdate 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/bin/yupdate 2021-05-31 15:51:47.000000000 +0200 @@ -35,7 +35,7 @@ class Version MAJOR = 0 MINOR = 1 - PATCH = 2 + PATCH = 3 STRING = "#{MAJOR}.#{MINOR}.#{PATCH}".freeze end @@ -191,7 +191,11 @@ "/usr/share/icons" ].freeze - attr_reader :dir, :orig_dir + # @return [String] the original requested directory + attr_reader :orig_dir + + # @return [String] expanded requested directory (i.e. symlink target) + attr_reader :dir # manage the OverlayFS for this directory # @param directory [String] the directory @@ -204,7 +208,8 @@ # create an OverlayFS overlay for this directory if it is not writable def create - return if File.writable?(dir) + # skip non-existing or already writable directories + return if !File.directory?(dir) || File.writable?(dir) msg "Adding overlay for #{orig_dir}..." FileUtils.mkdir_p(upperdir) @@ -262,6 +267,7 @@ OverlayFS.escape_path("workdir", dir) end + # path pointing to the original directory content def origdir OverlayFS.escape_path("original", dir) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/package/yast2-installation.changes new/yast2-installation-4.4.10/package/yast2-installation.changes --- old/yast2-installation-4.4.7/package/yast2-installation.changes 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/package/yast2-installation.changes 2021-05-31 15:51:47.000000000 +0200 @@ -1,4 +1,26 @@ ------------------------------------------------------------------- +Mon May 31 08:43:52 UTC 2021 - Knut Anderssen <kanders...@suse.com> + +- Modify IP forwarding network configuration using the defaults + defined in the control file when selecting the role (bsc#1186280) +- 4.4.10 + +------------------------------------------------------------------- +Mon May 24 11:20:46 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- The InstallationData class has been moved to yast2-packager + (related to the previous fix, e.g. bsc#1180888) +- 4.4.9 + +------------------------------------------------------------------- +Thu May 20 14:29:15 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- Logging all available product information into directory + /var/log/YaST2/installation_info. This should help for evaluating + the cause of e.g. bsc#1180888, bsc#1180908, bsc#1178688. +- 4.4.8 + +------------------------------------------------------------------- Tue May 18 12:39:25 UTC 2021 - Knut Anderssen <kanders...@suse.com> - Fallback to ncurses when a X display is not opened after 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/package/yast2-installation.spec new/yast2-installation-4.4.10/package/yast2-installation.spec --- old/yast2-installation-4.4.7/package/yast2-installation.spec 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/package/yast2-installation.spec 2021-05-31 15:51:47.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 4.4.7 +Version: 4.4.10 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -37,10 +37,10 @@ BuildRequires: yast2-devtools >= 3.1.10 # For firewall widgets BuildRequires: yast2-firewall -# Dropped Yast::LanItems -BuildRequires: yast2-network >= 4.4.7 -# Y2Packager::MediumType -BuildRequires: yast2-packager >= 4.2.27 +# Y2Network::ProposalSettings #modify_defaults and #apply_defaults (forwarding configurable) +BuildRequires: yast2-network >= 4.4.12 +# Y2Packager::InstallationData +BuildRequires: yast2-packager >= 4.4.2 # for AbortException and handle direct abort BuildRequires: yast2-ruby-bindings >= 4.0.6 # For selinux classes @@ -70,18 +70,18 @@ Requires: pciutils # tar-gzip some system files and untar-ungzip them after the installation (FATE #300421, #120103) Requires: tar -# Yast2::FsSnapshotStore::IOError -Requires: yast2 >= 4.3.53 +# Installation::InstallationInfo +Requires: yast2 >= 4.4.4 # CIOIgnore Requires: yast2-bootloader Requires: yast2-country >= 3.3.1 # Language::GetLanguageItems and other API # Language::Set (handles downloading the translation extensions) Requires: yast2-country-data >= 2.16.11 -# Dropped Yast::LanItems -Requires: yast2-network >= 4.4.7 -# Y2Packager::MediumType -Requires: yast2-packager >= 4.2.22 +# Y2Network::ProposalSettings #modify_defaults and #apply_defaults (forwarding configurable) +Requires: yast2-network >= 4.4.12 +# Y2Packager::InstallationData +Requires: yast2-packager >= 4.4.2 # Pkg::ProvidePackage Requires: yast2-pkg-bindings >= 3.1.33 # Proxy settings for 2nd stage (bnc#764951) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/src/lib/installation/clients/inst_doit.rb new/yast2-installation-4.4.10/src/lib/installation/clients/inst_doit.rb --- old/yast2-installation-4.4.7/src/lib/installation/clients/inst_doit.rb 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/src/lib/installation/clients/inst_doit.rb 2021-05-31 15:51:47.000000000 +0200 @@ -19,6 +19,8 @@ # current contact information at www.novell.com. # ------------------------------------------------------------------------------ +require "installation/installation_info" + module Yast # Asks user to really do the installation/update. class InstDoitClient < Client @@ -64,6 +66,11 @@ false, false ) + + # Log all information about the installation/update + ::Installation::InstallationInfo.instance.write( + Mode.update ? "Starting update" : "Starting installation" + ) end @confirmed ? :next : :back diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/src/lib/installation/clients/installation.rb new/yast2-installation-4.4.10/src/lib/installation/clients/installation.rb --- old/yast2-installation-4.4.7/src/lib/installation/clients/installation.rb 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/src/lib/installation/clients/installation.rb 2021-05-31 15:51:47.000000000 +0200 @@ -30,6 +30,7 @@ # $Id$ require "ui/wizards/layout" +require "y2packager/installation_data" module Yast class InstallationClient < Client @@ -48,6 +49,9 @@ Yast.import "ProductFeatures" Yast.import "ProductControl" + # register the installation data dump callback + Y2Packager::InstallationData.new.register_callback + # log the inst-sys identification for easier debugging log_os_release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/src/lib/installation/select_system_role.rb new/yast2-installation-4.4.10/src/lib/installation/select_system_role.rb --- old/yast2-installation-4.4.7/src/lib/installation/select_system_role.rb 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/src/lib/installation/select_system_role.rb 2021-05-31 15:51:47.000000000 +0200 @@ -22,6 +22,7 @@ require "ui/text_helpers" require "installation/services" require "installation/system_role" +require "y2network/proposal_settings" Yast.import "GetInstArgs" Yast.import "Packages" @@ -227,7 +228,8 @@ role = SystemRole.select(role_id) role.overlay_features - adapt_services(role) + role.adapt_services + role.adapt_network select_packages end @@ -257,17 +259,6 @@ Yast::Pkg.PkgSolve(false) end - # for given role sets in {::Installation::Services} list of services to enable - # according to its config. Do not use alone and use apply_role instead. - def adapt_services(role) - services = role["services"] || [] - - to_enable = services.map { |s| s["name"] } - log.info "enable for #{role.id} these services: #{to_enable.inspect}" - - Installation::Services.enabled = to_enable - end - # Return the list of defined roles # # @param [Boolean] refresh Refresh system roles cache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/src/lib/installation/system_role.rb new/yast2-installation-4.4.10/src/lib/installation/system_role.rb --- old/yast2-installation-4.4.7/src/lib/installation/system_role.rb 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/src/lib/installation/system_role.rb 2021-05-31 15:51:47.000000000 +0200 @@ -1,5 +1,5 @@ # encoding: utf-8 - +# # ------------------------------------------------------------------------------ # Copyright (c) 2017 SUSE LLC # @@ -22,6 +22,7 @@ require "yast" require "installation/services" require "installation/system_role_handlers_runner" +require "y2network/proposal_settings" Yast.import "ProductControl" Yast.import "ProductFeatures" @@ -166,6 +167,7 @@ role["additional_dialogs"] = raw_role["additional_dialogs"] role["services"] = raw_role["services"] || [] + role["network"] = raw_role["network"] || {} role["no_default"] = raw_role["no_default"] || false role @@ -185,9 +187,7 @@ # # @return [Array] the list of services to be enable def adapt_services - return [] if !self["services"] - - to_enable = self["services"].map { |s| s["name"] } + to_enable = (self["services"] || []).map { |s| s["name"] } log.info "enable for #{id} these services: #{to_enable.inspect}" @@ -212,5 +212,13 @@ NON_OVERLAY_ATTRIBUTES.each { |a| features.delete(a) } Yast::ProductFeatures.SetOverlay(features) end + + def adapt_network + settings = Y2Network::ProposalSettings.instance + network = Yast::ProductFeatures.GetSection("network") + + settings.modify_defaults(network.merge(self["network"] || {})) + settings.apply_defaults + end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.7/test/system_role_test.rb new/yast2-installation-4.4.10/test/system_role_test.rb --- old/yast2-installation-4.4.7/test/system_role_test.rb 2021-05-18 17:00:33.000000000 +0200 +++ new/yast2-installation-4.4.10/test/system_role_test.rb 2021-05-31 15:51:47.000000000 +0200 @@ -3,6 +3,7 @@ require_relative "./test_helper" require "installation/services" require "installation/system_role" +require "y2network/proposal_settings" describe Installation::SystemRole do let(:system_roles) do @@ -17,7 +18,13 @@ "id" => "role_two", "services" => [{ "name" => "service_one" }, { "name" => "service_two" }], "order" => "100" + }, + { + "id" => "role_three", + "network" => { "ipv4_forward" => true, "ipv6_forward" => true }, + "order" => "50" } + ] end @@ -30,26 +37,27 @@ it "returns the roles from the control file" do raw_roles = described_class.raw_roles - expect(raw_roles.size).to eql 2 + expect(raw_roles.size).to eql 3 expect(raw_roles.first["id"]).to eql "role_one" end end describe ".ids" do it "returns a list with all the role ids declared in the control file" do - expect(described_class.ids).to match_array(["role_one", "role_two"]) + expect(described_class.ids).to match_array(["role_one", "role_two", "role_three"]) end end describe ".all" do it "returns an array of SystemRole objects for all the declared roles " do - expect(described_class.all.size).to eql(2) + expect(described_class.all.size).to eql(3) expect(described_class.all.last.class).to eql(described_class) end it "returns array sorted by order" do - expect(described_class.all.first.id).to eql("role_two") - expect(described_class.all[1].id).to eql("role_one") + expect(described_class.all.first.id).to eql("role_three") + expect(described_class.all[1].id).to eql("role_two") + expect(described_class.all[2].id).to eql("role_one") end end @@ -127,6 +135,28 @@ end end + describe "#adapt_network" do + let(:settings) { Y2Network::ProposalSettings.instance } + let(:role) { described_class.find("role_three") } + before do + allow(Yast::ProductFeatures).to receive(:GetSection) + allow(Yast::ProductFeatures).to receive(:GetSection).with("network") + .and_return("ipv6_forward" => false) + end + + it "modifies the network proposal settings with defaults from the control file" do + expect(settings).to receive(:modify_defaults) + .with("ipv4_forward" => true, "ipv6_forward" => true) + + role.adapt_network + end + + it "applies the network proposal settings defaults" do + expect(settings).to receive(:apply_defaults) + role.adapt_network + end + end + describe "#overlay_features" do it "overlays the product features with the ones defined in the control file for this role" do role = described_class.find("role_one")