Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package yast2-add-on for openSUSE:Factory 
checked in at 2026-07-23 23:08:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-add-on (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-add-on.new.2004 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-add-on"

Thu Jul 23 23:08:31 2026 rev:126 rq:1366879 version:5.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-add-on/yast2-add-on.changes        
2023-10-20 23:17:55.197043740 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-add-on.new.2004/yast2-add-on.changes      
2026-07-23 23:08:51.529161101 +0200
@@ -1,0 +2,12 @@
+Tue Jul 21 07:02:56 UTC 2026 - Josef Reidinger <[email protected]>
+
+- fix invalid entry in changelog ( needed to submit jsc#PED-14507)
+- 5.0.2
+
+-------------------------------------------------------------------
+Tue Mar 10 09:00:28 UTC 2026 - Michal Filka <[email protected]>
+
+- jsc#PED-14507
+  - Removed reference to update-desktop-files from spec file
+  - 5.0.1
+-------------------------------------------------------------------
@@ -449 +460,0 @@
-

Old:
----
  yast2-add-on-5.0.0.tar.bz2

New:
----
  yast2-add-on-5.0.2.tar.bz2

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

Other differences:
------------------
++++++ yast2-add-on.spec ++++++
--- /var/tmp/diff_new_pack.UvMsYR/_old  2026-07-23 23:08:52.361190317 +0200
+++ /var/tmp/diff_new_pack.UvMsYR/_new  2026-07-23 23:08:52.365190458 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package yast2-add-on
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-add-on
-Version:        5.0.0
+Version:        5.0.2
 Release:        0
 Summary:        YaST2 - Add-On media installation code
 License:        GPL-2.0-only
@@ -26,7 +26,6 @@
 
 Source0:        %{name}-%{version}.tar.bz2
 
-BuildRequires:  update-desktop-files
 BuildRequires:  rubygem(%{rb_default_ruby_abi}:rspec)
 BuildRequires:  rubygem(%{rb_default_ruby_abi}:yast-rake)
 # UIExtensionChecker

++++++ yast2-add-on-5.0.0.tar.bz2 -> yast2-add-on-5.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/.github/workflows/ci.yml 
new/yast2-add-on-5.0.2/.github/workflows/ci.yml
--- old/yast2-add-on-5.0.0/.github/workflows/ci.yml     2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/.github/workflows/ci.yml     2026-07-21 
09:25:00.000000000 +0200
@@ -1,9 +1,8 @@
-
 # See 
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
 
 name: CI
 
-on: [push, pull_request]
+on: [ push, pull_request ]
 
 jobs:
   Tests:
@@ -12,33 +11,32 @@
     strategy:
       fail-fast: false
       matrix:
-        distro:  [ "tumbleweed", "leap_latest" ]
+        distro: [ "tumbleweed" ]
 
     container:
       image: 
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
 
     steps:
+      - name: Git Checkout
+        uses: actions/checkout@v2
 
-    - name: Git Checkout
-      uses: actions/checkout@v2
-
-    # just for easier debugging...
-    - name: Inspect Installed Packages
-      run: rpm -qa | sort
-
-    - name: Unit Tests
-      run: rake test:unit
-      # enable code coverage reporting
-      env:
-        COVERAGE: 1
-
-    # send the coverage report to coveralls.io
-    - name: Coveralls Report
-      # send it only from the TW build to avoid duplicate submits
-      if: ${{ matrix.distro == 'tumbleweed' }}
-      uses: coverallsapp/github-action@master
-      with:
-        github-token: ${{ secrets.GITHUB_TOKEN }}
+      # just for easier debugging...
+      - name: Inspect Installed Packages
+        run: rpm -qa | sort
+
+      - name: Unit Tests
+        run: rake test:unit
+        # enable code coverage reporting
+        env:
+          COVERAGE: 1
+
+      # send the coverage report to coveralls.io
+      - name: Coveralls Report
+        # send it only from the TW build to avoid duplicate submits
+        if: ${{ matrix.distro == 'tumbleweed' }}
+        uses: coverallsapp/github-action@master
+        with:
+          github-token: ${{ secrets.GITHUB_TOKEN }}
 
   Rubocop:
     runs-on: ubuntu-latest
@@ -46,37 +44,38 @@
     strategy:
       fail-fast: false
       matrix:
-        distro: [ "leap_latest" ]
+        distro: [ "tumbleweed" ]
 
     container:
       image: 
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
 
     steps:
+      - name: Git Checkout
+        uses: actions/checkout@v2
 
-    - name: Git Checkout
-      uses: actions/checkout@v2
-
-    - name: Rubocop
-      run: rake check:rubocop
+      - name: Rubocop
+        run: rake check:rubocop
 
   Package:
+    # skip in master, but run in forks
+    if:  github.ref_name != 'master' || github.repository_owner != 'yast'
+
     runs-on: ubuntu-latest
 
     strategy:
       fail-fast: false
       matrix:
-        distro:  [ "tumbleweed", "leap_latest" ]
+        distro: [ "tumbleweed" ]
 
     container:
       image: 
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
 
     steps:
+      - name: Git Checkout
+        uses: actions/checkout@v2
 
-    - name: Git Checkout
-      uses: actions/checkout@v2
-
-    - name: Package Build
-      run: yast-ci-ruby -o package
+      - name: Package Build
+        run: yast-ci-ruby -o package
 
   Yardoc:
     runs-on: ubuntu-latest
@@ -84,18 +83,17 @@
     strategy:
       fail-fast: false
       matrix:
-        distro: [ "leap_latest" ]
+        distro: [ "tumbleweed" ]
 
     container:
       image: 
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
 
     steps:
+      - name: Git Checkout
+        uses: actions/checkout@v2
 
-    - name: Git Checkout
-      uses: actions/checkout@v2
-
-    - name: Yardoc
-      run: rake check:doc
+      - name: Yardoc
+        run: rake check:doc
 
   # downloading the Docker image takes some time so bundling several fast
   # checks into one job avoids that overhead
@@ -105,18 +103,17 @@
     strategy:
       fail-fast: false
       matrix:
-        distro: [ "leap_latest" ]
+        distro: [ "tumbleweed" ]
 
     container:
       image: 
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
 
     steps:
+      - name: Git Checkout
+        uses: actions/checkout@v2
 
-    - name: Git Checkout
-      uses: actions/checkout@v2
-
-    - name: Perl Syntax
-      run: yast-ci-ruby -o perl_syntax
+      - name: Perl Syntax
+        run: yast-ci-ruby -o perl_syntax
 
-    - name: POT Check
-      run: rake check:pot
+      - name: POT Check
+        run: rake check:pot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/.github/workflows/submit.yml 
new/yast2-add-on-5.0.2/.github/workflows/submit.yml
--- old/yast2-add-on-5.0.0/.github/workflows/submit.yml 1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-add-on-5.0.2/.github/workflows/submit.yml 2026-07-21 
09:25:00.000000000 +0200
@@ -0,0 +1,29 @@
+# See 
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
+
+name: OBS
+
+on:
+  # only when committing to master
+  push:
+    branches: master
+
+  # allow running manually from GitHub Web
+  workflow_dispatch:
+
+jobs:
+  submit:
+    # do not run in forks
+    if: github.repository_owner == 'yast'
+
+    runs-on: ubuntu-latest
+
+    # the default timeout is 6 hours, do not wait for that long if osc gets 
stucked
+    timeout-minutes: 30
+
+    steps:
+      - name: Submit the package
+        # see https://github.com/yast/actions/blob/master/submit/action.yml
+        uses: yast/actions/submit@master
+        with:
+          obs_user:     ${{ secrets.OBS_USER }}
+          obs_password: ${{ secrets.OBS_PASSWORD }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/.rubocop.yml 
new/yast2-add-on-5.0.2/.rubocop.yml
--- old/yast2-add-on-5.0.0/.rubocop.yml 2023-10-18 23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/.rubocop.yml 2026-07-21 09:25:00.000000000 +0200
@@ -1,6 +1,6 @@
 # use the shared Yast defaults
 inherit_from:
-  /usr/share/YaST2/data/devtools/data/rubocop-0.71.0_yast_style.yml
+  /usr/share/YaST2/data/devtools/data/rubocop-1.24.1_yast_style.yml
 
 # this needs more testing if we can have frozen string literals
 Style/FrozenStringLiteralComment:
@@ -15,15 +15,9 @@
 Naming/MethodName:
   Enabled: false
 
-Naming/VariableName:
-  Enabled: false
-
-Lint/Loop:
-  Enabled: false
-
 # Offense count: 11
 Metrics/AbcSize:
-  Max: 200
+  Max: 210
 
 # Offense count: 24
 # Configuration parameters: CountComments, ExcludedMethods.
@@ -46,7 +40,7 @@
 # Cop supports --auto-correct.
 # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, 
IgnoreCopDirectives, IgnoredPatterns.
 # URISchemes: http, https
-Metrics/LineLength:
+Layout/LineLength:
   Max: 122
 
 # Offense count: 16
@@ -66,7 +60,7 @@
 
 # Offense count: 10
 Metrics/PerceivedComplexity:
-  Max: 41
+  Max: 50
 
 # Offense count: 10
 # Configuration parameters: ExpectMatchingDefinition, Regex, 
IgnoreExecutableScripts, AllowedAcronyms.
@@ -104,3 +98,9 @@
     # (even for derived classes)
     # https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/ClassVars
     - 'src/include/add-on/add-on-workflow.rb'
+    - 'spec/**/*'
+    - 'test/**/*'
+
+# disable optional boolean parameter to avoid API breakage
+Style/OptionalBooleanParameter:
+  Enabled: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/README.md 
new/yast2-add-on-5.0.2/README.md
--- old/yast2-add-on-5.0.0/README.md    2023-10-18 23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/README.md    2026-07-21 09:25:00.000000000 +0200
@@ -2,6 +2,4 @@
 
 [![Workflow 
Status](https://github.com/yast/yast-add-on/workflows/CI/badge.svg?branch=master)](
 https://github.com/yast/yast-add-on/actions?query=branch%3Amaster)
-[![Jenkins 
Status](https://ci.opensuse.org/buildStatus/icon?job=yast-yast-add-on-master)](
-https://ci.opensuse.org/view/Yast/job/yast-yast-add-on-master/)
 [![Coverage 
Status](https://coveralls.io/repos/github/yast/yast-add-on/badge.svg?branch=master)](https://coveralls.io/github/yast/yast-add-on?branch=master)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/package/yast2-add-on.changes 
new/yast2-add-on-5.0.2/package/yast2-add-on.changes
--- old/yast2-add-on-5.0.0/package/yast2-add-on.changes 2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/package/yast2-add-on.changes 2026-07-21 
09:25:00.000000000 +0200
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Tue Jul 21 07:02:56 UTC 2026 - Josef Reidinger <[email protected]>
+
+- fix invalid entry in changelog ( needed to submit jsc#PED-14507)
+- 5.0.2
+
+-------------------------------------------------------------------
+Tue Mar 10 09:00:28 UTC 2026 - Michal Filka <[email protected]>
+
+- jsc#PED-14507
+  - Removed reference to update-desktop-files from spec file
+  - 5.0.1
+-------------------------------------------------------------------
 Wed Aug 30 20:16:10 UTC 2023 - Josef Reidinger <[email protected]>
 
 - 5.0.0 (bsc#1185510)
@@ -294,7 +306,7 @@
 Tue Nov 20 11:10:09 CET 2018 - [email protected]
 
 - Function SelectProduct removed in order NOT to select All
-  available products (bsc#1116332). 
+  available products (bsc#1116332).
 - 4.1.8
 
 -------------------------------------------------------------------
@@ -446,7 +458,6 @@
 - 3.2.0
 
 -------------------------------------------------------------------
-
 Thu Aug 11 15:59:06 CEST 2016 - [email protected]
 
 - Added "confirm_license" to the RNC file.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/package/yast2-add-on.spec 
new/yast2-add-on-5.0.2/package/yast2-add-on.spec
--- old/yast2-add-on-5.0.0/package/yast2-add-on.spec    2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/package/yast2-add-on.spec    2026-07-21 
09:25:00.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-add-on
-Version:        5.0.0
+Version:        5.0.2
 Release:        0
 Summary:        YaST2 - Add-On media installation code
 License:        GPL-2.0-only
@@ -28,7 +28,6 @@
 
 BuildRequires:  rubygem(%{rb_default_ruby_abi}:yast-rake)
 BuildRequires:  rubygem(%{rb_default_ruby_abi}:rspec)
-BuildRequires:  update-desktop-files
 # UIExtensionChecker
 BuildRequires:  yast2 >= 4.4.19
 BuildRequires:  yast2-devtools >= 3.1.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/src/clients/add-on.rb 
new/yast2-add-on-5.0.2/src/clients/add-on.rb
--- old/yast2-add-on-5.0.0/src/clients/add-on.rb        2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/clients/add-on.rb        2026-07-21 
09:25:00.000000000 +0200
@@ -29,8 +29,8 @@
         "help"       => format(
           _(
             "Add On Management - This module does not support the command line 
" \
-              "interface, use '%{zypper}' instead for adding a new repository 
or " \
-              "'%{SUSEConnect}' to register a new add-on."
+            "interface, use '%{zypper}' instead for adding a new repository or 
" \
+            "'%{SUSEConnect}' to register a new add-on."
           ),
           zypper: "zypper", SUSEConnect: "SUSEConnect"
         ),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/src/clients/add-on_proposal.rb 
new/yast2-add-on-5.0.2/src/clients/add-on_proposal.rb
--- old/yast2-add-on-5.0.0/src/clients/add-on_proposal.rb       2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/clients/add-on_proposal.rb       2026-07-21 
09:25:00.000000000 +0200
@@ -23,7 +23,8 @@
       @param = Convert.to_map(WFM.Args(1))
       @ret = {}
 
-      if @func == "MakeProposal"
+      case @func
+      when "MakeProposal"
         @force_reset = Ops.get_boolean(@param, "force_reset", false)
         @language_changed = Ops.get_boolean(@param, "language_changed", false)
 
@@ -48,7 +49,7 @@
         WorkflowManager.RedrawWizardSteps
 
         @ret = { "raw_proposal" => @items }
-      elsif @func == "AskUser"
+      when "AskUser"
         Wizard.CreateDialog
         @result = RunAddOnMainDialog(
           false,
@@ -64,7 +65,7 @@
         # Fill return map
 
         @ret = { "workflow_sequence" => @result, "mode_changed" => false }
-      elsif @func == "Description"
+      when "Description"
         # Fill return map.
         #
         # Static values do just nicely here, no need to call a function.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-add-on-5.0.0/src/clients/inst_add-on_software.rb 
new/yast2-add-on-5.0.2/src/clients/inst_add-on_software.rb
--- old/yast2-add-on-5.0.0/src/clients/inst_add-on_software.rb  2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/clients/inst_add-on_software.rb  2026-07-21 
09:25:00.000000000 +0200
@@ -88,20 +88,17 @@
 
       @dialog_ret = :abort if @ret == :cancel
 
-      if @ret == :accept || @ret == :ok
-        # Add-on requires packages to be installed right now
-        if Ops.get_boolean(@argmap, "skip_installation", false) != true
-          Builtins.y2milestone("Selected resolvables will be installed now")
+      if (@ret == :accept || @ret == :ok) && (Ops.get_boolean(@argmap, 
"skip_installation", false) != true)
+        Builtins.y2milestone("Selected resolvables will be installed now")
 
-          if WFM.CallFunction(
-            "inst_rpmcopy",
-            [GetInstArgs.Buttons(false, false)]
-          ) == :abort
-            @dialog_ret = :abort
-          else
-            Kernel.InformAboutKernelChange
-            Builtins.y2milestone("Done")
-          end
+        if WFM.CallFunction(
+          "inst_rpmcopy",
+          [GetInstArgs.Buttons(false, false)]
+        ) == :abort
+          @dialog_ret = :abort
+        else
+          Kernel.InformAboutKernelChange
+          Builtins.y2milestone("Done")
         end
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/src/clients/vendor.rb 
new/yast2-add-on-5.0.2/src/clients/vendor.rb
--- old/yast2-add-on-5.0.0/src/clients/vendor.rb        2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/clients/vendor.rb        2026-07-21 
09:25:00.000000000 +0200
@@ -92,18 +92,16 @@
       @update_dir = Convert.to_string(
         SCR.Read(path(".target.string"), ["/var/lib/YaST2/vendor_update", ""])
       )
-      if @update_dir != ""
-        @cdpath = Ops.add(@cdpath, @update_dir)
-      else
+      if @update_dir == ""
         Pkg.TargetInit(Installation.destdir, false)
 
         base = Y2Packager::Resolvable.find(kind:     :product,
-                                           status:   :installed,
-                                           category: "base")
+          status:   :installed,
+          category: "base")
         if base.empty?
           # fallback
           base = Y2Packager::Resolvable.find(kind:   :product,
-                                             status: :installed)
+            status: :installed)
         end
         version = base[0] ? base[0].version_version : ""
 
@@ -137,6 +135,8 @@
           Ops.add(Ops.add(Ops.add(@cdpath, "/suse/"), Arch.architecture), "-"),
           version
         )
+      else
+        @cdpath = Ops.add(@cdpath, @update_dir)
       end
 
       Builtins.y2milestone("Trying %1", @cdpath)
@@ -227,29 +227,27 @@
           )
         end
         # show contents
-        if Ops.greater_than(Builtins.size(description), 0)
-          if Popup.YesNo(description)
-            # VENDOR: dialog heading
-            Wizard.SetContents(
-              @title,
-              HVCenter(Label(_("Installing driver..."))),
-              "",
-              true,
-              true
-            )
-            inst_result = run_inst(@cdpath, Ops.add(fname, ".inst"))
-            if inst_result == 0
-              @inst_count = Ops.add(@inst_count, 1)
-            else
-              # VENDOR: popup if installation of driver failed
-              Popup.Message(
-                _(
-                  "The installation failed.\nContact the address on the 
CD-ROM.\n"
-                )
+        if Ops.greater_than(Builtins.size(description), 0) && 
Popup.YesNo(description)
+          # VENDOR: dialog heading
+          Wizard.SetContents(
+            @title,
+            HVCenter(Label(_("Installing driver..."))),
+            "",
+            true,
+            true
+          )
+          inst_result = run_inst(@cdpath, Ops.add(fname, ".inst"))
+          if inst_result == 0
+            @inst_count = Ops.add(@inst_count, 1)
+          else
+            # VENDOR: popup if installation of driver failed
+            Popup.Message(
+              _(
+                "The installation failed.\nContact the address on the 
CD-ROM.\n"
               )
-            end
-            Wizard.SetContents(@title, Empty(), "", true, true)
+            )
           end
+          Wizard.SetContents(@title, Empty(), "", true, true)
         end
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-add-on-5.0.0/src/include/add-on/add-on-workflow.rb 
new/yast2-add-on-5.0.2/src/include/add-on/add-on-workflow.rb
--- old/yast2-add-on-5.0.0/src/include/add-on/add-on-workflow.rb        
2023-10-18 23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/include/add-on/add-on-workflow.rb        
2026-07-21 09:25:00.000000000 +0200
@@ -55,8 +55,6 @@
       Yast.include include_target, "add-on/misc.rb"
 
       # Used for adding sources
-      @createResult = :again
-
       @new_addon_name = ""
 
       @product_infos = {}
@@ -279,8 +277,8 @@
       # help text
       help_text = _(
         "<p><big><b>Software Repository Selection</b></big><br>\n" \
-          "Multiple repositories were found on the selected medium.\n" \
-          "Select the repository to use.</p>\n"
+        "Multiple repositories were found on the selected medium.\n" \
+        "Select the repository to use.</p>\n"
       )
 
       contents = HBox(
@@ -317,12 +315,7 @@
         end
       end
 
-      if ret != :next
-        Builtins.foreach(SourceManager.newSources) do |src|
-          Builtins.y2milestone("Deleting source %1", src)
-          Pkg.SourceDelete(src)
-        end
-      else
+      if ret == :next
         Builtins.foreach(SourceManager.newSources) do |src|
           if src != selected
             Builtins.y2milestone("Deleting unused source %1", src)
@@ -335,6 +328,11 @@
 
         AddOnProduct.src_id = selected
         SourceManager.newSources = [selected]
+      else
+        Builtins.foreach(SourceManager.newSources) do |src|
+          Builtins.y2milestone("Deleting source %1", src)
+          Pkg.SourceDelete(src)
+        end
       end
 
       AddOnProduct.last_ret = ret
@@ -364,7 +362,7 @@
         # Product is not available (either `installed or `selected or ...)
         if product.status != :available
           log.info("Skipping product #{product.name} with status " \
-            "#{product.status}")
+                   "#{product.status}")
           next
         end
 
@@ -537,7 +535,9 @@
         AddOnProduct.add_on_products = Builtins.add(
           AddOnProduct.add_on_products,
           "media"            => AddOnProduct.src_id,
-          "product"          => if [nil, ""].include?(@new_addon_name) != ""
+          "product"          => if [nil, ""].include?(@new_addon_name) == ""
+                                  @new_addon_name
+                                else
                                   Ops.get_string(
                                     prod,
                                     "display_name",
@@ -547,8 +547,6 @@
                                       Ops.get_string(prod, "name", "")
                                     )
                                   )
-                                else
-                                  @new_addon_name
                                 end,
           "autoyast_product" => Ops.get_string(prod, "name", ""),
           "media_url"        => url,
@@ -590,8 +588,8 @@
       # help text
       help_text = _(
         "<p><b><big>Product Selection</big></b><br/>\n" \
-          "Multiple products were found in the repository. Select the 
products\n" \
-          "to install.</p>\n"
+        "Multiple products were found in the repository. Select the 
products\n" \
+        "to install.</p>\n"
       )
       Wizard.SetContents(title, contents, help_text, true, true)
       while ret.nil?
@@ -750,9 +748,9 @@
       # Help for add-on products
       help = _(
         "<p><big><b>Add-On Product Installation</b></big><br/>\n" \
-          "Here see all add-on products that are selected for installation.\n" 
\
-          "To add a new product, click <b>Add</b>. To remove an already added 
one,\n" \
-          "select it and click <b>Delete</b>.</p>"
+        "Here see all add-on products that are selected for installation.\n" \
+        "To add a new product, click <b>Add</b>. To remove an already added 
one,\n" \
+        "select it and click <b>Delete</b>.</p>"
       )
 
       Builtins.y2milestone("Current products: %1", 
AddOnProduct.add_on_products)
@@ -894,14 +892,12 @@
       # It might be dangerous to add more installation sources in installation
       # on machine with less memory
       # Do not report when some add-ons are already in use
-      if not_enough_memory && !no_addons
-        if !ContinueIfInsufficientMemory()
-          # next time, it will be skipped too
-          Installation.add_on_selected = false
-          Installation.productsources_selected = false
+      if not_enough_memory && !no_addons && !ContinueIfInsufficientMemory()
+        # next time, it will be skipped too
+        Installation.add_on_selected = false
+        Installation.productsources_selected = false
 
-          return :next
-        end
+        return :next
       end
 
       # FATE #301928 - Saving one click
@@ -927,7 +923,7 @@
 
       # added / removed
       some_addon_changed = false
-      begin
+      loop do
         # FATE #301928 - Saving one click
         ret = Convert.to_symbol(UI.UserInput) unless ret == :skip_to_add
 
@@ -1004,10 +1000,12 @@
 
           if ret2 == :next
             # FIXME: can be these two iterations joined?
+            # rubocop:disable Style/CombinableLoops
             # Add-On product has been added, integrate it (change workflow, 
use y2update)
             @added_repos.each { |src_id| AddOnProduct.Integrate(src_id) }
             # check whether it requests registration (FATE #301312)
             @added_repos.each { |src_id| 
AddOnProduct.PrepareForRegistration(src_id) }
+            # rubocop:enable Style/CombinableLoops
 
             some_addon_changed = true
             # do not keep first_time, otherwise summary won't be shown during 
installation
@@ -1048,7 +1046,8 @@
             ret = :next if ret2 == :skip
           end
         end
-      end until [:next, :back, :abort].include?(ret)
+        break if [:next, :back, :abort].include?(ret)
+      end
 
       Builtins.y2milestone(
         "Ret: %1, Some Add-on Added/Removed: %2",
@@ -1062,9 +1061,9 @@
 
       # First stage installation, #247892
       # installation, update or autoinstallation
-      if Stage.initial
+      if Stage.initial && some_addon_changed
         # bugzilla #221377
-        AddOnProduct.ReIntegrateFromScratch if some_addon_changed
+        AddOnProduct.ReIntegrateFromScratch
       end
 
       # bugzilla #293428
@@ -1309,10 +1308,10 @@
         repository_info = (
           one_product_ref = arg_ref(one_product)
           all_products_ref = arg_ref(all_products)
-          _GetRepoInfo_result = GetRepoInfo(one_product_ref, all_products_ref)
+          result = GetRepoInfo(one_product_ref, all_products_ref)
           one_product = one_product_ref.value
           all_products = all_products_ref.value
-          _GetRepoInfo_result
+          result
         )
         Ops.set(
           @product_infos,
@@ -1452,9 +1451,9 @@
         Builtins.sformat(
           _(
             "Deleting the add-on product %1 may result in removing all the 
packages\n" \
-              "installed from this add-on.\n" \
-              "\n" \
-              "Are sure you want to delete it?"
+            "installed from this add-on.\n" \
+            "\n" \
+            "Are sure you want to delete it?"
           ),
           product_name
         ),
@@ -1811,7 +1810,11 @@
         log.info("Added source ID: #{source}")
       end
 
-      if !@added_repos.empty?
+      if @added_repos.empty?
+        # TODO: can this situation actually happen?
+        @added_repos << sources_after.last
+        log.warn("Fallback src_id: #{sources_after.last}")
+      else
         # rename the repository to the product name if user left the name 
field empty
         if SourceDialogs.GetRepoName.empty?
           # first set the fallback name for the added repository because the
@@ -1834,10 +1837,6 @@
           # used add-ons are stored in a special list
           AddAddOnToStore(src_id)
         end
-      else
-        # TODO: can this situation actually happen?
-        @added_repos << sources_after.last
-        log.warn("Fallback src_id: #{sources_after.last}")
       end
 
       # BNC #441380
@@ -1900,7 +1899,7 @@
         require "registration/registration"
         !Registration::Registration.is_registered?
       rescue LoadError
-        return false
+        false
       end
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/src/include/add-on/misc.rb 
new/yast2-add-on-5.0.2/src/include/add-on/misc.rb
--- old/yast2-add-on-5.0.0/src/include/add-on/misc.rb   2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/include/add-on/misc.rb   2026-07-21 
09:25:00.000000000 +0200
@@ -70,10 +70,10 @@
           # TRANSLATORS: pop-up question
           _(
             "Your system does not seem to have enough memory to use add-on 
products\n" \
-              "during installation. You can enable add-on products later when 
the\n" \
-              "system is running.\n" \
-              "\n" \
-              "Do you want to skip using add-on products?"
+            "during installation. You can enable add-on products later when 
the\n" \
+            "system is running.\n" \
+            "\n" \
+            "Do you want to skip using add-on products?"
           )
         )
           Builtins.y2milestone("User decided to skip Add-Ons")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-add-on-5.0.0/src/lib/add-on/clients/add-on_auto.rb 
new/yast2-add-on-5.0.2/src/lib/add-on/clients/add-on_auto.rb
--- old/yast2-add-on-5.0.0/src/lib/add-on/clients/add-on_auto.rb        
2023-10-18 23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/src/lib/add-on/clients/add-on_auto.rb        
2026-07-21 09:25:00.000000000 +0200
@@ -92,16 +92,16 @@
 
         add_on_summary = []
         # TRANSLATORS: %s is an add-on URL
-        add_on_summary << _("URL: %s") % 
CGI.escapeHTML(stripped_media_url(add_on))
+        add_on_summary << (_("URL: %s") % 
CGI.escapeHTML(stripped_media_url(add_on)))
 
         if [nil, "", "/"].none?(product_dir)
           # TRANSLATORS: %s is a product path
-          add_on_summary << _("Path: %s") % CGI.escapeHTML(product_dir)
+          add_on_summary << (_("Path: %s") % CGI.escapeHTML(product_dir))
         end
 
         if !(product.nil? || product.empty?)
           # TRANSLATORS: %s is the product
-          add_on_summary << _("Product: %s") % CGI.escapeHTML(product)
+          add_on_summary << (_("Product: %s") % CGI.escapeHTML(product))
         end
 
         "<li>#{add_on_summary.join(", ")}</li>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/test/add-on-workflow_test.rb 
new/yast2-add-on-5.0.2/test/add-on-workflow_test.rb
--- old/yast2-add-on-5.0.0/test/add-on-workflow_test.rb 2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/test/add-on-workflow_test.rb 2026-07-21 
09:25:00.000000000 +0200
@@ -2,7 +2,7 @@
 
 require_relative "./test_helper"
 
-require_relative "../src/include/add-on/add-on-workflow.rb"
+require_relative "../src/include/add-on/add-on-workflow"
 
 Yast.import "AddOnProduct"
 Yast.import "SourceDialogs"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-add-on-5.0.0/test/addon_others_test.rb 
new/yast2-add-on-5.0.2/test/addon_others_test.rb
--- old/yast2-add-on-5.0.0/test/addon_others_test.rb    2023-10-18 
23:13:56.000000000 +0200
+++ new/yast2-add-on-5.0.2/test/addon_others_test.rb    2026-07-21 
09:25:00.000000000 +0200
@@ -8,7 +8,7 @@
 
   let(:available_products) do
     [Y2Packager::Resolvable.new(kind: :product,
-        name: "SLE_RT", status: :available, source: 2),
+      name: "SLE_RT", status: :available, source: 2),
      Y2Packager::Resolvable.new(kind: :product,
        name: "SLE_HPC", status: :available, source: 2),
      Y2Packager::Resolvable.new(kind: :product,
@@ -35,7 +35,7 @@
 
   let(:installed_products) do
     [Y2Packager::Resolvable.new(kind: :product,
-        name: "sle-module-desktop-applications", status: :installed, source: 
-1),
+      name: "sle-module-desktop-applications", status: :installed, source: -1),
      Y2Packager::Resolvable.new(kind: :product,
        name: "sle-module-basesystem", status: :installed, source: -1),
      Y2Packager::Resolvable.new(kind: :product,

Reply via email to