diff options
author | Thierry Vignaud <thierry.vignaud@gmail.com> | 2021-10-19 10:29:05 +0200 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2021-10-19 10:29:05 +0200 |
commit | 3fac0be4adab0ee63b6473d613982b418cc7ab92 (patch) | |
tree | 577237ddadd3c733691ca087b2392b2a45711b0a /URPM | |
parent | 9160156f8b0243336de989df5ea94432958e9679 (diff) | |
download | perl-URPM-3fac0be4adab0ee63b6473d613982b418cc7ab92.tar perl-URPM-3fac0be4adab0ee63b6473d613982b418cc7ab92.tar.gz perl-URPM-3fac0be4adab0ee63b6473d613982b418cc7ab92.tar.bz2 perl-URPM-3fac0be4adab0ee63b6473d613982b418cc7ab92.tar.xz perl-URPM-3fac0be4adab0ee63b6473d613982b418cc7ab92.zip |
Prevent SRPM to conflicts with its own build deps
Aka gdb.src would be conflicting with gdb-minimal which is required by debugedit:
"The following packages have to be removed for others to be upgraded:
debugedit-5.0-3.mga9.x86_64
(due to missing gdb-minimal)
gdb-minimal-10.2-2.mga9.x86_64
(due to conflicts with gdb-headless[> 10.2-2.mga9])
rpm-build-4.17.0-2.mga9.x86_64
(due to unsatisfied debugedit >= 0.3)"
Which happen because of this deps chain:
rpm-build -> debugedit -> gdb-minimal
Where gdb-minimal conflicts with:
$ rpm -q --conflicts gdb-minimal
gdb-headless < 10.2-2.mga9
gdb-headless > 10.2-2.mga9
Which of course conflicts if urpmi considers the *new* gdb... SRPM...
Sigh...
Extract of urpmi --debug log ala iurt:
selecting gdb-11.1-1.mga9.src
requiring bison,dejagnu,expat-devel,flex,fpc,gcc-gfortran,gcc-objc,gcc-plugins,guile3.0-devel,libbabeltrace-devel,libipt-devel,mpfr-devel,python3-devel,readline-devel[>= 6.2-4],rpm-devel,rust,sharutils,source-highlight-devel,texinfo,texinfo-tex,texlive,xxhash-devel for gdb-11.1-1.mga9.src
chosen lib64rpm-devel-4.17.0-2.mga9.x86_64 for rpm-devel
selecting lib64rpm-devel-4.17.0-2.mga9.x86_64
requiring devel(libcap(64bit)),devel(liblua-5.4(64bit)),devel(libmagic(64bit)),devel(libsqlite3(64bit)),lib64rpm9[== 1:4.17.0-2.mga9],lib64rpmbuild9[== 1:4.17.0-2.mga9],lib64rpmsign9[== 1:4.17.0-2.mga9],rpm[== 1:4.17.0-2.mga9] for lib64rpm-devel-4.17.0-2.mga9.x86_64
(...)
chosen lib64rpmbuild9-4.17.0-2.mga9.x86_64 for lib64rpmbuild9[== 1:4.17.0-2.mga9]
selecting lib64rpmbuild9-4.17.0-2.mga9.x86_64
set_rejected: lib64rpmbuild9-4.16.1.2-5.mga9.x86_64
(...)
installed rpm-build-4.16.1.2-5.mga9.x86_64 is conflicting because of unsatisfied lib64rpmbuild9[== 1:4.16.1.2]
promoting rpm-build-4.17.0-2.mga9.x86_64 because of conflict above
selecting rpm-build-4.17.0-2.mga9.x86_64
set_rejected: rpm-build-4.16.1.2-5.mga9.x86_64
requiring debugedit[>= 0.3] for rpm-build-4.17.0-2.mga9.x86_64
chosen debugedit-5.0-3.mga9.x86_64 for debugedit[>= 0.3]
selecting debugedit-5.0-3.mga9.x86_64
requiring gdb-minimal for debugedit-5.0-3.mga9.x86_64
gdb-minimal-10.2-2.mga9.x86_64 conflicts with already selected package gdb-11.1-1.mga9.src
Because it considered:
$VAR1 = [
'gdb-10.2-2.mga9.x86_64',
'gdb-10.2-2.mga9.i586',
'gdb-11.1-1.mga9.src'
];
Diffstat (limited to 'URPM')
-rw-r--r-- | URPM/Resolve.pm | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index c799dff..24c283b 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -1307,6 +1307,7 @@ sub _handle_conflicts_with_selected { if (my $n = property2name($_)) { foreach my $p ($urpm->packages_providing($n)) { $pkg == $p and next; + $p->arch eq 'src' and next; $p->provides_overlap($_) or next; if (exists $state->{selected}{$p->id}) { $urpm->{debug_URPM}($pkg->fullname . " conflicts with already selected package " . $p->fullname) if $urpm->{debug_URPM}; |