Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2-metapackage-handler for
openSUSE:Factory checked in at 2022-04-14 17:24:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-metapackage-handler (Old)
and /work/SRC/openSUSE:Factory/.yast2-metapackage-handler.new.1941 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-metapackage-handler"
Thu Apr 14 17:24:55 2022 rev:56 rq:969678 version:4.5.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/yast2-metapackage-handler/yast2-metapackage-handler.changes
2021-05-20 19:23:14.722397634 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-metapackage-handler.new.1941/yast2-metapackage-handler.changes
2022-04-14 17:25:26.807262079 +0200
@@ -1,0 +2,5 @@
+Wed Apr 06 13:24:58 UTC 2022 - Ladislav Slez??k <[email protected]>
+
+- Bump version to 4.5.0 (bsc#1198109)
+
+-------------------------------------------------------------------
Old:
----
yast2-metapackage-handler-4.4.1.tar.bz2
New:
----
yast2-metapackage-handler-4.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-metapackage-handler.spec ++++++
--- /var/tmp/diff_new_pack.F7NUU1/_old 2022-04-14 17:25:27.231262575 +0200
+++ /var/tmp/diff_new_pack.F7NUU1/_new 2022-04-14 17:25:27.239262584 +0200
@@ -1,7 +1,7 @@
#
# spec file for package yast2-metapackage-handler
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# 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-metapackage-handler
-Version: 4.4.1
+Version: 4.5.0
Release: 0
Summary: YaST2 - Easy Installation of Add-on RPMs using Metapackages
License: GPL-2.0-or-later
++++++ yast2-metapackage-handler-4.4.1.tar.bz2 ->
yast2-metapackage-handler-4.5.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/.github/workflows/ci.yml
new/yast2-metapackage-handler-4.5.0/.github/workflows/ci.yml
--- old/yast2-metapackage-handler-4.4.1/.github/workflows/ci.yml
2021-05-19 17:21:29.000000000 +0200
+++ new/yast2-metapackage-handler-4.5.0/.github/workflows/ci.yml
2022-04-12 13:35:30.000000000 +0200
@@ -8,7 +8,14 @@
jobs:
Tests:
runs-on: ubuntu-latest
- container: registry.opensuse.org/yast/head/containers/yast-ruby:latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ distro: [ "tumbleweed", "leap_latest" ]
+
+ container:
+ image:
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
steps:
@@ -27,13 +34,22 @@
# 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 }}
Package:
runs-on: ubuntu-latest
- container: registry.opensuse.org/yast/head/containers/yast-ruby:latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ distro: [ "tumbleweed", "leap_latest" ]
+
+ container:
+ image:
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
steps:
@@ -45,7 +61,14 @@
Yardoc:
runs-on: ubuntu-latest
- container: registry.opensuse.org/yast/head/containers/yast-ruby:latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ distro: [ "leap_latest" ]
+
+ container:
+ image:
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
steps:
@@ -59,7 +82,14 @@
# checks into one job avoids that overhead
Checks:
runs-on: ubuntu-latest
- container: registry.opensuse.org/yast/head/containers/yast-ruby:latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ distro: [ "leap_latest" ]
+
+ container:
+ image:
registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/package/yast2-metapackage-handler.changes
new/yast2-metapackage-handler-4.5.0/package/yast2-metapackage-handler.changes
---
old/yast2-metapackage-handler-4.4.1/package/yast2-metapackage-handler.changes
2021-05-19 17:21:29.000000000 +0200
+++
new/yast2-metapackage-handler-4.5.0/package/yast2-metapackage-handler.changes
2022-04-12 13:35:30.000000000 +0200
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Wed Apr 06 13:24:58 UTC 2022 - Ladislav Slez??k <[email protected]>
+
+- Bump version to 4.5.0 (bsc#1198109)
+
+-------------------------------------------------------------------
Mon May 17 08:53:44 UTC 2021 - Dirk M??ller <[email protected]>
- only own the files, not the directories themselves (bsc#1184786)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/package/yast2-metapackage-handler.spec
new/yast2-metapackage-handler-4.5.0/package/yast2-metapackage-handler.spec
--- old/yast2-metapackage-handler-4.4.1/package/yast2-metapackage-handler.spec
2021-05-19 17:21:29.000000000 +0200
+++ new/yast2-metapackage-handler-4.5.0/package/yast2-metapackage-handler.spec
2022-04-12 13:35:30.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-metapackage-handler
-Version: 4.4.1
+Version: 4.5.0
Release: 0
Summary: YaST2 - Easy Installation of Add-on RPMs using Metapackages
License: GPL-2.0-or-later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/spec/OneClickInstallWorkerFunctions_spec.rb
new/yast2-metapackage-handler-4.5.0/spec/OneClickInstallWorkerFunctions_spec.rb
---
old/yast2-metapackage-handler-4.4.1/spec/OneClickInstallWorkerFunctions_spec.rb
2021-05-19 17:21:29.000000000 +0200
+++
new/yast2-metapackage-handler-4.5.0/spec/OneClickInstallWorkerFunctions_spec.rb
2022-04-12 13:35:30.000000000 +0200
@@ -117,4 +117,80 @@
end
end
end
+
+ describe '#InstallPackages' do
+ before do
+ allow(Yast::Pkg).to receive(:ResolvableInstallRepo).and_return(true)
+ end
+ context "when package depedencies are resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(true)
+ end
+ it "installs packages" do
+ expect(subject.InstallPackages("vim")).to be true
+ end
+ end
+ context "when package depedencies are not resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(false)
+ end
+ it "installs packages if package selection is accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:accept)
+ expect(subject.InstallPackages("vim")).to be true
+ end
+ it "does not install packages if package selection is not accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:cancel)
+ expect(subject.InstallPackages("vim")).to be false
+ end
+ end
+ end
+
+ describe '#InstallPatterns' do
+ context "when pattern depedencies are resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(true)
+ end
+ it "installs pattern" do
+ expect(subject.InstallPatterns("gnome")).to be true
+ end
+ end
+ context "when pattern depedencies are not resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(false)
+ end
+ it "installs pattern if package selection is accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:accept)
+ expect(subject.InstallPatterns("gnome")).to be true
+ end
+ it "does not install pattern if package selection is not accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:cancel)
+ expect(subject.InstallPatterns("gnome")).to be false
+ end
+ end
+ end
+
+ describe '#RemovePackages' do
+ context "when package depedensies are resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(true)
+ end
+ it "removes installed package" do
+ expect(subject.RemovePackages("vim")).to be true
+ end
+ end
+ context "when package depedencies are not resolved" do
+ before do
+ allow(Yast::Pkg).to receive(:PkgSolve).and_return(false)
+ end
+ it "removes installed packages if package selection is accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:accept)
+ expect(subject.RemovePackages("vim")).to be true
+ end
+ it "does not remove installed packages if package selection is not
accepted" do
+ allow(Yast::PackagesUI).to
receive(:RunPackageSelector).and_return(:cancel)
+ expect(subject.RemovePackages("vim")).to be false
+ end
+ end
+ end
+
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/spec/OneClickInstall_spec.rb
new/yast2-metapackage-handler-4.5.0/spec/OneClickInstall_spec.rb
--- old/yast2-metapackage-handler-4.4.1/spec/OneClickInstall_spec.rb
2021-05-19 17:21:29.000000000 +0200
+++ new/yast2-metapackage-handler-4.5.0/spec/OneClickInstall_spec.rb
2022-04-12 13:35:30.000000000 +0200
@@ -28,36 +28,172 @@
describe Yast::OneClickInstall do
let(:filepath) { File.join(DATA_PATH, "vim.ymp") }
let(:output) { "" }
+ let(:urls) { ["http://download.opensuse.org/tumbleweed/repo/oss/",
+ "http://download.opensuse.org/tumbleweed/repo/non-oss/"] }
+ let!(:repositories) { subject.instance_variable_set(:@repositories,
+ { urls[0] => { "name" =>
"oss" , "recommended" => "true" },
+ urls[1] => { "name" =>
"non-oss" , "recommended" => "false" }}) }
+ let!(:software) { subject.instance_variable_set(:@software,
+ { "vim" => { "recommended" =>
"true" , "action" => "install" , "type" => "package" },
+ "tftp" => { "recommended"
=> "false" , "action" => "install" , "type" => "package" },
+ "x11" => { "recommended" =>
"true" , "action" => "install" , "type" => "pattern" },
+ "sap_server" => {
"recommended" => "true" , "action" => "remove" , "type" => "pattern" }}) }
describe "#xml_from_file" do
- context "ymp file parsed" do
- it "parses the XML file" do
- doc = subject.xml_from_file(filepath)
- expect(doc).to be_instance_of(REXML::Document)
- doc.write(output)
- expect(output).to include("vim")
- end
+ it "parses the XML file" do
+ doc = subject.xml_from_file(filepath)
+ expect(doc).to be_instance_of(REXML::Document)
+ doc.write(output)
+ expect(output).to include("vim")
end
end
describe "#xpath_match" do
- context "matching node" do
- it "returns and array of elements, matching xpath" do
- doc = REXML::Document.new(File.read(filepath))
- expect(subject.xpath_match(doc, "metapackage//url").first.text).to
eq("http://download.opensuse.org/tumbleweed/repo/oss/")
- end
+ it "returns and array of elements, matching xpath" do
+ doc = REXML::Document.new(File.read(filepath))
+ expect(subject.xpath_match(doc, "metapackage//url").first.text).to
eq(urls[0])
end
end
describe "#SetRequiredRepository" do
- context "set repository to recommended" do
- it "Ensures that the repository with the specified URL is selected for
addition" do
- url = "http://download.opensuse.org/tumbleweed/repo/oss/"
- subject.instance_variable_set(:@repositories, { url => { "name" =>
"vim" , "recommended" => "false" }})
- subject.SetRequiredRepository(url)
- repos = subject.instance_variable_get(:@repositories)
- expect(repos[url]["name"]).to eql("vim")
- expect(repos[url]["recommended"]).to eql("true")
+ it "Ensures that the repository with the specified URL is selected for
addition" do
+ subject.instance_variable_set(:@repositories, { urls[0] => { "name" =>
"oss" , "recommended" => "false" }})
+ subject.SetRequiredRepository(urls[0])
+ repos = subject.instance_variable_get(:@repositories)
+ expect(repos[urls[0]]).to match_array( "name" => "oss" , "recommended"
=> "true" )
+ end
+ end
+
+ describe "#SetNonRequiredRepository" do
+ it "Ensures that the repository with the specified URL is not selected for
addition" do
+ subject.instance_variable_set(:@repositories, { urls[1] => { "name" =>
"non-oss" , "recommended" => "true" }})
+ subject.SetNonRequiredRepository(urls[1])
+ repos = subject.instance_variable_get(:@repositories)
+ expect(repos[urls[1]]["name"]).to eql("non-oss")
+ expect(repos[urls[1]]["recommended"]).to eql("false")
+ end
+ end
+
+ describe "#SetRequiredRepositories" do
+ it "Ensures that the repositories with the specified URL are selected for
addition" do
+ subject.SetRequiredRepositories(urls)
+ repos = subject.instance_variable_get(:@repositories)
+ expect(repos[urls[0]]).to match_array( "name" => "oss" , "recommended"
=> "true" )
+ expect(repos[urls[1]]).to match_array( "name" => "non-oss" ,
"recommended" => "true" )
+ end
+ end
+
+ describe "#GetRequiredRepositories" do
+ it "Returns a list of the URLs of the repositories currently selected for
addition" do
+ repos = subject.GetRequiredRepositories
+ expect(repos).to match_array([urls[0]])
+ end
+ end
+
+ describe "#GetNonRequiredRepositories" do
+ it "Returns a list of the URLs of the repositories currently not selected
for addition" do
+ repos = subject.GetNonRequiredRepositories
+ expect(repos).to match_array(urls[1])
+ end
+ end
+
+ describe "#GetRequiredSoftware" do
+ it "Returns a list of the names of the software currently selected for
installation" do
+ software_to_install = subject.GetRequiredSoftware
+ expect(software_to_install).to match_array(["vim" , "x11"])
+ end
+ end
+
+ describe "#GetRequiredRemoveSoftware" do
+ it "Returns a list of the names of the software currently selected for
removal" do
+ software_to_remove = subject.GetRequiredRemoveSoftware
+ expect(software_to_remove).to match_array(["sap_server"])
+ end
+ end
+
+ describe "#GetRequiredPackages" do
+ it "Returns a list of the names of the packages currently selected for
installation" do
+ packages_to_install = subject.GetRequiredPackages
+ expect(packages_to_install).to match_array(["vim"])
+ end
+ end
+
+ describe "#GetRequiredPatterns" do
+ it "Returns a list of the names of the patterns currently selected for
installation" do
+ patterns_to_install = subject.GetRequiredPatterns
+ expect(patterns_to_install).to match_array(["x11"])
+ end
+ end
+
+ describe "#HaveAnyRecommended" do
+ it "Returns boolean, depending on the existence of any recommended
repositories or software" do
+ any_recommended = subject.HaveAnyRecommended
+ expect(any_recommended).to be true
+ end
+ end
+
+ describe "#makeXMLFriendly" do
+ it "converts map structure (eg. @repositories) to a list of maps with a
key element" do
+ flattened = subject.makeXMLFriendly(software)
+ expect(flattened).to match_array([
+ {"recommended"=>"true", "action"=>"remove", "type"=>"pattern",
"key"=>"sap_server"},
+ {"recommended"=>"false", "action"=>"install", "type"=>"package",
"key"=>"tftp"},
+ {"recommended"=>"true", "action"=>"install", "type"=>"package",
"key"=>"vim"},
+ {"recommended"=>"true", "action"=>"install", "type"=>"pattern",
"key"=>"x11"}])
+ end
+ end
+
+ describe "#fromXMLFriendly" do
+ it "converts back from makeXMLFriendly to original structure" do
+ flattened = [
+ {"recommended"=>"true", "action"=>"remove", "type"=>"pattern",
"key"=>"sap_server"},
+ {"recommended"=>"false", "action"=>"install", "type"=>"package",
"key"=>"tftp"},
+ {"recommended"=>"true", "action"=>"install", "type"=>"package",
"key"=>"vim"},
+ {"recommended"=>"true", "action"=>"install", "type"=>"pattern",
"key"=>"x11"}]
+ unflattened = subject.fromXMLFriendly(flattened)
+ expect(unflattened).to match_array(software)
+ end
+ end
+
+ describe "#ToXML" do
+ it "serializes to XML file, according to OneClickInstall data structure" do
+ output_file = File.join(DATA_PATH, "serialized_result.xml")
+ subject.ToXML(output_file)
+ result = File.read(output_file)
+ expected_file = File.join(DATA_PATH, "serialized_expected.xml")
+ expected = File.read(expected_file)
+ expect(result).to eql(expected)
+ File.delete(output_file)
+ end
+ end
+
+ describe "#FromXML" do
+ it "deserializes according to OneClickInstall data structure to XML" do
+ filename = File.join(DATA_PATH, "to_deserialize.xml")
+ subject.FromXML(filename)
+ expect(subject.instance_variable_get(:@software)).to
match_array({"zdoom"=>{"action"=>"install", "recommended"=>"false",
"type"=>"package"}})
+ expect(subject.instance_variable_get(:@repositories)).to
match_array({"https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/"=>{"name"=>"packman",
"recommended"=>"false"}})
+ expect(subject.instance_variable_get(:@remainSubscribed)).to be true
+ expect(subject.instance_variable_get(:@summary)).to be_empty
+ expect(subject.instance_variable_get(:@description)).to be_empty
+ expect(subject.instance_variable_get(:@name)).to be_empty
+ end
+ end
+
+ describe "#Load" do
+ context "when loading YMP file" do
+ it "loads the Metapackage data from the YML file supplied for further
processing" do
+ subject.Load(filepath)
+ expect(subject.instance_variable_get(:@repositories)[urls[0]]).to
include("name"=>"openSUSE:Factory",
+
"summary"=>"The next openSUSE distribution",
+
"recommended"=>"true")
+ expect(subject.instance_variable_get(:@software)["vim"]).to
include("summary"=>"Vi IMproved",
+
"recommended"=>"true",
+
"action"=>"install",
+
"type"=>"package")
+ expect(subject.instance_variable_get(:@name)).to eql("vim")
+ expect(subject.instance_variable_get(:@remainSubscribed)).to be true
+ expect(subject.instance_variable_get(:@description)).to include("Vim
(Vi IMproved) is an almost compatible version of the UNIX editor")
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/spec/data/serialized_expected.xml
new/yast2-metapackage-handler-4.5.0/spec/data/serialized_expected.xml
--- old/yast2-metapackage-handler-4.4.1/spec/data/serialized_expected.xml
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-metapackage-handler-4.5.0/spec/data/serialized_expected.xml
2022-04-12 13:35:30.000000000 +0200
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!DOCTYPE OneClickInstall SYSTEM "/un/defined">
+<OneClickInstall xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns">
+ <description/>
+ <name/>
+ <remainSubscribed t="boolean">true</remainSubscribed>
+ <repositories t="list">
+ <repository t="map">
+ <key>http://download.opensuse.org/tumbleweed/repo/non-oss/</key>
+ <name>non-oss</name>
+ <recommended>false</recommended>
+ </repository>
+ <repository t="map">
+ <key>http://download.opensuse.org/tumbleweed/repo/oss/</key>
+ <name>oss</name>
+ <recommended>true</recommended>
+ </repository>
+ </repositories>
+ <software t="list">
+ <listentry t="map">
+ <action>remove</action>
+ <key>sap_server</key>
+ <recommended>true</recommended>
+ <type>pattern</type>
+ </listentry>
+ <listentry t="map">
+ <action>install</action>
+ <key>tftp</key>
+ <recommended>false</recommended>
+ <type>package</type>
+ </listentry>
+ <listentry t="map">
+ <action>install</action>
+ <key>vim</key>
+ <recommended>true</recommended>
+ <type>package</type>
+ </listentry>
+ <listentry t="map">
+ <action>install</action>
+ <key>x11</key>
+ <recommended>true</recommended>
+ <type>pattern</type>
+ </listentry>
+ </software>
+ <summary/>
+</OneClickInstall>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-metapackage-handler-4.4.1/spec/data/to_deserialize.xml
new/yast2-metapackage-handler-4.5.0/spec/data/to_deserialize.xml
--- old/yast2-metapackage-handler-4.4.1/spec/data/to_deserialize.xml
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-metapackage-handler-4.5.0/spec/data/to_deserialize.xml
2022-04-12 13:35:30.000000000 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE OneClickInstall SYSTEM "/un/defined">
+<OneClickInstall xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns">
+ <description/>
+ <name/>
+ <remainSubscribed t="boolean">true</remainSubscribed>
+ <repositories t="list">
+ <repository t="map">
+
<key>https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/</key>
+ <name>packman</name>
+ <recommended>false</recommended>
+ </repository>
+ </repositories>
+ <software t="list">
+ <listentry t="map">
+ <action>install</action>
+ <key>zdoom</key>
+ <recommended>false</recommended>
+ <type>package</type>
+ </listentry>
+ </software>
+ <summary/>
+</OneClickInstall>