Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package yast2-packager for openSUSE:Factory 
checked in at 2021-06-01 10:33:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-packager.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Tue Jun  1 10:33:48 2021 rev:411 rq:896350 version:4.4.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes    
2021-04-23 17:50:43.790804924 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new.1898/yast2-packager.changes  
2021-06-01 10:34:01.552462066 +0200
@@ -1,0 +2,15 @@
+Thu May 27 07:43:27 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
+
+- Use the "armv7hl" packages on the "armv7l" architecture
+  (bsc#1183795)
+- 4.4.3
+
+-------------------------------------------------------------------
+Mon May 24 11:16:11 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.2
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-4.4.1.tar.bz2

New:
----
  yast2-packager-4.4.3.tar.bz2

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

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.LrBoFn/_old  2021-06-01 10:34:03.408465225 +0200
+++ /var/tmp/diff_new_pack.LrBoFn/_new  2021-06-01 10:34:03.408465225 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.4.1
+Version:        4.4.3
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -36,8 +36,8 @@
 BuildRequires:  yast2-storage-ng >= 4.0.141
 # break the yast2-packager -> yast2-storage-ng -> yast2-packager build cycle
 #!BuildIgnore: yast2-packager
-# Y2Packager::Repositories
-BuildRequires:  yast2 >= 4.2.60
+# Installation::InstallationInfo
+BuildRequires:  yast2 >= 4.4.4
 # raw_name
 BuildRequires:  yast2-pkg-bindings >= 4.2.8
 # Augeas lenses
@@ -48,8 +48,8 @@
 Requires:       yast2-country-data >= 2.16.3
 # raw_name
 Requires:       yast2-pkg-bindings >= 4.2.8
-# Y2Packager::Repositories
-Requires:       yast2 >= 4.2.60
+# Installation::InstallationInfo
+Requires:       yast2 >= 4.4.4
 # unzipping license file
 Requires:       unzip
 # HTTP, FTP, HTTPS modules (inst_productsources.ycp)

++++++ yast2-packager-4.4.1.tar.bz2 -> yast2-packager-4.4.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.4.1/package/yast2-packager.changes 
new/yast2-packager-4.4.3/package/yast2-packager.changes
--- old/yast2-packager-4.4.1/package/yast2-packager.changes     2021-04-22 
10:20:01.000000000 +0200
+++ new/yast2-packager-4.4.3/package/yast2-packager.changes     2021-05-31 
13:51:21.000000000 +0200
@@ -1,4 +1,19 @@
 -------------------------------------------------------------------
+Thu May 27 07:43:27 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
+
+- Use the "armv7hl" packages on the "armv7l" architecture
+  (bsc#1183795)
+- 4.4.3
+
+-------------------------------------------------------------------
+Mon May 24 11:16:11 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.2
+
+-------------------------------------------------------------------
 Thu Apr 22 07:51:02 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz>
 
 - Revert copying the libzypp cache to the target system and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.4.1/package/yast2-packager.spec 
new/yast2-packager-4.4.3/package/yast2-packager.spec
--- old/yast2-packager-4.4.1/package/yast2-packager.spec        2021-04-22 
10:20:01.000000000 +0200
+++ new/yast2-packager-4.4.3/package/yast2-packager.spec        2021-05-31 
13:51:21.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.4.1
+Version:        4.4.3
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -36,8 +36,8 @@
 BuildRequires:  yast2-storage-ng >= 4.0.141
 # break the yast2-packager -> yast2-storage-ng -> yast2-packager build cycle
 #!BuildIgnore: yast2-packager
-# Y2Packager::Repositories
-BuildRequires:  yast2 >= 4.2.60
+# Installation::InstallationInfo
+BuildRequires:  yast2 >= 4.4.4
 # raw_name
 BuildRequires:  yast2-pkg-bindings >= 4.2.8
 # Augeas lenses
@@ -48,8 +48,8 @@
 Requires:       yast2-country-data >= 2.16.3
 # raw_name
 Requires:       yast2-pkg-bindings >= 4.2.8
-# Y2Packager::Repositories
-Requires:       yast2 >= 4.2.60
+# Installation::InstallationInfo
+Requires:       yast2 >= 4.4.4
 # unzipping license file
 Requires:       unzip
 # HTTP, FTP, HTTPS modules (inst_productsources.ycp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.4.1/src/lib/y2packager/installation_data.rb 
new/yast2-packager-4.4.3/src/lib/y2packager/installation_data.rb
--- old/yast2-packager-4.4.1/src/lib/y2packager/installation_data.rb    
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-4.4.3/src/lib/y2packager/installation_data.rb    
2021-05-31 13:51:21.000000000 +0200
@@ -0,0 +1,99 @@
+# Copyright (c) [2021] SUSE LLC
+#
+# 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 SUSE LLC.
+#
+# To contact SUSE LLC about this file by physical or electronic mail, you may
+# find current contact information at www.suse.com.
+
+require "installation/installation_info"
+require "y2packager/medium_type"
+require "y2packager/product_reader"
+require "y2packager/resolvable"
+
+Yast.import "Mode"
+Yast.import "Pkg"
+
+module Y2Packager
+  # Class for dumping the general installation data.
+  class InstallationData
+    # Register the callback for dumping the general installation data
+    def register_callback
+      # already registered
+      return if ::Installation::InstallationInfo.instance.callback?("packager")
+
+      ::Installation::InstallationInfo.instance.add_callback("packager") do
+        data = {
+          "mode"                    => Yast::Mode.mode,
+          "medium_type"             => Y2Packager::MediumType.type_value,
+          "repositories"            => repositories,
+          "services"                => services,
+          "available_base_products" => available_base_products,
+          "products"                => products
+        }
+
+        add_update_data(data) if Yast::Mode.update
+
+        data
+      end
+    end
+
+  private
+
+    def products
+      Y2Packager::Resolvable.find(kind: :product).map do |product|
+        {
+          "name"         => product.name,
+          "version"      => product.version,
+          "display_name" => product.display_name,
+          "status"       => product.status,
+          "vendor"       => product.vendor,
+          "repository"   => product.source,
+          "path"         => product.path
+        }
+      end
+    end
+
+    def available_base_products
+      Y2Packager::ProductReader.new.available_base_products.map do |product|
+        {
+          "name"         => product.name,
+          "version"      => product.version,
+          "display_name" => product.display_name,
+          "vendor"       => product.vendor
+        }
+      end
+    end
+
+    def repositories
+      Yast::Pkg.SourceGetCurrent(false).map do |repo|
+        Yast::Pkg.SourceGeneralData(repo)
+      end
+    end
+
+    def services
+      Yast::Pkg.ServiceAliases.map do |s|
+        Yast::Pkg.ServiceGet(s)
+      end
+    end
+
+    # add update data
+    def add_update_data(data)
+      # evaluating root partitions in upgrade
+      Yast.import "RootPart"
+      data["root_partitions"] = Yast::RootPart.rootPartitions
+      data["selected_root_partition"] = Yast::RootPart.selectedRootPartition
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.4.1/src/lib/y2packager/medium_type.rb 
new/yast2-packager-4.4.3/src/lib/y2packager/medium_type.rb
--- old/yast2-packager-4.4.1/src/lib/y2packager/medium_type.rb  2021-04-22 
10:20:01.000000000 +0200
+++ new/yast2-packager-4.4.3/src/lib/y2packager/medium_type.rb  2021-05-31 
13:51:21.000000000 +0200
@@ -33,6 +33,15 @@
         @type ||= detect_medium_type
       end
 
+      # Returns the cached medium type value. If the medium detection has not 
been
+      # called yet (via the `type` method) then it returns `nil`.
+      #
+      # @see .type
+      # @return [Symbol,nil] Symbol describing the medium or `nil`
+      def type_value
+        @type
+      end
+
       # Possible types for type value
       POSSIBLE_TYPES = [:online, :offline, :standard].freeze
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.4.1/src/lib/y2packager/solvable_pool.rb 
new/yast2-packager-4.4.3/src/lib/y2packager/solvable_pool.rb
--- old/yast2-packager-4.4.1/src/lib/y2packager/solvable_pool.rb        
2021-04-22 10:20:01.000000000 +0200
+++ new/yast2-packager-4.4.3/src/lib/y2packager/solvable_pool.rb        
2021-05-31 13:51:21.000000000 +0200
@@ -10,14 +10,18 @@
 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
details.
 # 
------------------------------------------------------------------------------
 
+require "etc"
 require "solv"
+require "yast"
 
 module Y2Packager
   # This is a wrapper for the Solv::Pool class
   class SolvablePool
+    include Yast::Logger
+
     def initialize
       @pool = Solv::Pool.new
-      @pool.setarch
+      @pool.setarch(arch)
     end
 
     #
@@ -35,5 +39,23 @@
     end
 
     attr_reader :pool
+
+  private
+
+    # detect the system architecture
+    # @return [String] the machine architecture, equivalent to "uname -m"
+    def arch
+      # get the machine architecture name ("uname -m")
+      arch = Etc.uname[:machine]
+      log.info "Detected system architecture: #{arch}"
+
+      # use "armv7hl" packages on "armv7l" (bsc#1183795)
+      if arch == "armv7l"
+        arch = "armv7hl"
+        log.info "Using #{arch} package architecture"
+      end
+
+      arch
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.4.1/test/installation_data_test.rb 
new/yast2-packager-4.4.3/test/installation_data_test.rb
--- old/yast2-packager-4.4.1/test/installation_data_test.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-packager-4.4.3/test/installation_data_test.rb     2021-05-31 
13:51:21.000000000 +0200
@@ -0,0 +1,26 @@
+require_relative "test_helper"
+require "y2packager/installation_data"
+
+describe Y2Packager::InstallationData do
+  describe "#register_callback" do
+    it "adds the default product callback" do
+      expect(::Installation::InstallationInfo.instance)
+        .to receive(:callback?).with("packager").and_return(false)
+
+      expect(::Installation::InstallationInfo.instance)
+        .to receive(:add_callback).with("packager")
+
+      subject.register_callback
+    end
+
+    it "does not add the callback if it is already defined" do
+      expect(::Installation::InstallationInfo.instance)
+        .to receive(:callback?).with("packager").and_return(true)
+
+      expect(::Installation::InstallationInfo.instance)
+        .to_not receive(:add_callback)
+
+      subject.register_callback
+    end
+  end
+end

Reply via email to