Mailinglist Archive: opensuse-factory (826 mails)

< Previous Next >
Re: [opensuse-factory] Dependency check on delete requests is insufficient.
08.10.2017 04:48, Neal Gompa пишет:
On Sat, Oct 7, 2017 at 3:06 AM, Andrei Borzenkov <arvidjaar@xxxxxxxxx> 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@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >