Mageia Bugzilla – Attachment 10221 Details for
Bug 23037
installer and mga5->mga6 upgrade failures after Grand Update (URPM incorrectly selects obsolete lib64kf5ksieveui_5 package; subsequent dependencies cause many KDE package conflicts)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
patch to perl-URPM that fixes this bug (needs improvement)
urpm-dont-select-obsolete-packages.patch (text/plain), 824 bytes, created by
Martin Whitaker
on 2018-06-03 13:49:50 CEST
(
hide
)
Description:
patch to perl-URPM that fixes this bug (needs improvement)
Filename:
MIME Type:
Creator:
Martin Whitaker
Created:
2018-06-03 13:49:50 CEST
Size:
824 bytes
patch
obsolete
>diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm >index e1f57d2..5173055 100644 >--- a/URPM/Resolve.pm >+++ b/URPM/Resolve.pm >@@ -300,7 +300,19 @@ sub find_required_package { > } > } > } >- my @packages = sort { $a->fullname cmp $b->fullname } values %packages; >+ >+ #- remove any obsolete packages >+ #- FIXME: should check the obsoletes version >+ my %obsoleted; >+ if (keys %packages > 1) { >+ foreach my $pkg (values %packages) { >+ foreach ($pkg->obsoletes_nosense) { >+ next if $_ eq $pkg->name; >+ $obsoleted{$_} = 1; >+ } >+ } >+ } >+ my @packages = sort { $a->fullname cmp $b->fullname } grep { ! $obsoleted{$_->name} } values %packages; > > if (@packages > 1) { > #- packages should be preferred if one of their provides is referenced
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index e1f57d2..5173055 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -300,7 +300,19 @@ sub find_required_package { } } } - my @packages = sort { $a->fullname cmp $b->fullname } values %packages; + + #- remove any obsolete packages + #- FIXME: should check the obsoletes version + my %obsoleted; + if (keys %packages > 1) { + foreach my $pkg (values %packages) { + foreach ($pkg->obsoletes_nosense) { + next if $_ eq $pkg->name; + $obsoleted{$_} = 1; + } + } + } + my @packages = sort { $a->fullname cmp $b->fullname } grep { ! $obsoleted{$_->name} } values %packages; if (@packages > 1) { #- packages should be preferred if one of their provides is referenced
View Attachment As Raw
Actions:
View
Attachments on
bug 23037
:
10154
|
10155
|
10164
|
10166
|
10189
|
10190
|
10218
|
10221
|
10237
|
10239
|
10240
|
10243
|
10244
|
10246