Skip to content

cleandeps: multiple providers, supplements UNLESS #597

@kontura

Description

@kontura

I was looking at https://bugzilla.redhat.com/show_bug.cgi?id=1380069 and it seems the issue comes down to cleandeps keeping all providers. There is even a link to this change: 4e245d6.

I understand it was done for a reason so I just wanted to provide feedback to that.
For completeness here is a testcase:

repo @System 0 testtags <inline>
#>=Pkg: a 1 1 x86_64
#>=Sup: unrel
#>=Prv: asd
#>
#>=Pkg: b 1 1 x86_64
#>=Prv: asd
#>
#>=Pkg: need 6 4 x86_64
#>=Req: asd
#>
#>=Pkg: unrel 6 4 x86_64

system x86_64 rpm @System

solverflags allowdowngrade allowvendorchange keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes focusnew
job erase pkg unrel-6-4.x86_64@@System [cleandeps]

job allowuninstall pkg a-1-1.x86_64@@System
job userinstalled pkg unrel-6-4.x86_64@@System
job userinstalled pkg need-6-4.x86_64@@System

Here a was brought in with unrel but when unrel is removed a stays.
The way I understand it in theory the solver should be free to remove either a or b, if that causes problems it is a packaging issue.

During investigating I also ran into this probably unrelated case:

repo @System 0 testtags <inline>
#>=Pkg: a 1 1 x86_64
#>=Sup: unrel <UNLESS> c
#>
#>=Pkg: unrel 6 4 x86_64

system x86_64 rpm @System

solverflags allowdowngrade allowvendorchange keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes focusnew
job erase pkg unrel-6-4.x86_64@@System [cleandeps]
job allowuninstall pkg unrel-6-4.x86_64@@System
job allowuninstall pkg a-1-1.x86_64@@System

Here again a is not removed but if I delete the <UNLESS> c part it does get removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions