openSUSE / openSUSE-release-tools

Tools to aid in staging and release work for openSUSE/SUSE
GNU General Public License v2.0
57 stars 91 forks source link

osclib/repochecks.py: Use libsolv for checking conflicts between packages #3063

Closed Vogtinator closed 4 months ago

Vogtinator commented 4 months ago

Don't rely just on findfileconflicts to check whether packages have conflicting dependencies, but use libsolv to do a full check.

Fixes https://github.com/openSUSE/openSUSE-release-tools/issues/1885

codecov-commenter commented 4 months ago

Codecov Report

Attention: 28 lines in your changes are missing coverage. Please review.

Comparison is base (8329809) 28.31% compared to head (f1f0078) 28.26%. Report is 18 commits behind head on master.

Files Patch % Lines
osclib/repochecks.py 0.00% 28 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #3063 +/- ## ========================================== - Coverage 28.31% 28.26% -0.05% ========================================== Files 86 86 Lines 14803 14825 +22 ========================================== Hits 4191 4191 - Misses 10612 10634 +22 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Vogtinator commented 4 months ago
[15:23] <fvogt> DimStar: Please have a look at https://github.com/openSUSE/openSUSE-release-tools/pull/3063. Running it against adi:26 shows that only two actual conflicts remain
[15:23] <|Anna|> Github project openSUSE/openSUSE-release-tools pull request#3063: "osclib/repochecks.py: Use libsolv for checking conflicts between packages", created on 2024-02-22, status: open, unassigned, https://github.com/openSUSE/openSUSE-release-tools/pull/3063
[15:26] <DimStar> does it behave properly when it SHOULD detect conflicts? (e.g adi:27, adi:164), tested against Letter (with and without conflicts?)
[16:22] <fvogt> DimStar: I'll run it against both
[16:23] <fvogt> found conflict of ispell-sq-3.4.06-2.1.x86_64 with sequoia-sq-0.33.0-1.1.x86_64
[16:24] <fvogt> Do we have a letter with conflicts?
[16:24] <fvogt> If not, the PR is a noop as it only runs in the case where it would've failed previously
[16:25] <fvogt> found conflict of busybox-udhcpc-1.36.1-31.2.noarch with udhcp-0.9.8-1.1.x86_64
[16:25] <fvogt> So works as expected for both adis
[16:29] <DimStar> sounds good.. let's be brave and merge :)
[16:39] <fvogt> At first I assumed it would be too slow to handle it like this but it's not
[16:39] <fvogt> For adi:26 it takes an additional 2s
[16:41] <fvogt> Of which 1.3s are the initial setup and every conflict takes ~15ms