Hello community,
here is the log from the commit of package yast2-packager for openSUSE:Factory checked in at 2019-10-03 14:06:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
and /work/SRC/openSUSE:Factory/.yast2-packager.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager"
Thu Oct 3 14:06:44 2019 rev:380 rq:734498 version:4.2.30
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes 2019-09-23 13:16:43.241112457 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new.2352/yast2-packager.changes 2019-10-03 14:06:51.472501839 +0200
@@ -1,0 +2,19 @@
+Tue Oct 1 17:13:42 UTC 2019 - Ladislav Slezák
+
+- Do not add an empty repository from the offline medium root
+ (jsc#SLE-7101)
+- 4.2.30
+
+-------------------------------------------------------------------
+Tue Oct 1 07:52:29 UTC 2019 - Ladislav Slezák
+
+- Small refactoring related to the offline medium (jsc#SLE-7101)
+- 4.2.29
+
+-------------------------------------------------------------------
+Fri Sep 27 15:21:37 UTC 2019 - Ladislav Slezák
+
+- Support for the offline installation medium (jsc#SLE-7101)
+- 4.2.28
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-4.2.27.tar.bz2
New:
----
yast2-packager-4.2.30.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.QrFvpx/_old 2019-10-03 14:06:52.252499833 +0200
+++ /var/tmp/diff_new_pack.QrFvpx/_new 2019-10-03 14:06:52.252499833 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 4.2.27
+Version: 4.2.30
Release: 0
Summary: YaST2 - Package Library
License: GPL-2.0-or-later
++++++ yast2-packager-4.2.27.tar.bz2 -> yast2-packager-4.2.30.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/package/yast2-packager.changes new/yast2-packager-4.2.30/package/yast2-packager.changes
--- old/yast2-packager-4.2.27/package/yast2-packager.changes 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/package/yast2-packager.changes 2019-10-02 10:27:03.000000000 +0200
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Tue Oct 1 17:13:42 UTC 2019 - Ladislav Slezák
+
+- Do not add an empty repository from the offline medium root
+ (jsc#SLE-7101)
+- 4.2.30
+
+-------------------------------------------------------------------
+Tue Oct 1 07:52:29 UTC 2019 - Ladislav Slezák
+
+- Small refactoring related to the offline medium (jsc#SLE-7101)
+- 4.2.29
+
+-------------------------------------------------------------------
+Fri Sep 27 15:21:37 UTC 2019 - Ladislav Slezák
+
+- Support for the offline installation medium (jsc#SLE-7101)
+- 4.2.28
+
+-------------------------------------------------------------------
Wed Sep 18 11:28:23 UTC 2019 - Ladislav Slezák
- Support for the online installation medium (jsc#SLE-7214)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/package/yast2-packager.spec new/yast2-packager-4.2.30/package/yast2-packager.spec
--- old/yast2-packager-4.2.27/package/yast2-packager.spec 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/package/yast2-packager.spec 2019-10-02 10:27:03.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 4.2.27
+Version: 4.2.30
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.2.27/src/lib/y2packager/clients/inst_product_license.rb new/yast2-packager-4.2.30/src/lib/y2packager/clients/inst_product_license.rb
--- old/yast2-packager-4.2.27/src/lib/y2packager/clients/inst_product_license.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/src/lib/y2packager/clients/inst_product_license.rb 2019-10-02 10:27:03.000000000 +0200
@@ -80,6 +80,10 @@
if Y2Packager::MediumType.online?
# in an online installation read the products from the control.xml
Y2Packager::ProductControlProduct.products.size > 1
+ elsif Y2Packager::MediumType.offline?
+ # the offline medium always contains several products, but they are
+ # in separate sub-repositories so we cannot see them in libzypp
+ true
else
# otherwise read the products from the medium
Y2Packager::Product.available_base_products.size > 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/src/lib/y2packager/dialogs/addon_selector.rb new/yast2-packager-4.2.30/src/lib/y2packager/dialogs/addon_selector.rb
--- old/yast2-packager-4.2.27/src/lib/y2packager/dialogs/addon_selector.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/src/lib/y2packager/dialogs/addon_selector.rb 2019-10-02 10:27:03.000000000 +0200
@@ -45,7 +45,7 @@
@products = products
# do not offer base products, they would conflict with the already selected base product,
# allow a hidden way to force displaying them in some special cases
- @products.reject! { |p| p.details&.base } if !ENV["Y2_DISPLAY_BASE_PRODUCTS"] == "1"
+ @products.reject! { |p| p.details&.base } if ENV["Y2_DISPLAY_BASE_PRODUCTS"] != "1"
@selected_products = []
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/src/lib/y2packager/product_location.rb new/yast2-packager-4.2.30/src/lib/y2packager/product_location.rb
--- old/yast2-packager-4.2.27/src/lib/y2packager/product_location.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/src/lib/y2packager/product_location.rb 2019-10-02 10:27:03.000000000 +0200
@@ -15,6 +15,7 @@
require "y2packager/repomd_downloader"
require "y2packager/solvable_pool"
require "y2packager/product_finder"
+require "y2packager/resolvable"
Yast.import "URL"
@@ -97,5 +98,23 @@
details.summary
end
+
+ alias_method :label, :summary
+
+ # Just forward to the details object to easily use the Y2Packager::PRODUCT_SORTER
+ # @return [Integer,nil] Product order, `nil` if not defined
+ def order
+ details&.order
+ end
+
+ # Is the product selected to install?
+ #
+ # @return [Boolean,nil] `true` if the product is selected to install, `false` otherwise,
+ # `nil` if the product name is not set
+ def selected?
+ return nil unless details
+
+ Y2Packager::Resolvable.any?(kind: :product, name: details.product, status: :selected)
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/src/modules/Packages.rb new/yast2-packager-4.2.30/src/modules/Packages.rb
--- old/yast2-packager-4.2.27/src/modules/Packages.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/src/modules/Packages.rb 2019-10-02 10:27:03.000000000 +0200
@@ -7,6 +7,7 @@
require "cgi"
require "shellwords"
+require "y2packager/medium_type"
require "y2packager/product_upgrade"
require "y2packager/resolvable"
@@ -1725,6 +1726,11 @@
if !meta_data_present?(base_url, product_dir)
log.info "Metadata not found at #{log_url}, postponing the repository initialization"
return
+ # TODO: the offline medium contains an empty repository in the root,
+ # that should be removed in the future, remove this workaround as well
+ elsif Y2Packager::MediumType.offline? && product_dir == "/"
+ log.info "Ignoring the root repository on the offline medium"
+ return
end
initial_repository = nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/test/lib/clients/inst_product_license_test.rb new/yast2-packager-4.2.30/test/lib/clients/inst_product_license_test.rb
--- old/yast2-packager-4.2.27/test/lib/clients/inst_product_license_test.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/test/lib/clients/inst_product_license_test.rb 2019-10-02 10:27:03.000000000 +0200
@@ -32,6 +32,7 @@
allow(Y2Packager::Product).to receive(:available_base_products).and_return(products)
allow(Yast::Mode).to receive(:auto).and_return(auto)
allow(Y2Packager::MediumType).to receive(:online?).and_return(false)
+ allow(Y2Packager::MediumType).to receive(:offline?).and_return(false)
stub_const("Yast::Language", language)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/test/lib/clients/inst_repositories_initialization_test.rb new/yast2-packager-4.2.30/test/lib/clients/inst_repositories_initialization_test.rb
--- old/yast2-packager-4.2.27/test/lib/clients/inst_repositories_initialization_test.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/test/lib/clients/inst_repositories_initialization_test.rb 2019-10-02 10:27:03.000000000 +0200
@@ -20,6 +20,7 @@
allow(Y2Packager::Product).to receive(:available_base_products).and_return(products)
allow(Y2Packager::SelfUpdateAddonRepo).to receive(:present?).and_return(false)
allow(Y2Packager::MediumType).to receive(:online?).and_return(false)
+ allow(Y2Packager::MediumType).to receive(:offline?).and_return(false)
end
it "initializes Packages subsystem" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-4.2.27/test/product_location_test.rb new/yast2-packager-4.2.30/test/product_location_test.rb
--- old/yast2-packager-4.2.27/test/product_location_test.rb 2019-09-20 11:36:49.000000000 +0200
+++ new/yast2-packager-4.2.30/test/product_location_test.rb 2019-10-02 10:27:03.000000000 +0200
@@ -119,4 +119,38 @@
end
end
end
+
+ describe "#label" do
+ subject { described_class.new("foo", "/dir/foo", product: product) }
+ let(:product) { instance_double(Y2Packager::ProductLocationDetails, summary: "summary") }
+
+ it "returns the summary content" do
+ expect(subject.label).to eq("summary")
+ end
+ end
+
+ describe "#selected?" do
+ subject { described_class.new("foo", "/dir/foo", product: product) }
+ let(:product) { instance_double(Y2Packager::ProductLocationDetails, product: "product") }
+
+ before do
+ expect(Y2Packager::Resolvable).to receive(:any?)
+ .with(kind: :product, name: "product", status: :selected)
+ .and_return(product_selected)
+ end
+
+ context "product selected" do
+ let(:product_selected) { true }
+ it "returns true" do
+ expect(subject.selected?).to eq(true)
+ end
+ end
+
+ context "product not selected" do
+ let(:product_selected) { false }
+ it "returns false" do
+ expect(subject.selected?).to eq(false)
+ end
+ end
+ end
end