Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-agama-yast for openSUSE:Factory checked in at 2025-01-25 19:12:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-agama-yast (Old) and /work/SRC/openSUSE:Factory/.rubygem-agama-yast.new.2316 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-agama-yast" Sat Jan 25 19:12:22 2025 rev:13 rq:1240158 version:11.devel99 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-agama-yast/rubygem-agama-yast.changes 2025-01-22 16:39:41.534277355 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-agama-yast.new.2316/rubygem-agama-yast.changes 2025-01-25 19:12:24.120462854 +0100 @@ -1,0 +2,12 @@ +Fri Jan 24 09:33:27 UTC 2025 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> + +- Introduce a new installation phase "finish" + (gh#agama-project/agama#1616). + +------------------------------------------------------------------- +Fri Jan 24 06:42:00 UTC 2025 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> + +- Use the availability of the base product to determine whether a + product requires to be registered (gh#agama-project/agama#1938). + +------------------------------------------------------------------- Old: ---- agama-yast-11.devel68.gem New: ---- agama-yast-11.devel99.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ agama-yast.spec ++++++ --- /var/tmp/diff_new_pack.J0CNtd/_old 2025-01-25 19:12:26.136545610 +0100 +++ /var/tmp/diff_new_pack.J0CNtd/_new 2025-01-25 19:12:26.144545938 +0100 @@ -17,7 +17,7 @@ Name: agama-yast -Version: 11.devel68 +Version: 11.devel99 Release: 0 %define mod_name agama-yast %define mod_full_name %{mod_name}-%{version} ++++++ rubygem-agama-yast.spec ++++++ --- /var/tmp/diff_new_pack.J0CNtd/_old 2025-01-25 19:12:26.456558746 +0100 +++ /var/tmp/diff_new_pack.J0CNtd/_new 2025-01-25 19:12:26.472559403 +0100 @@ -24,7 +24,7 @@ # Name: rubygem-agama-yast -Version: 11.devel68 +Version: 11.devel99 Release: 0 %define mod_name agama-yast %define mod_full_name %{mod_name}-%{version} ++++++ agama-yast-11.devel68.gem -> agama-yast-11.devel99.gem ++++++ Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/dbus/clients/manager.rb new/lib/agama/dbus/clients/manager.rb --- old/lib/agama/dbus/clients/manager.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/dbus/clients/manager.rb 2025-01-24 13:45:48.000000000 +0100 @@ -63,6 +63,8 @@ InstallationPhase::CONFIG when DBus::Manager::INSTALL_PHASE InstallationPhase::INSTALL + when DBus::Manager::FINISH_PHASE + InstallationPhase::FINISH end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/dbus/clients/with_issues.rb new/lib/agama/dbus/clients/with_issues.rb --- old/lib/agama/dbus/clients/with_issues.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/dbus/clients/with_issues.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -52,9 +52,10 @@ dbus_object[ISSUES_IFACE]["All"].map do |dbus_issue| Issue.new(dbus_issue[0], - details: dbus_issue[1], - source: sources[dbus_issue[2]], - severity: severities[dbus_issue[3]]) + kind: dbus_issue[1].to_sym, + details: dbus_issue[2], + source: sources[dbus_issue[3]], + severity: severities[dbus_issue[4]]) end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/dbus/interfaces/issues.rb new/lib/agama/dbus/interfaces/issues.rb --- old/lib/agama/dbus/interfaces/issues.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/dbus/interfaces/issues.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -48,9 +48,9 @@ else 0 end - severity = issue.severity == Agama::Issue::Severity::WARN ? 0 : 1 + severity = (issue.severity == Agama::Issue::Severity::WARN) ? 0 : 1 - [issue.description, issue.details.to_s, source, severity] + [issue.description, issue.kind.to_s, issue.details.to_s, source, severity] end end @@ -64,7 +64,7 @@ base.class_eval do dbus_interface ISSUES_INTERFACE do # @see {#dbus_issues} - dbus_reader :dbus_issues, "a(ssuu)", dbus_name: "All" + dbus_reader :dbus_issues, "a(sssuu)", dbus_name: "All" end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/dbus/manager.rb new/lib/agama/dbus/manager.rb --- old/lib/agama/dbus/manager.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/dbus/manager.rb 2025-01-24 13:45:48.000000000 +0100 @@ -58,6 +58,7 @@ STARTUP_PHASE = 0 CONFIG_PHASE = 1 INSTALL_PHASE = 2 + FINISH_PHASE = 3 dbus_interface MANAGER_INTERFACE do dbus_method(:Probe, "") { config_phase } @@ -111,7 +112,8 @@ [ { "id" => STARTUP_PHASE, "label" => "startup" }, { "id" => CONFIG_PHASE, "label" => "config" }, - { "id" => INSTALL_PHASE, "label" => "install" } + { "id" => INSTALL_PHASE, "label" => "install" }, + { "id" => FINISH_PHASE, "label" => "finish" } ] end @@ -122,6 +124,7 @@ return STARTUP_PHASE if backend.installation_phase.startup? return CONFIG_PHASE if backend.installation_phase.config? return INSTALL_PHASE if backend.installation_phase.install? + return FINISH_PHASE if backend.installation_phase.finish? end # States whether installation runs on iguana diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/dbus/software/product.rb new/lib/agama/dbus/software/product.rb --- old/lib/agama/dbus/software/product.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/dbus/software/product.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -180,7 +180,7 @@ [1, "Product not selected yet"] elsif backend.registration.reg_code [2, "Product already registered"] - elsif backend.registration.requirement == Agama::Registration::Requirement::NO + elsif !backend.product.registration [3, "Product does not require registration"] else connect_result(first_error_code: 4) do @@ -254,6 +254,7 @@ # software related issues. backend.registration.on_change { issues_properties_changed } backend.registration.on_change { registration_properties_changed } + backend.on_issues_change { issues_properties_changed } end def registration_properties_changed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/installation_phase.rb new/lib/agama/installation_phase.rb --- old/lib/agama/installation_phase.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/installation_phase.rb 2025-01-24 13:45:48.000000000 +0100 @@ -27,6 +27,7 @@ STARTUP = "startup" CONFIG = "config" INSTALL = "install" + FINISH = "finish" def initialize @on_change_callbacks = [] @@ -53,6 +54,13 @@ value == INSTALL end + # Whether the current installation phase value is finish + # + # @return [Boolean] + def finish? + value == FINISH + end + # Sets the installation phase value to startup # # @note Callbacks are called. @@ -83,6 +91,16 @@ self end + # Sets the installation phase value to finish + # + # @note Callbacks are called. + # + # @return [self] + def finish + change_to(FINISH) + self + end + # Registers callbacks to be called when the installation phase value changes # # @param block [Proc] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/issue.rb new/lib/agama/issue.rb --- old/lib/agama/issue.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/issue.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -55,6 +55,12 @@ # @return [Symbol] attr_reader :severity + # Kind of error + # + # It helps to identify the error without having to rely on the message + # @return [Symbol] + attr_reader :kind + # Defines possible sources module Source SYSTEM = :system @@ -73,8 +79,9 @@ # @param details [String, nil] # @param source [symbol, nil] # @param severity [symbol] - def initialize(description, details: "", source: nil, severity: Severity::WARN) + def initialize(description, kind: :generic, details: "", source: nil, severity: Severity::WARN) @description = description + @kind = kind @details = details @source = source @severity = severity diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/manager.rb new/lib/agama/manager.rb --- old/lib/agama/manager.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/manager.rb 2025-01-24 13:45:48.000000000 +0100 @@ -144,6 +144,7 @@ logger.error "Installation error: #{e.inspect}. Backtrace: #{e.backtrace}" ensure service_status.idle + installation_phase.finish finish_progress end # rubocop:enable Metrics/AbcSize diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/software/manager.rb new/lib/agama/software/manager.rb --- old/lib/agama/software/manager.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/software/manager.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2021-2024] SUSE LLC +# Copyright (c) [2021-2025] SUSE LLC # # All Rights Reserved. # @@ -589,6 +589,7 @@ # @return [Agama::Issue] def missing_registration_issue Issue.new(_("Product must be registered"), + kind: :missing_registration, source: Issue::Source::SYSTEM, severity: Issue::Severity::ERROR) end @@ -597,8 +598,17 @@ # # @return [Boolean] def missing_registration? - registration.reg_code.nil? && - registration.requirement == Agama::Registration::Requirement::MANDATORY + return false unless product + + product.registration && missing_base_product? + end + + # Whether the base product is missing + # + # @return [Boolean] + def missing_base_product? + products = Y2Packager::Resolvable.find(kind: :product, name: product.name) + products.empty? end def pattern_exist?(pattern_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/software/product.rb new/lib/agama/software/product.rb --- old/lib/agama/software/product.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/software/product.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -92,10 +92,9 @@ # @return [Array<String>] attr_accessor :user_patterns - # Determines if the product should be registered. + # Whether the registration is enabled for the product. # - # @see Agama::Registration::Requirement - # @return [String] + # @return [boolean] attr_accessor :registration # Product translations. @@ -126,7 +125,7 @@ @optional_patterns = [] # nil = display all visible patterns, [] = display no patterns @user_patterns = nil - @registration = Agama::Registration::Requirement::NO + @registration = false @license = nil @translations = {} end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/agama/software/product_builder.rb new/lib/agama/software/product_builder.rb --- old/lib/agama/software/product_builder.rb 2025-01-21 20:33:19.000000000 +0100 +++ new/lib/agama/software/product_builder.rb 2025-01-24 13:45:48.000000000 +0100 @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) [2023] SUSE LLC +# Copyright (c) [2023-2025] SUSE LLC # # All Rights Reserved. # @@ -65,7 +65,7 @@ product.name = data[:name] product.version = data[:version] product.icon = attrs["icon"] if attrs["icon"] - product.registration = attrs["registration"] if attrs["registration"] + product.registration = !!attrs["registration"] product.license = attrs["license"] if attrs["license"] product.version = attrs["version"] if attrs["version"] end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2025-01-21 20:33:19.000000000 +0100 +++ new/metadata 2025-01-24 13:45:48.000000000 +0100 @@ -1,13 +1,13 @@ --- !ruby/object:Gem::Specification name: agama-yast version: !ruby/object:Gem::Version - version: 11.devel68 + version: 11.devel99 platform: ruby authors: - YaST Team bindir: bin cert_chain: [] -date: 2025-01-21 00:00:00.000000000 Z +date: 2025-01-24 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: packaging_rake_tasks ++++++ po.tar.bz2 ++++++