From 8ae73d1e037a6b9cb258b1ca505abce5681d9931 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 12 Mar 2025 20:21:42 +0100 Subject: solver3: Only hide ver->pkg clauses, not pkg->ver version selection ones Particularly as Helmut pointed out we need to show which version we selected for install if there is only one but there is a versioned conflicts. Reported-By: Helmut Grohne on IRC --- test/integration/test-bug-612557-garbage-upgrade | 5 ++-- .../test-solver3-show-version-selection | 28 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100755 test/integration/test-solver3-show-version-selection (limited to 'test') diff --git a/test/integration/test-bug-612557-garbage-upgrade b/test/integration/test-bug-612557-garbage-upgrade index a001c4385..00bc9ac2d 100755 --- a/test/integration/test-bug-612557-garbage-upgrade +++ b/test/integration/test-bug-612557-garbage-upgrade @@ -23,9 +23,10 @@ testfailuremsg "E: Unable to satisfy dependencies. Reached two conflicting decis 1. python-uno:i386=1:3.3.0-2 is selected as an upgrade 2. python-uno:i386=1:3.3.0-2 Depends libreoffice-common 3. libreoffice-common:i386 Conflicts openoffice.org-common - 2. openoffice.org-common:i386 is selected for install because: + 2. openoffice.org-common:i386=1:3.2.1-11+squeeze2 is selected for install because: 1. openoffice.org-emailmerge:i386 is selected for install - 2. openoffice.org-emailmerge:i386 PreDepends openoffice.org-common" aptget --trivial-only install python-uno --solver 3.0 + 2. openoffice.org-emailmerge:i386 PreDepends openoffice.org-common + 3. openoffice.org-common:i386 is available in version 1:3.2.1-11+squeeze2" aptget --trivial-only install python-uno --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Reading state information... diff --git a/test/integration/test-solver3-show-version-selection b/test/integration/test-solver3-show-version-selection new file mode 100755 index 000000000..c4d23eccf --- /dev/null +++ b/test/integration/test-solver3-show-version-selection @@ -0,0 +1,28 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 's390x' + +insertpackage 'unstable' 'sbuild-build-depends-main-dummy' 's390x' '0.invalid.0' 'Depends: libgstreamer1.0-dev' +insertpackage 'unstable' 'libgstreamer1.0-dev' 's390x' '1.25.90-2' 'Depends: libc6 (>= 2.34)' +insertpackage 'unstable' 'libc6' 's390x' '14.2.0-17' 'Depends: libgcc-s1' +insertpackage 'unstable' 'libgcc-s1' 's390x' '14.2.0-17' 'Multi-Arch: same' +insertpackage 'installed,unstable' 'libgcc-s1' 'amd64' '14.2.0-18' 'Multi-Arch: same' + +setupaptarchive + +testfailuremsg "E: Unable to satisfy dependencies. Reached two conflicting decisions: + 1. libc6:s390x is selected for install because: + 1. sbuild-build-depends-main-dummy:s390x=0.invalid.0 is selected for install + 2. sbuild-build-depends-main-dummy:s390x Depends libgstreamer1.0-dev:s390x + 3. libgstreamer1.0-dev:s390x Depends libc6:s390x (>= 2.34) + 2. libc6:s390x Depends libgcc-s1:s390x + but none of the choices are installable: + - libgcc-s1:s390x is not selected for install because: + 1. libgcc-s1:amd64 is selected for install + 2. libgcc-s1:amd64 is available in version 14.2.0-18 + 3. libgcc-s1:s390x Breaks libgcc-s1 (!= 14.2.0-17)" apt install sbuild-build-depends-main-dummy --solver 3.0 + -- cgit v1.2.3-70-g09d2