Hi all, I have improved the Y2Packager::Resolvable call (and the internally used Pkg.Resolvables call) to allow searching by RPM dependencies (provides, obsoletes, conflicts, requires, recommends, suggests, supplements, enhances). Examples: Just use the dependency name as the additional parameter: Y2Packager::Resolvable.find(kind: :package, provides: "application()") This searches for the exact string. Optionally you can use a regular expression, just add the "_regexp" suffix to the dependency name: Y2Packager::Resolvable.find(kind: :package, obsoletes_regexp: "^yast2-config-") The regular expression is a POSIX extended regular expression, not a Ruby regular expression! The regexp parameter is just passed to the underlying libzypp/libsolv. The filtering happens directly on the C++ level so it's much faster than filtering on the Ruby level. Do not forget to escape regexp metacharacters like []() # seach for autoyast() supplements Y2Packager::Resolvable.find(kind: :package, supplements_regexp: "^autoyast\\(.*\\)") If an invalid regexp is passed then the ArgumentError exception is raised. You can combine more dependencies like "provides" and "obsoletes" in one call (if that makes sense). The result is logical AND, all dependencies must match. To use this new feature you need yast2-pkg-bindings-4.3.0 and yast2-4.3.21 (or newer). The old Pkg.PkgQueryProvides() call has been marked as obsolete. The enhanced Pkg.Resolvables() call is more powerful as it covers also the other dependencies than "Provides" and allows using a regexp. Enjoy! :) -- Ladislav Slezák YaST Developer SUSE LINUX, s.r.o. Corso IIa Křižíkova 148/34 18600 Praha 8 -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org