08.10.2017 04:48, Neal Gompa пишет:
On Sat, Oct 7, 2017 at 3:06 AM, Andrei Borzenkov
wrote: I wonder if zypper is capable of "search for all provides in this package" (i.e. find package that require any provide in other package). I think Mandrake urpm could do it.
For what it's worth, both DNF and Zypper (both in openSUSE Tumbleweed) are capable of this. Zypper doesn't by default for user install requests (you need to use "-C" for that), but it certainly does for dependency resolution.
I have no idea whether "zypper se --requires" fits into "dependency resolution" definition, but it does not do it. Picking random perl module: bor@10:~> zypper info --provides perl-UNIVERSAL-isa Loading repository data... Reading installed packages... Information for package perl-UNIVERSAL-isa: ------------------------------------------- Repository : openSUSE-20170729-0 Name : perl-UNIVERSAL-isa Version : 1.20150614-1.6 Arch : noarch Vendor : openSUSE Installed Size : 30.7 KiB Installed : No Status : not installed Source package : perl-UNIVERSAL-isa-1.20150614-1.6.src Summary : Attempt to recover from people calling UNIVERSAL::isa as a function Description : Whenever you use the UNIVERSAL/isa manpage as a function, a kitten using the Test::MockObject manpage dies. Normally, the kittens would be helpless, but if they use the UNIVERSAL::isa manpage (the module whose docs you are reading), the kittens can live long and prosper. This module replaces 'UNIVERSAL::isa' with a version that makes sure that, when called as a function on objects which override 'isa', 'isa' will call the appropriate method on those objects In all other cases, the real 'UNIVERSAL::isa' gets called directly. *NOTE:* You should use this module only for debugging purposes. It does not belong as a dependency in running code. Provides : [2] perl(UNIVERSAL::isa) = 1.20150614 perl-UNIVERSAL-isa = 1.20150614-1.6 bor@10:~> zypper se --requires 'perl(UNIVERSAL::isa)' Loading repository data... Reading installed packages... S | Name | Summary | Type --+----------------------+---------------------------------------------+-------- | perl-Test-MockObject | Perl extension for emulating troublesome -> | package bor@10:~> zypper se --requires perl-UNIVERSAL-isa Loading repository data... Reading installed packages... No matching items found. bor@10:~>
You can do queries using DNF with "dnf repoquery --whatprovides" or "dnf provides", and you can with Zypper with "zypper search --provides".
You seem to have missed the original problem - to verify delete request "zypper search --requires" was run against package name and returned nothing, although there was package that Requires one of Provides in deleted package.
Most OBS tooling resolves by capabilities (aka Provides) first, and then handles preferences afterward.
Well, can you suggest how to reliably check whether something depends on deleted package *including* provides from this package? -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org