Hello community,

here is the log from the commit of package yast2-packager for openSUSE:Factory 
checked in at 2020-07-21 15:46:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-packager.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Tue Jul 21 15:46:15 2020 rev:398 rq:821107 version:4.3.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes    
2020-07-15 11:18:24.273203699 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new.3592/yast2-packager.changes  
2020-07-21 15:48:13.628135199 +0200
@@ -1,0 +2,6 @@
+Tue Jul 14 10:41:22 CEST 2020 - [email protected]
+
+- Handle variable expansion in repository name (bsc#1172477)
+- 4.3.4
+
+-------------------------------------------------------------------
@@ -2279 +2285 @@
-- Fix preffering DVD during installation (bnc#865819,bnc#780617)
+- Fix preferring DVD during installation (bnc#865819,bnc#780617)

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

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

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

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.2OUCaR/_old  2020-07-21 15:48:16.488138734 +0200
+++ /var/tmp/diff_new_pack.2OUCaR/_new  2020-07-21 15:48:16.492138740 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.3.3
+Version:        4.3.4
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -38,16 +38,16 @@
 #!BuildIgnore: yast2-packager
 # Y2Packager::Repositories
 BuildRequires:  yast2 >= 4.2.60
-# Pkg::Resolvables
-BuildRequires:  yast2-pkg-bindings >= 4.2.0
+# raw_name
+BuildRequires:  yast2-pkg-bindings >= 4.2.8
 # Augeas lenses
 BuildRequires:  augeas-lenses
 BuildRequires:  ruby-solv
 
 # Newly added RPM
 Requires:       yast2-country-data >= 2.16.3
-# Pkg::Resolvables
-Requires:       yast2-pkg-bindings >= 4.2.0
+# raw_name
+Requires:       yast2-pkg-bindings >= 4.2.8
 # Y2Packager::Repositories
 Requires:       yast2 >= 4.2.60
 # unzipping license file

++++++ yast2-packager-4.3.3.tar.bz2 -> yast2-packager-4.3.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.3/package/yast2-packager.changes 
new/yast2-packager-4.3.4/package/yast2-packager.changes
--- old/yast2-packager-4.3.3/package/yast2-packager.changes     2020-07-13 
10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/package/yast2-packager.changes     2020-07-15 
16:06:57.000000000 +0200
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Tue Jul 14 10:41:22 CEST 2020 - [email protected]
+
+- Handle variable expansion in repository name (bsc#1172477)
+- 4.3.4
+
+-------------------------------------------------------------------
 Mon Jul 13 07:59:58 UTC 2020 - Ladislav Slezák <[email protected]>
 
 - Improve medium type detection, do not report Online medium
@@ -2276,7 +2282,7 @@
 -------------------------------------------------------------------
 Fri May 16 12:31:52 UTC 2014 - [email protected]
 
-- Fix preffering DVD during installation (bnc#865819,bnc#780617)
+- Fix preferring DVD during installation (bnc#865819,bnc#780617)
 - 3.1.17
 
 -------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.3/package/yast2-packager.spec 
new/yast2-packager-4.3.4/package/yast2-packager.spec
--- old/yast2-packager-4.3.3/package/yast2-packager.spec        2020-07-13 
10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/package/yast2-packager.spec        2020-07-15 
16:06:57.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.3.3
+Version:        4.3.4
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -38,16 +38,16 @@
 #!BuildIgnore: yast2-packager
 # Y2Packager::Repositories
 BuildRequires:  yast2 >= 4.2.60
-# Pkg::Resolvables
-BuildRequires:  yast2-pkg-bindings >= 4.2.0
+# raw_name
+BuildRequires:  yast2-pkg-bindings >= 4.2.8
 # Augeas lenses
 BuildRequires:  augeas-lenses
 BuildRequires:  ruby-solv
 
 # Newly added RPM
 Requires:       yast2-country-data >= 2.16.3
-# Pkg::Resolvables
-Requires:       yast2-pkg-bindings >= 4.2.0
+# raw_name
+Requires:       yast2-pkg-bindings >= 4.2.8
 # Y2Packager::Repositories
 Requires:       yast2 >= 4.2.60
 # unzipping license file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.3.3/src/include/packager/repositories_include.rb 
new/yast2-packager-4.3.4/src/include/packager/repositories_include.rb
--- old/yast2-packager-4.3.3/src/include/packager/repositories_include.rb       
2020-07-13 10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/src/include/packager/repositories_include.rb       
2020-07-15 16:06:57.000000000 +0200
@@ -47,8 +47,8 @@
     # @param plaindir [Boolean] true to use "PlainDir" format (no repository
     #   metadata present at the URL)
     # @param download [Boolean] whether to refresh the repository or not
-    # @param preffered_name [String] (optional) preferred repository name, use
-    #   empty string "" to generate the name
+    # @param preferred_name [String] (optional) preferred repository raw_name, 
use
+    #   empty string "" to generate the raw_name
     # @param force_alias [String] alias for the new repository, if a repository
     #   with this alias already exists then it is overwritten, use empty 
string ""
     #   to generate an unique alias
@@ -62,9 +62,9 @@
     #   TODO: abort is problematic as abort is used to abort installation, for 
license
     #         should be own symbol. Now abort in addon view in upgrade 
proposal ask for abort
     #         properly, but then just go back to proposal instead of full 
abort.
-    def createSourceImpl(url, plaindir, download, preffered_name, force_alias)
+    def createSourceImpl(url, plaindir, download, preferred_name, force_alias)
       log.info("createSource: #{URL.HidePassword(url)}, plaindir: 
#{plaindir}," \
-        "download: #{download}, name: #{preffered_name}, force_alias: 
#{force_alias}")
+        "download: #{download}, preferred_name: #{preferred_name}, 
force_alias: #{force_alias}")
 
       if url.nil? || url.empty?
         Builtins.y2error(-1, "Empty URL! Backtrace:")
@@ -95,7 +95,7 @@
       # create a new service if a service is detected at the URL
       if ![nil, "NONE"].include?(service_type)
         Builtins.y2milestone("Adding a service of type %1...", service_type)
-        add_service(url, preffered_name)
+        add_service(url, preferred_name)
         return :ok
       end
 
@@ -123,7 +123,7 @@
       found_products.each do |product|
         next if enter_again
 
-        name = (!preffered_name.nil? && preffered_name != "") ? preffered_name 
: product.name
+        name = (!preferred_name.nil? && preferred_name != "") ? preferred_name 
: product.name
         # probe repository type (do not probe plaindir repo)
         repo_type = plaindir ? PLAINDIR_TYPE : 
Pkg.RepositoryProbe(expanded_url, product.dir)
         log.info("Repository type (#{URL.HidePassword(url)},#{product.dir}): 
#{repo_type}")
@@ -146,12 +146,12 @@
         alias_name = (force_alias == "") ? propose_alias(product.name) : 
force_alias
 
         # map with repository parameters: $[ "enabled" : boolean,
-        # "autorefresh" : boolean, "name" : string, "alias" : string,
+        # "autorefresh" : boolean, "raw_name" : string, "alias" : string,
         # "base_urls" : list<string>, "prod_dir" : string, "type" : string ]
         repo_prop = {
           "enabled"     => true,
           "autorefresh" => autorefresh_for?(url),
-          "name"        => name,
+          "raw_name"    => name,
           "prod_dir"    => product.dir,
           "alias"       => alias_name,
           "base_urls"   => [url],
@@ -196,13 +196,14 @@
             Pkg.SourceDelete(id)
           else
             src_data = Pkg.SourceGeneralData(id)
-            log.info("Addded repository: #{src_data}")
+            log.info("Added repository: #{src_data}")
 
             sourceState = {
               "SrcId"       => id,
               "enabled"     => src_data["enabled"],
               "autorefresh" => src_data["autorefresh"],
               "name"        => src_data["name"],
+              "raw_name"    => src_data["raw_name"],
               "do_refresh"  => download
             }
             @sourceStatesOut << sourceState
@@ -212,20 +213,20 @@
         :ok
       end
     ensure
-      # relese (unmount) the medium
+      # release (unmount) the medium
       Pkg.SourceReleaseAll
     end
 
     # start createSource() function in extra wizard dialog
-    def createSource(url, plaindir, download, preffered_name)
-      createSourceWithAlias(url, plaindir, download, preffered_name, "")
+    def createSource(url, plaindir, download, preferred_name)
+      createSourceWithAlias(url, plaindir, download, preferred_name, "")
     end
 
     # create source with alias
     # *IMPORTANT*: make sure the alias is unique!! Otherwise the repo will be 
overwritten!!
-    def createSourceWithAlias(url, plaindir, download, preffered_name, 
alias_name)
+    def createSourceWithAlias(url, plaindir, download, preferred_name, 
alias_name)
       Wizard.CreateDialog
-      ret = createSourceImpl(url, plaindir, download, preffered_name, 
alias_name)
+      ret = createSourceImpl(url, plaindir, download, preferred_name, 
alias_name)
       Wizard.CloseDialog
       ret
     end
@@ -440,8 +441,8 @@
 
     # Add a new repository service.
     # @param url [String] service URL
-    # @param preffered_name [String] service name, empty string means generate 
it
-    def add_service(url, preffered_name)
+    # @param preferred_name [String] service name, empty string means generate 
it
+    def add_service(url, preferred_name)
       # all current aliases
       aliases = @serviceStatesOut.map { |s| s["alias"] }
 
@@ -455,13 +456,13 @@
       end
 
       # use alias as the name if it's missing
-      preffered_name = alias_name if preffered_name.nil? || preffered_name == 
""
+      preferred_name = alias_name if preferred_name.nil? || preferred_name == 
""
 
       new_service = {
         "alias"       => alias_name,
         "autorefresh" => autorefresh_for?(url),
         "enabled"     => true,
-        "name"        => preffered_name,
+        "raw_name"    => preferred_name,
         "url"         => url
       }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.3.3/src/lib/packager/clients/repositories.rb 
new/yast2-packager-4.3.4/src/lib/packager/clients/repositories.rb
--- old/yast2-packager-4.3.3/src/lib/packager/clients/repositories.rb   
2020-07-13 10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/src/lib/packager/clients/repositories.rb   
2020-07-15 16:06:57.000000000 +0200
@@ -294,6 +294,7 @@
         "enabled"      => Ops.get_boolean(source, "enabled", true),
         "autorefresh"  => Ops.get_boolean(source, "autorefresh", true),
         "name"         => Ops.get_locale(source, "name", _("Unknown Name")),
+        "raw_name"     => source.fetch("raw_name", _("Unknown Name")),
         "url"          => Ops.get_string(generalData, "url", ""),
         "raw_url"      => Ops.get_string(generalData, "raw_url", ""),
         "type"         => Ops.get_string(generalData, "type", ""),
@@ -321,7 +322,7 @@
 
       itemList = repo_mode ? deep_copy(@sourceStatesOut) : 
deep_copy(@serviceStatesOut)
 
-      # displaye only repositories from the selected service
+      # display only repositories from the selected service
       itemList = ReposFromService(service_name, itemList) if repo_mode && 
service_name != ""
 
       numItems = Builtins.size(itemList)
@@ -343,6 +344,8 @@
     end
 
     def repoInfoRichText(name, category, info)
+      raw_name = info["raw_name"]
+
       url = info["url"]
       raw_url = info["raw_url"]
 
@@ -352,6 +355,10 @@
       icon = ["cd", "dvd", "iso"].include?(schema) ? "yast-cd_update" : 
"yast-http-server"
       icon_tag = "<IMG HEIGHT=\"22\" SRC=\"#{icon}\">&nbsp;&nbsp;&nbsp;"
 
+      # TRANSLATORS: the raw name is the original repository name with 
unexpanded variables
+      # like "$releasever"
+      name_string = (name != raw_name) ? _("Raw name: %s") % raw_name + "<BR>" 
: ""
+
       url = _("Unknown") if url == ""
       raw_url = _("Unknown") if raw_url == ""
 
@@ -364,9 +371,10 @@
       end
 
       Builtins.sformat(
-        "<P>%1<B><BIG>%2</BIG></B></P><P>%3<BR>%4</P>",
+        "<P>%1<B><BIG>%2</BIG></B></P><P>%3%4<BR>%5</P>",
         icon_tag,
         name,
+        name_string,
         url_string,
         category
       )
@@ -1783,7 +1791,8 @@
       old_url = url2
       plaindir = Ops.get_string(generalData, "type", "YaST") == @plaindir_type
 
-      SourceDialogs.SetRepoName(Ops.get_string(source_state, "name", ""))
+      SourceDialogs.SetRepoName(source_state.fetch("raw_name", ""))
+
       begin
         url2 = SourceDialogs.EditPopupType(url2, plaindir)
 
@@ -1901,12 +1910,11 @@
               # remove the duplicate at the end
               @sourceStatesOut = Builtins.remove(@sourceStatesOut, idx)
 
+              new_raw_name = addedSource.fetch("raw_name", "")
+              new_name = Yast::Pkg.ExpandedName(new_raw_name)
+
               # refresh only the name and URL in the table
-              UI.ChangeWidget(
-                Id(:table),
-                Cell(global_current, 3),
-                Ops.get_string(addedSource, "name", "")
-              )
+              UI.ChangeWidget(Id(:table), Cell(global_current, 3), new_name)
               UI.ChangeWidget(Id(:table), Cell(global_current, 5), url2)
 
               fillCurrentRepoInfo
@@ -1917,19 +1925,18 @@
             "URL is the same, not recreating the source"
           )
 
-          new_name = SourceDialogs.GetRepoName
-          if new_name != Ops.get_string(source_state, "name", "")
+          new_raw_name = SourceDialogs.GetRepoName
+          if new_raw_name != source_state.fetch("raw_name", "")
             warn_service_repository(source_state)
 
-            Ops.set(source_state, "name", new_name)
-            Ops.set(@sourceStatesOut, global_current, source_state)
+            new_name = Yast::Pkg.ExpandedName(new_raw_name)
+
+            source_state["name"] = new_name
+            source_state["raw_name"] = new_raw_name
+            @sourceStatesOut[global_current] = source_state
 
             # update only the name cell in the table
-            UI.ChangeWidget(
-              Id(:table),
-              Cell(global_current, 3),
-              new_name
-            )
+            UI.ChangeWidget(Id(:table), Cell(global_current, 3), new_name)
 
             fillCurrentRepoInfo
           else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.3.3/src/modules/SourceDialogs.rb 
new/yast2-packager-4.3.4/src/modules/SourceDialogs.rb
--- old/yast2-packager-4.3.3/src/modules/SourceDialogs.rb       2020-07-13 
10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/src/modules/SourceDialogs.rb       2020-07-15 
16:06:57.000000000 +0200
@@ -7,7 +7,7 @@
 
 # Yast namespace
 module Yast
-  # Displays possibilities to install from NFS, CD or partion
+  # Displays possibilities to install from NFS, CD or partition
   class SourceDialogsClass < Module
     # to use N_ in the class constant
     extend Yast::I18n
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.3.3/test/repositories_include_test.rb 
new/yast2-packager-4.3.4/test/repositories_include_test.rb
--- old/yast2-packager-4.3.3/test/repositories_include_test.rb  2020-07-13 
10:59:45.000000000 +0200
+++ new/yast2-packager-4.3.4/test/repositories_include_test.rb  2020-07-15 
16:06:57.000000000 +0200
@@ -47,7 +47,7 @@
     let(:url) { "cd://" }
     let(:plaindir) { false }
     let(:download) { false }
-    let(:preffered_name) { "" }
+    let(:preferred_name) { "" }
     let(:repo_id) { 42 }
 
     before do
@@ -70,7 +70,7 @@
     end
 
     it "returns :again symbol when URL is empty" do
-      ret = RepositoryIncludeTester.createSource("", plaindir, download, 
preffered_name)
+      ret = RepositoryIncludeTester.createSource("", plaindir, download, 
preferred_name)
       expect(ret).to eq(:again)
     end
 
@@ -81,13 +81,13 @@
       end
 
       it "returns :again symbol" do
-        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
         expect(ret).to eq(:again)
       end
 
       it "displays an error popup" do
         expect(Yast::Report).to receive(:Error).with(/Invalid URL/)
-        RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
       end
     end
 
@@ -102,7 +102,7 @@
         end
 
         it "returns :again symbol" do
-          result = RepositoryIncludeTester.createSource(url, plaindir, 
download, preffered_name)
+          result = RepositoryIncludeTester.createSource(url, plaindir, 
download, preferred_name)
 
           expect(result).to eq(:again)
         end
@@ -114,7 +114,7 @@
         end
 
         it "returns :next symbol" do
-          result = RepositoryIncludeTester.createSource(url, plaindir, 
download, preffered_name)
+          result = RepositoryIncludeTester.createSource(url, plaindir, 
download, preferred_name)
 
           expect(result).to eq(:next)
         end
@@ -124,7 +124,7 @@
     it "creates the repository" do
       repo_props = { "enabled"     => true,
                      "autorefresh" => false,
-                     "name"        => "Repository",
+                     "raw_name"    => "Repository",
                      "prod_dir"    => "/",
                      "alias"       => "Repository",
                      "base_urls"   => ["cd://"],
@@ -133,11 +133,11 @@
       expect(Yast::Pkg).to 
receive(:RepositoryAdd).with(repo_props).and_return(repo_id)
       expect(Yast::Pkg).to_not receive(:SourceDelete)
 
-      RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+      RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
     end
 
     it "returns :ok symbol on success" do
-      ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+      ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
       expect(ret).to eq(:ok)
     end
 
@@ -146,7 +146,7 @@
         .with(repo_id).and_return(false)
       expect(Yast::Pkg).to receive(:SourceDelete).with(repo_id)
 
-      RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+      RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
     end
 
     context "more products available on the medium" do
@@ -170,7 +170,7 @@
 
       it "displays a dialog for selecting the products to use" do
         expect_any_instance_of(Y2Packager::Dialogs::AddonSelector).to 
receive(:run)
-        RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
       end
 
       it "adds only the repositories for the selected products" do
@@ -180,7 +180,7 @@
           .and_return(selected_products)
         expect(Yast::Pkg).to receive(:RepositoryAdd)
           .with(hash_including("prod_dir" => product1[1]))
-        RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
       end
 
       it "returns :next if nothing is selected" do
@@ -188,14 +188,14 @@
           .and_return([])
         expect_any_instance_of(Y2Packager::Dialogs::AddonSelector).to 
receive(:run)
           .and_return(:next)
-        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
         expect(ret).to eq(:next)
       end
 
       it "returns :abort if product selection is aborted" do
         expect_any_instance_of(Y2Packager::Dialogs::AddonSelector).to 
receive(:run)
           .and_return(:abort)
-        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preffered_name)
+        ret = RepositoryIncludeTester.createSource(url, plaindir, download, 
preferred_name)
         expect(ret).to eq(:abort)
       end
     end


Reply via email to