Hello community, here is the log from the commit of package yast2-pkg-bindings for openSUSE:Factory checked in at 2019-11-20 10:26:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-pkg-bindings (Old) and /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-pkg-bindings" Wed Nov 20 10:26:44 2019 rev:206 rq:748712 version:4.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-pkg-bindings/yast2-pkg-bindings.changes 2019-07-31 14:16:48.114712540 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new.26869/yast2-pkg-bindings.changes 2019-11-20 10:26:45.718556600 +0100 @@ -1,0 +2,14 @@ +Wed Nov 13 15:03:30 UTC 2019 - Ladislav Slezák <[email protected]> + +- Fixed Pkg.Resolvables() to properly filter by status + (related to bsc#1132650) +- 4.2.2 + +------------------------------------------------------------------- +Tue Oct 29 12:39:09 CET 2019 - [email protected] + +- Returning raw packages dependencies while calling + <Y2Packager::Resolvable>.deps (bsc#1132650). +- 4.2.1 + +------------------------------------------------------------------- Old: ---- yast2-pkg-bindings-4.2.0.tar.bz2 New: ---- yast2-pkg-bindings-4.2.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-pkg-bindings-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.A0Vhzs/_old 2019-11-20 10:26:46.206556697 +0100 +++ /var/tmp/diff_new_pack.A0Vhzs/_new 2019-11-20 10:26:46.210556698 +0100 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings-devel-doc -Version: 4.2.0 +Version: 4.2.2 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: yast2-pkg-bindings-%{version}.tar.bz2 ++++++ yast2-pkg-bindings.spec ++++++ --- /var/tmp/diff_new_pack.A0Vhzs/_old 2019-11-20 10:26:46.246556705 +0100 +++ /var/tmp/diff_new_pack.A0Vhzs/_new 2019-11-20 10:26:46.254556706 +0100 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 4.2.0 +Version: 4.2.2 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-pkg-bindings-4.2.0.tar.bz2 -> yast2-pkg-bindings-4.2.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings-devel-doc.spec new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings-devel-doc.spec --- old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings-devel-doc.spec 2019-05-27 09:27:48.000000000 +0200 +++ new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings-devel-doc.spec 2019-11-14 16:25:16.000000000 +0100 @@ -16,7 +16,7 @@ # Name: yast2-pkg-bindings-devel-doc -Version: 4.2.0 +Version: 4.2.2 Release: 0 License: GPL-2.0-only Group: Documentation/HTML diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings.changes new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings.changes --- old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings.changes 2019-05-27 09:27:48.000000000 +0200 +++ new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings.changes 2019-11-14 16:25:16.000000000 +0100 @@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Wed Nov 13 15:03:30 UTC 2019 - Ladislav Slezák <[email protected]> + +- Fixed Pkg.Resolvables() to properly filter by status + (related to bsc#1132650) +- 4.2.2 + +------------------------------------------------------------------- +Tue Oct 29 12:39:09 CET 2019 - [email protected] + +- Returning raw packages dependencies while calling + <Y2Packager::Resolvable>.deps (bsc#1132650). +- 4.2.1 + +------------------------------------------------------------------- Thu May 23 07:09:08 UTC 2019 - Ladislav Slezák <[email protected]> - Added Pkg.Resolvables() and Pkg.AnyResolvable() calls diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings.spec new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings.spec --- old/yast2-pkg-bindings-4.2.0/package/yast2-pkg-bindings.spec 2019-05-27 09:27:48.000000000 +0200 +++ new/yast2-pkg-bindings-4.2.2/package/yast2-pkg-bindings.spec 2019-11-14 16:25:16.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 4.2.0 +Version: 4.2.2 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-4.2.0/smoke_test_run.rb new/yast2-pkg-bindings-4.2.2/smoke_test_run.rb --- old/yast2-pkg-bindings-4.2.0/smoke_test_run.rb 2019-05-27 09:27:48.000000000 +0200 +++ new/yast2-pkg-bindings-4.2.2/smoke_test_run.rb 2019-11-14 16:25:16.000000000 +0100 @@ -29,6 +29,9 @@ # (when running as non-root) y2log.reject! { |l| l =~ /\/var\/lib\/zypp\/LastDistributionFlavor/ } + # no idea why that happens at Travis, let's ignore that... + y2log.reject! { |l| l =~ /error: Interrupted system call/ } + if !y2log.empty? puts "Found errors in #{log_file}:" puts y2log @@ -57,6 +60,11 @@ raise "Pkg.SourceLoad failed!" unless Yast::Pkg.SourceLoad puts "OK" + +puts "Found #{Yast::Pkg.Resolvables({kind: :package}, []).size} packages" +installed_packages = Yast::Pkg.Resolvables({kind: :package, status: :installed}, []) +puts "Found #{installed_packages.size} installed packages" + # Check all repositories - this expects at least one repo is defined in the system puts "Checking Pkg.SourceGetCurrent..." repos = Yast::Pkg.SourceGetCurrent(false) @@ -95,6 +103,28 @@ raise "Pattern devel_yast not found" unless patterns.include?("name" => "devel_yast") puts "OK (found #{patterns.size} patterns)" +installed_packages = Yast::Pkg.Resolvables({kind: :package, status: :installed, name: "yast2-core"}, [:name]) +raise "yast2-core package not installed (???)" if installed_packages.empty? +raise "several yast2-core packages installed (???)" if installed_packages.size > 1 +puts "OK (yast2-core package installed)" + +selected_packages = Yast::Pkg.Resolvables({kind: :package, status: :selected}, [:name]) +raise "A package is selected to install (???)" unless selected_packages.empty? +puts "OK (no package selected)" + +removed = Yast::Pkg.ResolvableRemove("yast2-core", :package) +raise "Cannot select yast2-core to uninstall" unless removed +puts "OK (yast2-core selected to uninstall" + +selected_packages = Yast::Pkg.Resolvables({kind: :package, status: :selected}, [:name]) +raise "A package is selected to install (???)" unless selected_packages.empty? +puts "OK (no package selected)" + +removed_packages = Yast::Pkg.Resolvables({kind: :package, status: :removed}, [:name]) +raise "No package to uninstall" if removed_packages.empty? +raise "yast2-core not selected to uninstall" unless removed_packages.include?({"name" => "yast2-core"}) +puts "OK (yast2-core selected to uninstall)" + installed_products = Yast::Pkg.Resolvables({kind: :product, status: :installed}, [:name, :display_name]) available_products = Yast::Pkg.Resolvables({kind: :product, status: :available}, [:name, :display_name]) selected_products = Yast::Pkg.Resolvables({kind: :product, status: :selected}, [:name, :display_name]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-4.2.0/src/Resolvable_Properties.cc new/yast2-pkg-bindings-4.2.2/src/Resolvable_Properties.cc --- old/yast2-pkg-bindings-4.2.0/src/Resolvable_Properties.cc 2019-05-27 09:27:48.000000000 +0200 +++ new/yast2-pkg-bindings-4.2.2/src/Resolvable_Properties.cc 2019-11-14 16:25:16.000000000 +0100 @@ -453,7 +453,7 @@ if (refpkg) { - info->add(YCPString("product_package"), YCPString(refpkg->name())); + ADD_STRING("product_package", refpkg->name()); // get the package files zypp::Package::FileList files( refpkg->filelist() ); @@ -523,7 +523,7 @@ } // dependency info - if (deps || attrs->contains(YCPSymbol("dependencies"))) + if (deps || attrs->contains(YCPSymbol("dependencies")) || attrs->contains(YCPSymbol("deps"))) { std::set<std::string> _kinds = { "provides", "prerequires", "requires", "conflicts", "obsoletes", @@ -915,15 +915,26 @@ if (!status_str.empty()) { zypp::ResStatus status = r.status(); - if (!status.isToBeInstalled() && status_str == "selected") - return false; - if (!status.isToBeUninstalled() && status_str == "removed") - return false; - if (!(status.isInstalled() || status.isSatisfied()) && status_str == "installed") - return false; - // otherwise the resolvable has status available - if ((status.isToBeInstalled() || status.isInstalled() || status.isSatisfied()) && status_str == "available") - return false; + if (status_str == "selected") + { + if (!status.isToBeInstalled()) return false; + } + else if (status_str == "installed") + { + if (!(status.staysInstalled() || status.isSatisfied())) return false; + } + else if (status_str == "available") + { + if (!(status.staysUninstalled() || !status.isSatisfied())) return false; + } + else if (status_str == "removed") + { + if (!status.isToBeUninstalled()) return false; + } + else + { + y2warning("Ignoring unknown status: %s", status_str.c_str()); + } } // check who changed the status @@ -998,8 +1009,5 @@ */ YCPValue PkgFunctions::AnyResolvable(const YCPMap& filter) { - for (const auto &r : zypp::ResPool::instance().filter(ResolvableFilter(filter, *this)) ) - return YCPBoolean(true); - - return YCPBoolean(false); + return YCPBoolean(!zypp::ResPool::instance().filter(ResolvableFilter(filter, *this)).empty()); }
