Hello community,

here is the log from the commit of package yast2 for openSUSE:Factory checked 
in at 2019-10-27 13:36:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
 and      /work/SRC/openSUSE:Factory/.yast2.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2"

Sun Oct 27 13:36:05 2019 rev:464 rq:742906 version:4.2.29

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes      2019-10-21 
12:27:12.707879832 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new.2990/yast2.changes    2019-10-27 
13:36:07.076898578 +0100
@@ -1,0 +2,7 @@
+Fri Oct 25 12:57:30 UTC 2019 - Josef Reidinger <[email protected]>
+
+- Support for products on control file during upgrade
+  (jsc#SLE-7214)
+- 4.2.29
+
+-------------------------------------------------------------------

Old:
----
  yast2-4.2.28.tar.bz2

New:
----
  yast2-4.2.29.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.NKUK3Q/_old  2019-10-27 13:36:07.660899321 +0100
+++ /var/tmp/diff_new_pack.NKUK3Q/_new  2019-10-27 13:36:07.664899327 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        4.2.28
+Version:        4.2.29
 Release:        0
 Summary:        YaST2 Main Package
 License:        GPL-2.0-only

++++++ yast2-4.2.28.tar.bz2 -> yast2-4.2.29.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.2.28/library/packages/src/lib/y2packager/product.rb 
new/yast2-4.2.29/library/packages/src/lib/y2packager/product.rb
--- old/yast2-4.2.28/library/packages/src/lib/y2packager/product.rb     
2019-10-18 14:32:16.000000000 +0200
+++ new/yast2-4.2.29/library/packages/src/lib/y2packager/product.rb     
2019-10-25 16:27:19.000000000 +0200
@@ -98,7 +98,10 @@
       #
       # @return [Product] Selected base product
       def selected_base
-        available_base_products.find(&:selected?)
+        products = 
Y2Packager::ProductReader.new.available_base_products(force_repos: true)
+        selected = products.find(&:selected?)
+        selected ||= products.first
+        selected
       end
 
       # Return the products with a given status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.2.28/library/packages/src/lib/y2packager/product_reader.rb 
new/yast2-4.2.29/library/packages/src/lib/y2packager/product_reader.rb
--- old/yast2-4.2.28/library/packages/src/lib/y2packager/product_reader.rb      
2019-10-18 14:32:16.000000000 +0200
+++ new/yast2-4.2.29/library/packages/src/lib/y2packager/product_reader.rb      
2019-10-25 16:27:19.000000000 +0200
@@ -16,6 +16,7 @@
 
 Yast.import "Pkg"
 Yast.import "Linuxrc"
+Yast.import "Stage"
 
 module Y2Packager
   # Read the product information from libzypp
@@ -71,14 +72,26 @@
     # Available products
     #
     # @return [Array<Product>] Available products
-    def all_products
+    def all_products(force_repos: false)
       linuxrc_special_products = if Yast::Linuxrc.InstallInf("specialproduct")
         linuxrc_string(Yast::Linuxrc.InstallInf("specialproduct")).split(",")
       else
         []
       end
 
-      @all_products ||= available_products.each_with_object([]) do |prod, 
all_products|
+      return @all_products if @all_products && !force_repos
+
+      if Yast::Stage.initial && Y2Packager::MediumType.online? && !force_repos
+        return Y2Packager::ProductControlProduct.products.each_with_object([]) 
do |p, result|
+          result << Y2Packager::Product.new(name: p.name, display_name: 
p.label,
+              version: p.version, arch: p.arch,
+              installation_package: "Test") # just hack as we do not know 
current package name yet
+        end
+      end
+
+      @all_products = []
+
+      available_products.each do |prod|
         prod_pkg = product_package(prod["product_package"])
 
         if prod_pkg
@@ -95,28 +108,32 @@
           displayorder = Regexp.last_match[1].to_i if Regexp.last_match
         end
 
-        all_products << Y2Packager::Product.new(
+        @all_products << Y2Packager::Product.new(
           name: prod["name"], short_name: prod["short_name"], display_name: 
prod["display_name"],
           version: prod["version"], arch: prod["arch"], category: 
prod["category"],
           vendor: prod["vendor"], order: displayorder,
           installation_package: installation_package_mapping[prod["name"]]
         )
       end
+
+      @all_products
     end
 
     # In installation Read the available libzypp base products for installation
     # @return [Array<Y2Packager::Product>] the found available base products,
     #   the products are sorted by the 'displayorder' provides value
-    def available_base_products
+    def available_base_products(force_repos: false)
       # If no product contains a 'system-installation()' tag but there is only 
1 product,
       # we assume that it is the base one.
-      if all_products.size == 1 && installation_package_mapping.empty?
-        log.info "Assuming that #{all_products.inspect} is the base product."
-        return all_products
+      products = all_products(force_repos: force_repos)
+      if products.size == 1 && installation_package_mapping.empty?
+        log.info "Assuming that #{products.inspect} is the base product."
+        return products
       end
 
+      log.info "all products #{products}"
       # only installable products
-      products = 
all_products.select(&:installation_package).sort(&::Y2Packager::PRODUCT_SORTER)
+      products = 
products.select(&:installation_package).sort(&::Y2Packager::PRODUCT_SORTER)
       log.info "available base products #{products}"
       products
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.2.28/library/packages/test/y2packager/product_test.rb 
new/yast2-4.2.29/library/packages/test/y2packager/product_test.rb
--- old/yast2-4.2.28/library/packages/test/y2packager/product_test.rb   
2019-10-18 14:32:16.000000000 +0200
+++ new/yast2-4.2.29/library/packages/test/y2packager/product_test.rb   
2019-10-25 16:27:19.000000000 +0200
@@ -32,7 +32,7 @@
     let(:selected) { instance_double(Y2Packager::Product, selected?: true) }
 
     it "returns base selected packages" do
-      allow(described_class).to receive(:available_base_products)
+      allow(reader).to receive(:available_base_products)
         .and_return([not_selected, selected])
 
       expect(described_class.selected_base).to eq(selected)
@@ -115,7 +115,7 @@
     let(:selected) { instance_double(Y2Packager::Product, selected?: true) }
 
     it "returns base selected packages" do
-      allow(described_class).to receive(:available_base_products)
+      allow(reader).to receive(:available_base_products)
         .and_return([not_selected, selected])
 
       expect(described_class.selected_base).to eq(selected)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-4.2.28/package/yast2.changes 
new/yast2-4.2.29/package/yast2.changes
--- old/yast2-4.2.28/package/yast2.changes      2019-10-18 14:32:16.000000000 
+0200
+++ new/yast2-4.2.29/package/yast2.changes      2019-10-25 16:27:19.000000000 
+0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Fri Oct 25 12:57:30 UTC 2019 - Josef Reidinger <[email protected]>
+
+- Support for products on control file during upgrade
+  (jsc#SLE-7214)
+- 4.2.29
+
+-------------------------------------------------------------------
 Fri Oct 18 12:20:52 UTC 2019 - Josef Reidinger <[email protected]>
 
 - Fix showing details for accessing media error (bsc#1153297)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-4.2.28/package/yast2.spec 
new/yast2-4.2.29/package/yast2.spec
--- old/yast2-4.2.28/package/yast2.spec 2019-10-18 14:32:16.000000000 +0200
+++ new/yast2-4.2.29/package/yast2.spec 2019-10-25 16:27:19.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        4.2.28
+Version:        4.2.29
 Release:        0
 Summary:        YaST2 Main Package
 License:        GPL-2.0-only


Reply via email to