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-11-23 22:10:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old) and /work/SRC/openSUSE:Factory/.yast2-packager.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager" Tue Nov 23 22:10:22 2021 rev:415 rq:932914 version:4.4.14 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes 2021-11-20 02:38:33.144896526 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-packager.new.1895/yast2-packager.changes 2021-11-23 22:12:35.314477449 +0100 @@ -1,0 +2,7 @@ +Mon Nov 22 08:22:46 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- Use consistent names for the Full medium repositories + (bsc#1191652) +- 4.4.14 + +------------------------------------------------------------------- Old: ---- yast2-packager-4.4.13.tar.bz2 New: ---- yast2-packager-4.4.14.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-packager.spec ++++++ --- /var/tmp/diff_new_pack.TWbnug/_old 2021-11-23 22:12:36.038475054 +0100 +++ /var/tmp/diff_new_pack.TWbnug/_new 2021-11-23 22:12:36.042475041 +0100 @@ -17,7 +17,7 @@ Name: yast2-packager -Version: 4.4.13 +Version: 4.4.14 Release: 0 Summary: YaST2 - Package Library License: GPL-2.0-or-later ++++++ yast2-packager-4.4.13.tar.bz2 -> yast2-packager-4.4.14.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.4.13/package/yast2-packager.changes new/yast2-packager-4.4.14/package/yast2-packager.changes --- old/yast2-packager-4.4.13/package/yast2-packager.changes 2021-11-15 13:50:11.000000000 +0100 +++ new/yast2-packager-4.4.14/package/yast2-packager.changes 2021-11-22 09:37:55.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Mon Nov 22 08:22:46 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> + +- Use consistent names for the Full medium repositories + (bsc#1191652) +- 4.4.14 + +------------------------------------------------------------------- Fri Nov 12 13:02:17 UTC 2021 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> - Introduce the product specification API (bsc#1192626): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.4.13/package/yast2-packager.spec new/yast2-packager-4.4.14/package/yast2-packager.spec --- old/yast2-packager-4.4.13/package/yast2-packager.spec 2021-11-15 13:50:11.000000000 +0100 +++ new/yast2-packager-4.4.14/package/yast2-packager.spec 2021-11-22 09:37:55.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-packager -Version: 4.4.13 +Version: 4.4.14 Release: 0 Summary: YaST2 - Package Library License: GPL-2.0-or-later diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.4.13/src/include/packager/repositories_include.rb new/yast2-packager-4.4.14/src/include/packager/repositories_include.rb --- old/yast2-packager-4.4.13/src/include/packager/repositories_include.rb 2021-11-15 13:50:11.000000000 +0100 +++ new/yast2-packager-4.4.14/src/include/packager/repositories_include.rb 2021-11-22 09:37:55.000000000 +0100 @@ -26,6 +26,7 @@ Yast.import "SourceDialogs" Yast.import "Report" Yast.import "Progress" + Yast.import "Packages" textdomain "packager" @@ -364,7 +365,7 @@ url_path = URL.Parse(original_url)["path"] p_elems = url_path.split("/") - fallback = _("Repository") + fallback = Packages.fallback_name if p_elems.size > 1 url_path = Ops.get( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.4.13/src/modules/Packages.rb new/yast2-packager-4.4.14/src/modules/Packages.rb --- old/yast2-packager-4.4.13/src/modules/Packages.rb 2021-11-15 13:50:11.000000000 +0100 +++ new/yast2-packager-4.4.14/src/modules/Packages.rb 2021-11-22 09:37:55.000000000 +0100 @@ -1515,6 +1515,20 @@ true end + # Fallback repository name + # @return [String] translated name + def fallback_name + _("Repository") + end + + # Is the repository name a fallback name? + # @param name [String] name of the repository + # @return [Boolean] true if it is a fallback name + def is_fallback_name?(name) + # to make the names unique a number might be appended at the end + name == fallback_name || name =~ /^#{Regexp.escape(fallback_name)}_\d+$/ + end + # Adjusts repository name according to a first product found on the media. # # @param [Fixnum] src_id repository ID @@ -1529,6 +1543,13 @@ return nil end + # change only the fallback name, otherwise the name already contains a product + repo_name = Pkg.SourceGeneralData(src_id)["raw_name"] + if !is_fallback_name?(repo_name) + log.info("Keeping repository name #{repo_name.inspect} unchanged") + return false + end + Builtins.y2milestone("Trying to get repository name from products") all_products = Y2Packager::Resolvable.find(kind: :product) new_name = nil @@ -1550,6 +1571,7 @@ sources_set = [] Builtins.foreach(sources_got) do |one_source| if Ops.get_integer(one_source, "SrcId", -1) == src_id + log.info("Updating repository name from \"#{repo_name}\" to \"#{new_name}\"") Ops.set(one_source, "raw_name", new_name) end sources_set = Builtins.add(sources_set, one_source) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.4.13/test/packages_test.rb new/yast2-packager-4.4.14/test/packages_test.rb --- old/yast2-packager-4.4.13/test/packages_test.rb 2021-11-15 13:50:11.000000000 +0100 +++ new/yast2-packager-4.4.14/test/packages_test.rb 2021-11-22 09:37:55.000000000 +0100 @@ -1867,4 +1867,83 @@ expect(subject.send(:check_missing_resolvables)).to eq(pattern: ["non-existing"]) end end + + describe "#AdjustSourcePropertiesAccordingToProduct" do + let(:repo_id) { 42 } + # shared part of the Pkg.SourceGeneralData response + let(:repo_partial_data) do + { + "alias" => "Basesystem-Module_15.3-0", + "autorefresh" => false, + "base_urls" => ["cd:///"], + "enabled" => true, + "is_update_repo" => false, + "keeppackages" => false, + "mirror_list" => "", + "priority" => 99, + "product_dir" => "/Module-Basesystem", + "raw_url" => "cd:///", + "service" => "", + "type" => "YUM", + "url" => "cd:///", + "valid_repo_signature" => true + } + end + + before do + allow(Yast::Pkg).to receive(:SourceGeneralData).with(repo_id).and_return(repo_data) + allow(Yast::Pkg).to receive(:SourceEditSet) + end + + context "the repository uses the fallback name" do + let(:repo_data) do + repo_partial_data.merge( + "name" => Yast::Packages.fallback_name, + "raw_name" => Yast::Packages.fallback_name + ) + end + + let(:product_name) { "SuperProduct!" } + + it "changes the repository name to the product name" do + expect(Y2Packager::Resolvable).to receive(:find).with(kind: :product) + .and_return([double("product", source: repo_id, name: product_name)]) + expect(Yast::Pkg).to receive(:SourceEditGet).and_return( + [ + "SrcId" => repo_id, + "autorefresh" => false, + "enabled" => true, + "keeppackages" => false, + "name" => Yast::Packages.fallback_name, + "priority" => 99, + "raw_name" => Yast::Packages.fallback_name, + "service" => "" + ] + ) + expect(Yast::Pkg).to receive(:SourceEditSet) do |list| + expect(list.first["raw_name"]).to eq(product_name) + end + + subject.AdjustSourcePropertiesAccordingToProduct(repo_id) + end + end + + context "the repository uses a product name" do + let(:repo_data) do + repo_partial_data.merge( + "name" => "Basesystem-Module 15.3-0", + "raw_name" => "Basesystem-Module 15.3-0" + ) + end + + it "does not change the repository name" do + expect(Yast::Pkg).to_not receive(:SourceEditSet) + subject.AdjustSourcePropertiesAccordingToProduct(repo_id) + end + + it "returns false" do + expect(subject.AdjustSourcePropertiesAccordingToProduct(repo_id)).to eq(false) + end + end + end end