Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at 2019-09-23 13:16:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old) and /work/SRC/openSUSE:Factory/.yast2-installation.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation" Mon Sep 23 13:16:56 2019 rev:432 rq:732211 version:4.2.14 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes 2019-09-11 10:16:08.607542404 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-installation.new.7948/yast2-installation.changes 2019-09-23 13:16:57.577109883 +0200 @@ -1,0 +2,12 @@ +Fri Sep 20 13:39:18 UTC 2019 - Ladislav Slezák <[email protected]> + +- Support for the online installation medium (jsc#SLE-7214) +- 4.2.14 + +------------------------------------------------------------------- +Wed Sep 11 13:17:21 UTC 2019 - Steffen Winterfeldt <[email protected]> + +- do NOT remove /mnt/run, it's a mounted directory (bsc#1149011) +- 4.2.13 + +------------------------------------------------------------------- Old: ---- yast2-installation-4.2.12.tar.bz2 New: ---- yast2-installation-4.2.14.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.RikRiQ/_old 2019-09-23 13:16:58.045109799 +0200 +++ /var/tmp/diff_new_pack.RikRiQ/_new 2019-09-23 13:16:58.049109798 +0200 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 4.2.12 +Version: 4.2.14 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -36,10 +36,10 @@ BuildRequires: yast2-xml BuildRequires: rubygem(%{rb_default_ruby_abi}:rspec) BuildRequires: rubygem(%{rb_default_ruby_abi}:yast-rake) -# Yast::Execute.stdout -BuildRequires: yast2 >= 4.1.42 -# Y2Packager::KnownRepositories -BuildRequires: yast2-packager >= 4.1.27 +# Y2Packager::ProductControlProduct +BuildRequires: yast2 >= 4.2.22 +# Y2Packager::MediumType +BuildRequires: yast2-packager >= 4.2.27 # Y2Storage::Inhibitors including systemd masking BuildRequires: yast2-storage-ng >= 4.0.194 ## y2remote based version @@ -67,8 +67,8 @@ Requires: yast2-country-data >= 2.16.11 # Pkg::ProvidePackage Requires: yast2-pkg-bindings >= 3.1.33 -# Y2Packager::KnownRepositories -Requires: yast2-packager >= 4.1.27 +# Y2Packager::MediumType +Requires: yast2-packager >= 4.2.22 # use in startup scripts Requires: initviocons # Proxy settings for 2nd stage (bnc#764951) @@ -76,8 +76,8 @@ # Systemd default target and services. This version supports # writing settings in the first installation stage. Requires: yast2-services-manager >= 3.2.1 -# Y2Packager::Product.forced_base_product -Requires: yast2 >= 4.2.17 +# Y2Packager::ProductControlProduct +Requires: yast2 >= 4.2.22 Requires: yast2-network >= 4.0.13 # for AbortException and handle direct abort Requires: yast2-ruby-bindings >= 4.0.6 ++++++ yast2-installation-4.2.12.tar.bz2 -> yast2-installation-4.2.14.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/doc/SELF_UPDATE.md new/yast2-installation-4.2.14/doc/SELF_UPDATE.md --- old/yast2-installation-4.2.12/doc/SELF_UPDATE.md 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/doc/SELF_UPDATE.md 2019-09-20 17:04:45.000000000 +0200 @@ -5,6 +5,16 @@ installation even after the media has been released. Check [FATE#319716](https://fate.suse.com/319716) for a more in-depth rationale. +### :information_source: Note + +The self update feature is removed from the updated SLE Service Pack media +(the updated media released after the initial SP release), these media already +contain the updated installer and the included updates could conflict with +the self updates. + +If you need to patch the installer on these updated media you have to use +a driver update disk (DUD). + ## Disabling Updates Starting in SUSE Linux Enterprise 12 SP3, self-update is enabled by default. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/package/yast2-installation.changes new/yast2-installation-4.2.14/package/yast2-installation.changes --- old/yast2-installation-4.2.12/package/yast2-installation.changes 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/package/yast2-installation.changes 2019-09-20 17:04:45.000000000 +0200 @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Fri Sep 20 13:39:18 UTC 2019 - Ladislav Slezák <[email protected]> + +- Support for the online installation medium (jsc#SLE-7214) +- 4.2.14 + +------------------------------------------------------------------- +Wed Sep 11 13:17:21 UTC 2019 - Steffen Winterfeldt <[email protected]> + +- do NOT remove /mnt/run, it's a mounted directory (bsc#1149011) +- 4.2.13 + +------------------------------------------------------------------- Wed Aug 28 11:08:18 CEST 2019 - [email protected] - Set X-SuSE-YaST-AutoInstResource in desktop file (bsc#144894). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/package/yast2-installation.spec new/yast2-installation-4.2.14/package/yast2-installation.spec --- old/yast2-installation-4.2.12/package/yast2-installation.spec 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/package/yast2-installation.spec 2019-09-20 17:04:45.000000000 +0200 @@ -16,7 +16,7 @@ # Name: yast2-installation -Version: 4.2.12 +Version: 4.2.14 Release: 0 Group: System/YaST License: GPL-2.0-only @@ -35,10 +35,10 @@ BuildRequires: yast2-xml BuildRequires: rubygem(%{rb_default_ruby_abi}:rspec) BuildRequires: rubygem(%{rb_default_ruby_abi}:yast-rake) -# Yast::Execute.stdout -BuildRequires: yast2 >= 4.1.42 -# Y2Packager::KnownRepositories -BuildRequires: yast2-packager >= 4.1.27 +# Y2Packager::ProductControlProduct +BuildRequires: yast2 >= 4.2.22 +# Y2Packager::MediumType +BuildRequires: yast2-packager >= 4.2.27 # Y2Storage::Inhibitors including systemd masking BuildRequires: yast2-storage-ng >= 4.0.194 ## y2remote based version @@ -66,8 +66,8 @@ Requires: yast2-country-data >= 2.16.11 # Pkg::ProvidePackage Requires: yast2-pkg-bindings >= 3.1.33 -# Y2Packager::KnownRepositories -Requires: yast2-packager >= 4.1.27 +# Y2Packager::MediumType +Requires: yast2-packager >= 4.2.22 # use in startup scripts Requires: initviocons # Proxy settings for 2nd stage (bnc#764951) @@ -75,8 +75,8 @@ # Systemd default target and services. This version supports # writing settings in the first installation stage. Requires: yast2-services-manager >= 3.2.1 -# Y2Packager::Product.forced_base_product -Requires: yast2 >= 4.2.17 +# Y2Packager::ProductControlProduct +Requires: yast2 >= 4.2.22 Requires: yast2-network >= 4.0.13 # for AbortException and handle direct abort Requires: yast2-ruby-bindings >= 4.0.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/src/lib/installation/clients/inst_complex_welcome.rb new/yast2-installation-4.2.14/src/lib/installation/clients/inst_complex_welcome.rb --- old/yast2-installation-4.2.12/src/lib/installation/clients/inst_complex_welcome.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/src/lib/installation/clients/inst_complex_welcome.rb 2019-09-20 17:04:45.000000000 +0200 @@ -19,11 +19,15 @@ # current contact information at www.novell.com. # ------------------------------------------------------------------------------ -require "yaml" require "fileutils" +require "pp" +require "yaml" require "yast" + require "installation/dialogs/complex_welcome" +require "y2packager/medium_type" require "y2packager/product" +require "y2packager/product_control_product" Yast.import "Console" Yast.import "FileUtils" @@ -73,6 +77,8 @@ next unless result return result if !available_products? || result != :next + # in the online installation the workflow is merged after registering the system + return result if Y2Packager::MediumType.online? return merge_and_run_workflow end end @@ -149,8 +155,9 @@ # list because the dialog will not show the license (we do not know which product we are # upgrading yet) nor the product selector (as you cannot change the product during upgrade). # - # @return [Array<Y2Packager::Product>] List of available base products; if any, a list - # containing only the forced base product; empty list in update mode. + # @return [Array<Y2Packager::Product>,Array<Y2Packager::ProductControlProduct] List of + # available base products; if any, a list containing only the forced base product; + # empty list in update mode. def products return @products if @products @@ -161,9 +168,22 @@ # Returns all available base products # - # @return [Array<Y2Packager::Product>] List of available base products + # @return [Array<Y2Packager::Product>, Array<Y2Packager::ProductControlProduct>] List of available base products def available_base_products - @available_base_products ||= Y2Packager::Product.available_base_products + return @available_base_products if @available_base_products + + if Y2Packager::MediumType.online? + # read the products from the control.xml + @available_base_products = Y2Packager::ProductControlProduct.products + log.info "Found base products in the control.xml: #{@available_base_products.pretty_inspect}" + + # we cannot continue, the control.xml in the installer is invalid + raise "control.xml does not define any base products!" if @available_base_products.empty? + else + @available_base_products = Y2Packager::Product.available_base_products + end + + @available_base_products end # Determine whether some product is available or not @@ -177,7 +197,11 @@ # # @return [Y2Packager::Product] Selected base product def selected_product - Y2Packager::Product.selected_base + if Y2Packager::MediumType.online? + Y2Packager::ProductControlProduct.selected + else + Y2Packager::Product.selected_base + end end # Buttons to disable according to GetInstArgs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/src/lib/installation/clients/pre_umount_finish.rb new/yast2-installation-4.2.14/src/lib/installation/clients/pre_umount_finish.rb --- old/yast2-installation-4.2.12/src/lib/installation/clients/pre_umount_finish.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/src/lib/installation/clients/pre_umount_finish.rb 2019-09-20 17:04:45.000000000 +0200 @@ -53,11 +53,6 @@ # See FATE #303396 HandleSecondStageRequired() - # Remove content of /run which has been created by the pre/post - # install scripts while RPM installation and not needed anymore. - # (bnc#1071745) - SCR.Execute(path(".target.bash"), "/usr/bin/rm -rf /run/*") - # Release all sources, they might be still mounted Pkg.SourceReleaseAll diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/src/lib/installation/widgets/product_selector.rb new/yast2-installation-4.2.14/src/lib/installation/widgets/product_selector.rb --- old/yast2-installation-4.2.12/src/lib/installation/widgets/product_selector.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/src/lib/installation/widgets/product_selector.rb 2019-09-20 17:04:45.000000000 +0200 @@ -1,4 +1,7 @@ require "yast" + +require "y2packager/product_control_product" + Yast.import "Pkg" Yast.import "Popup" Yast.import "AddOnProduct" @@ -17,7 +20,7 @@ # @param skip_validation [Boolean] Skip value validation def initialize(products, skip_validation: false) @products = products - @items = products.map { |p| [p.name, p.label] } + @items = products.map { |p| [item_id(p), p.label] } @skip_validation = skip_validation textdomain "installation" end @@ -35,26 +38,30 @@ disable if registered? return unless selected - self.value = selected.name + self.value = item_id(selected) end def store log.info "Selected product: #{value}" - @product = products.find { |p| p.name == value } + @product = products.find { |p| item_id(p) == value } log.info "Found product: #{@product}" return unless @product - # reset both YaST and user selection (when going back or any products - # selected by YaST in the previous steps) - Yast::Pkg.PkgApplReset - Yast::Pkg.PkgReset - @product.select - - # Reselecting existing add-on-products for installation again - Yast::AddOnProduct.selected_installation_products.each do |product| - log.info "Reselecting add-on product #{product} for installation" - Yast::Pkg.ResolvableInstall(product, :product, "") + if @product.is_a?(Y2Packager::ProductControlProduct) + Y2Packager::ProductControlProduct.selected = @product + else + # reset both YaST and user selection (when going back or any products + # selected by YaST in the previous steps) + Yast::Pkg.PkgApplReset + Yast::Pkg.PkgReset + @product.select + + # Reselecting existing add-on-products for installation again + Yast::AddOnProduct.selected_installation_products.each do |product| + log.info "Reselecting add-on product #{product} for installation" + Yast::Pkg.ResolvableInstall(product, :product, "") + end end end @@ -79,6 +86,10 @@ rescue LoadError false end + + def item_id(prod) + "#{prod.name}-#{prod.version}-#{prod.arch}" + end end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/test/lib/clients/inst_complex_welcome_test.rb new/yast2-installation-4.2.14/test/lib/clients/inst_complex_welcome_test.rb --- old/yast2-installation-4.2.12/test/lib/clients/inst_complex_welcome_test.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/test/lib/clients/inst_complex_welcome_test.rb 2019-09-20 17:04:45.000000000 +0200 @@ -69,6 +69,7 @@ allow(Y2Packager::Product).to receive(:selected_base).and_return(product) allow(Y2Packager::Product).to receive(:available_base_products).and_return(products) allow(Y2Packager::Product).to receive(:forced_base_product).and_return(forced_base_product) + allow(Y2Packager::MediumType).to receive(:online?).and_return(false) end describe "#main" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/test/lib/clients/pre_umount_finish_test.rb new/yast2-installation-4.2.14/test/lib/clients/pre_umount_finish_test.rb --- old/yast2-installation-4.2.12/test/lib/clients/pre_umount_finish_test.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/test/lib/clients/pre_umount_finish_test.rb 2019-09-20 17:04:45.000000000 +0200 @@ -19,12 +19,6 @@ subject.write end - it "removes content in /run" do - expect(Yast::SCR).to receive(:Execute).with(anything, /rm .*\/run/) - - subject.write - end - it "beeps if a bootmessage is available" do expect(Yast::Misc).to receive(:boot_msg).and_return("bootmessage") expect(Yast::SCR).to receive(:Execute).with(anything, /\/bin\/echo -e /) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.2.12/test/widgets/product_selector_test.rb new/yast2-installation-4.2.14/test/widgets/product_selector_test.rb --- old/yast2-installation-4.2.12/test/widgets/product_selector_test.rb 2019-08-28 13:44:54.000000000 +0200 +++ new/yast2-installation-4.2.14/test/widgets/product_selector_test.rb 2019-09-20 17:04:45.000000000 +0200 @@ -6,8 +6,8 @@ require "installation/widgets/product_selector" describe ::Installation::Widgets::ProductSelector do - let(:product1) { Y2Packager::Product.new(name: "test1", display_name: "Test 1") } - let(:product2) { Y2Packager::Product.new(name: "test2", display_name: "Test 2") } + let(:product1) { Y2Packager::Product.new(name: "test1", display_name: "Test 1", version: "15", arch: "x86_64") } + let(:product2) { Y2Packager::Product.new(name: "test2", display_name: "Test 2", version: "15", arch: "x86_64") } subject { described_class.new([product1, product2]) } include_examples "CWM::RadioButtons" @@ -60,7 +60,7 @@ allow(Yast::AddOnProduct).to receive(:selected_installation_products) .and_return(["add-on-product"]) # mock selecting the first product - allow(subject).to receive(:value).and_return("test1") + allow(subject).to receive(:value).and_return("test1-15-x86_64") end it "resets previous package configuration" do
