From b5997949909ee9d5e9981c8311aea97c7b2620fd Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sun, 19 May 2024 20:04:47 +0200 Subject: test: Support the 3.0 solver in most existing test cases Highlights: - test-bug-618848-always-respect-user-requests: (Do not) Support 3.0 solver A manually installed package is never removed just because we request the removal of its dependency in solver3. - test-bug-657695-resolver-breaks-on-virtuals: Support 3.0 solver For manually installed packages, solver 3.0 would require some new xserver-xorg-video-driver to Conflict+Replace+Provides the old one (once the logic is implemented), but that does seem reasonable. - test-bug-720597-build-dep-purge: Support 3.0 solver This needs a simple aptmark auto because pkga is removed by the build-dep. But further adjustments are necessary because it weirdly tested for no autoremovable packages before installing pkgc. - test-bug-960705-*: Support 3.0 solver Bit awkward to deal with; notably the protect to conflict doesn't actually work anymore and that is a feature these days. --- test/integration/solver3.broken | 47 ------------------- .../test-apt-get-autoremove-real-virtual-provider | 12 ++++- test/integration/test-apt-get-build-dep | 1 + test/integration/test-apt-get-build-dep-barbarian | 19 +++++--- test/integration/test-apt-get-build-dep-file | 5 +- test/integration/test-apt-get-install-deb | 7 ++- test/integration/test-apt-get-satisfy | 8 +++- test/integration/test-apt-get-source-only | 26 +++++++++++ test/integration/test-apt-get-upgrade | 25 ++++++++++ test/integration/test-apt-never-markauto-sections | 7 +-- ...est-bug-549968-install-depends-of-not-installed | 22 ++++++++- .../test-bug-596498-trusted-unsigned-repo | 13 ++++-- ...test-bug-598669-install-postfix-gets-exim-heavy | 2 + test/integration/test-bug-601961-install-info | 15 +++++- .../integration/test-bug-604222-new-and-autoremove | 26 +++++++++-- .../test-bug-612099-multiarch-conflicts | 1 + test/integration/test-bug-612557-garbage-upgrade | 4 +- .../test-bug-613420-new-garbage-dependency | 1 + .../test-bug-618848-always-respect-user-requests | 13 +++++- .../test-bug-632221-cross-dependency-satisfaction | 11 +++-- ...test-bug-64141-install-dependencies-for-on-hold | 32 +++++++++++++ .../test-bug-657695-resolver-breaks-on-virtuals | 9 ++++ .../test-bug-683786-build-dep-on-virtual-packages | 10 ++-- .../test-bug-686346-package-missing-architecture | 1 + ...bug-712116-dpkg-pre-install-pkgs-hook-multiarch | 4 +- test/integration/test-bug-720597-build-dep-purge | 1 + .../test-bug-723586-any-stripped-in-single-arch | 15 ++++++ .../test-bug-735967-lib32-to-i386-unavailable | 12 ++++- .../test-bug-747261-arch-specific-conflicts | 1 + ...est-bug-769609-triggers-still-pending-after-run | 1 + .../integration/test-bug-796070-downgrade-simulate | 1 + ...60705-propagate-protected-to-satisfied-conflict | 3 +- ...960705-propagate-protected-to-satisfied-depends | 31 ++++++++++++- .../test-bug-lp1562402-nomark-removals-as-keep | 9 ++++ test/integration/test-crossgrades | 1 + .../integration/test-dpkg-i-apt-install-fix-broken | 24 +++++++++- .../test-external-installation-planner-protocol | 1 + test/integration/test-handling-broken-orgroups | 6 ++- .../test-ignore-provides-if-versioned-breaks | 16 +++++-- .../test-ignore-provides-if-versioned-conflicts | 15 ++++-- test/integration/test-multiarch-allowed | 45 +++++++++++++----- test/integration/test-multiarch-foreign | 7 ++- .../integration/test-not-upgrading-removed-depends | 1 + .../test-prefer-higher-priority-providers | 6 ++- .../test-resolver-delays-remove-decisions | 54 ++++++++++++++++++++-- .../test-specific-architecture-dependencies | 7 ++- test/integration/test-ubuntu-bug-1974196 | 15 +++++- .../test-unpack-different-version-unpacked | 14 +++++- 48 files changed, 492 insertions(+), 115 deletions(-) (limited to 'test') diff --git a/test/integration/solver3.broken b/test/integration/solver3.broken index 96238232c..57ab7ba57 100644 --- a/test/integration/solver3.broken +++ b/test/integration/solver3.broken @@ -1,85 +1,38 @@ test-allow-scores-for-all-dependency-types test-apt-get-autoremove test-apt-get-autoremove-kernel-module-providers -test-apt-get-autoremove-real-virtual-provider -test-apt-get-build-dep -test-apt-get-build-dep-barbarian -test-apt-get-build-dep-file -test-apt-get-install-deb -test-apt-get-satisfy -test-apt-get-source-only -test-apt-get-upgrade test-apt-get-upgrade-by-source test-apt-install-file-reltag test-apt-install-order-matters-a-bit test-apt-move-and-forget-manual-sections -test-apt-never-markauto-sections test-apt-patterns test-apt-source-and-build-dep test-bug-470115-new-and-tighten-recommends -test-bug-549968-install-depends-of-not-installed test-bug-591882-conkeror -test-bug-596498-trusted-unsigned-repo -test-bug-598669-install-postfix-gets-exim-heavy -test-bug-601961-install-info test-bug-602412-dequote-redirect -test-bug-604222-new-and-autoremove test-bug-611729-mark-as-manual -test-bug-612099-multiarch-conflicts -test-bug-612557-garbage-upgrade -test-bug-613420-new-garbage-dependency -test-bug-618848-always-respect-user-requests -test-bug-632221-cross-dependency-satisfaction -test-bug-64141-install-dependencies-for-on-hold -test-bug-657695-resolver-breaks-on-virtuals test-bug-675449-essential-are-protected -test-bug-683786-build-dep-on-virtual-packages -test-bug-686346-package-missing-architecture test-bug-709560-set-candidate-release -test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch -test-bug-720597-build-dep-purge -test-bug-723586-any-stripped-in-single-arch -test-bug-735967-lib32-to-i386-unavailable test-bug-745046-candidate-propagation-fails -test-bug-747261-arch-specific-conflicts test-bug-753297-upgradable test-bug-758153-versioned-provides-support test-bug-767891-force-essential-important -test-bug-769609-triggers-still-pending-after-run -test-bug-796070-downgrade-simulate -test-bug-960705-propagate-protected-to-satisfied-conflict -test-bug-960705-propagate-protected-to-satisfied-depends test-bug-961266-hold-means-hold -test-bug-lp1562402-nomark-removals-as-keep -test-crossgrades test-dont-forget-conflicts-via-unknown-architectures -test-dpkg-i-apt-install-fix-broken test-explore-or-groups-in-markinstall test-external-dependency-solver-protocol -test-external-installation-planner-protocol -test-handling-broken-orgroups -test-ignore-provides-if-versioned-breaks -test-ignore-provides-if-versioned-conflicts test-method-mirror -test-multiarch-allowed test-multiarch-barbarian -test-multiarch-foreign -test-not-upgrading-removed-depends test-parse-all-archs-into-cache test-phased-updates-new-depends test-phased-updates-upgrade -test-prefer-higher-priority-providers test-prevent-markinstall-multiarch-same-versionscrew test-release-candidate-switching test-resolve-by-keep-new-recommends -test-resolver-delays-remove-decisions test-resolver-provider-exchange -test-specific-architecture-dependencies test-suggests-promoted-to-recommends test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings test-ubuntu-bug-1304403-obsolete-priority-standard -test-ubuntu-bug-1974196 test-ubuntu-bug-1990586 test-ubuntu-bug-2025462-phased-dist-upgrade test-ubuntu-bug-614993 -test-unpack-different-version-unpacked diff --git a/test/integration/test-apt-get-autoremove-real-virtual-provider b/test/integration/test-apt-get-autoremove-real-virtual-provider index 4940ab5ff..d5438f8b3 100755 --- a/test/integration/test-apt-get-autoremove-real-virtual-provider +++ b/test/integration/test-apt-get-autoremove-real-virtual-provider @@ -23,10 +23,20 @@ needs-provider4' aptmark showauto testsuccess aptget check -s +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Solving dependencies... +The following packages will be REMOVED: + needs-provider1 needs-provider4 +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Remv needs-provider1 [1] +Remv needs-provider4 [1]' aptget autoremove -s --solver 3.0 + testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following packages will be REMOVED: needs-provider4 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. -Remv needs-provider4 [1]' aptget autoremove -s +Remv needs-provider4 [1]' aptget autoremove -s --solver internal diff --git a/test/integration/test-apt-get-build-dep b/test/integration/test-apt-get-build-dep index 403de8f35..f6158a115 100755 --- a/test/integration/test-apt-get-build-dep +++ b/test/integration/test-apt-get-build-dep @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' insertpackage 'stable' 'build-essential' 'i386' '1' diff --git a/test/integration/test-apt-get-build-dep-barbarian b/test/integration/test-apt-get-build-dep-barbarian index 688f7a54b..b8ab1211b 100755 --- a/test/integration/test-apt-get-build-dep-barbarian +++ b/test/integration/test-apt-get-build-dep-barbarian @@ -83,6 +83,7 @@ testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep cool-foo -s testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-foo -s -a i386 testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep bad-armel-foo -s -a i386 testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-armel-foo -s -a i386 +testfailuremsg 'E: Conflict: builddeps:bad-amd64-i386-foo:i386=1 -> not foo:i386=1 -> not builddeps:bad-amd64-i386-foo:i386=1 but builddeps:bad-amd64-i386-foo:i386=1' apt build-dep bad-amd64-i386-foo -s -a i386 --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -94,7 +95,8 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:bad-amd64-i386-foo:i386 : Depends: foo:i386 -E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-foo -s -a i386 +E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-foo -s -a i386 --solver internal +testfailuremsg 'E: Conflict: builddeps:bad-amd64-i386-armel-foo:i386=1 -> not foo:i386=1 -> not builddeps:bad-amd64-i386-armel-foo:i386=1 but builddeps:bad-amd64-i386-armel-foo:i386=1' apt build-dep bad-amd64-i386-armel-foo -s -a i386 --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -106,13 +108,14 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:bad-amd64-i386-armel-foo:i386 : Depends: foo:i386 -E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-armel-foo -s -a i386 +E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-armel-foo -s -a i386 --solver internal testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep cool-foo -s -a armel testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-foo -s -a armel testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep bad-armel-foo -s -a armel testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-armel-foo -s -a armel testsuccessequal "$(installsfoosamey 'armel' 'armel')" apt build-dep bad-amd64-i386-foo -s -a armel +FAILUREMSG="E: Conflict: builddeps:bad-amd64-i386-armel-foo:armel=1 -> not foo:armel=1 -> not builddeps:bad-amd64-i386-armel-foo:armel=1 but builddeps:bad-amd64-i386-armel-foo:armel=1" FAILURE='Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -124,8 +127,9 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:bad-amd64-i386-armel-foo:armel : Depends: foo:armel E: Unable to correct problems, you have held broken packages.' +testfailuremsg "$FAILUREMSG" apt build-dep bad-amd64-i386-armel-foo -s -a armel --solver 3.0 testfailureequal "Reading package lists... -$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel +$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel --solver internal msgmsg 'BarbarianArchitectures' 'cmdline options' rm rootdir/etc/apt/apt.conf.d/99barbarianarchs @@ -134,7 +138,10 @@ testsuccess aptcache gencaches testsuccessequal "$(installsfoosamey 'mipsel' 'armel')" apt build-dep bad-amd64-i386-armel-foo -s -a armel testsuccess aptcache gencaches -o APT::BarbarianArchitectures::=armel testsuccessequal "$(installsfoosamey 'mipsel' 'armel')" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=armel -testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel -testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel -o APT::BarbarianArchitectures::=armel +testfailuremsg "$FAILUREMSG" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel --solver 3.0 +testfailuremsg "$FAILUREMSG" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel -o APT::BarbarianArchitectures::=armel --solver 3.0 +testfailuremsg "$FAILUREMSG" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures=mipsel,armel --solver 3.0 +testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel --solver internal +testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel -o APT::BarbarianArchitectures::=armel --solver internal testfailureequal "Reading package lists... -$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures=mipsel,armel +$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures=mipsel,armel --solver internal diff --git a/test/integration/test-apt-get-build-dep-file b/test/integration/test-apt-get-build-dep-file index 88bf10b0f..bd30cfcfd 100755 --- a/test/integration/test-apt-get-build-dep-file +++ b/test/integration/test-apt-get-build-dep-file @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' insertpackage 'stable' 'debhelper' 'i386' '7' @@ -158,6 +159,8 @@ testsuccess aptget build-dep --simulate '..' cd ../.. testfailureequal 'E: Must specify at least one package to check builddeps for' aptget build-dep +testfailuremsg 'W: No architecture information available for armel. See apt.conf(5) APT::Architectures for setup +E: Unsatisfiable dependency group builddeps:./foo-1.0:armel=1 -> debhelper:armel' aptget build-dep --simulate ./foo-1.0 -a armel --solver 3.0 testfailureequal "Note, using directory './foo-1.0' to get the build dependencies Reading package lists... Building dependency tree... @@ -170,7 +173,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:./foo-1.0:armel : Depends: debhelper:armel (>= 7) but it is not installable W: No architecture information available for armel. See apt.conf(5) APT::Architectures for setup -E: Unable to correct problems, you have held broken packages." aptget build-dep --simulate ./foo-1.0 -a armel +E: Unable to correct problems, you have held broken packages." aptget build-dep --simulate ./foo-1.0 -a armel --solver internal testfailureequal 'Reading package lists... E: Unable to find a source package for foo' aptget build-dep --simulate foo diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb index bcf8bae3d..6cbd25c9f 100755 --- a/test/integration/test-apt-get-install-deb +++ b/test/integration/test-apt-get-install-deb @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' # regression test for #754904 @@ -31,6 +32,7 @@ done buildsimplenativepackage 'foo' 'i386,amd64' '1.0' +testfailuremsg "E: Conflict: -> foo:amd64=1.0 but foo:i386=1.0 -> not foo:amd64=1.0" aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s --solver 3.0 testfailureequal "Reading package lists... Building dependency tree... Note, selecting 'foo:i386' instead of './incoming/foo_1.0_i386.deb' @@ -44,7 +46,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo:i386 : Conflicts: foo but 1.0 is to be installed foo : Conflicts: foo:i386 but 1.0 is to be installed -E: Unable to correct problems, you have held broken packages." aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s +E: Unable to correct problems, you have held broken packages." aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s --solver internal testsuccess apt show foo --with-source ./incoming/foo_1.0_amd64.deb testequal 'Package: foo @@ -175,7 +177,8 @@ echo 'Package: /pkg-/ Pin: release a=experimental Pin-Priority: 501' > rootdir/etc/apt/preferences.d/pinit -testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install -q=0 ./incoming/pkg-last-line-parse_0_all.deb +testfailuremsg 'E: Unsatisfiable dependency group pkg-last-line-parse:amd64=0 -> pkg-as-it-should-be:amd64' aptget install -q=0 ./incoming/pkg-last-line-parse_0_all.deb --solver 3.0 +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install -q=0 ./incoming/pkg-last-line-parse_0_all.deb --solver internal testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb testsuccess aptget install ./incoming/pkg-last-line-parse_0_all.deb testsuccess aptget install "$(readlink -f ./incoming/pkg-leading-newline_0_all.deb)" diff --git a/test/integration/test-apt-get-satisfy b/test/integration/test-apt-get-satisfy index 267760ffd..fc7e8050e 100755 --- a/test/integration/test-apt-get-satisfy +++ b/test/integration/test-apt-get-satisfy @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' 'amd64' insertpackage 'stable' 'depends' 'i386' '1' @@ -79,6 +80,8 @@ testrun 'External' 'Reading package lists... Building dependency tree... Execute external solver...' --solver apt +testfailuremsg "E: Unsatisfiable dependency group satisfy:command-line:i386=1 -> depends:i386" aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --solver 3.0 + testfailureequal "Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -89,8 +92,10 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed -E: Unable to correct problems, you have held broken packages." aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" +E: Unable to correct problems, you have held broken packages." aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --solver internal +if [ "$APT_SOLVER" != "3.0" ]; then +# FIXME: solver3 doesn't produce nice errors in the external solver scenario testfailureequal "Reading package lists... Building dependency tree... Execute external solver... @@ -109,3 +114,4 @@ The following packages have unmet dependencies: satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed Conflicts: conflicts:i386 (>= 1) E: External solver failed with: The following packages have unmet dependencies:" aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --solver apt +fi diff --git a/test/integration/test-apt-get-source-only b/test/integration/test-apt-get-source-only index 93d82844c..b974146ff 100755 --- a/test/integration/test-apt-get-source-only +++ b/test/integration/test-apt-get-source-only @@ -29,6 +29,31 @@ DOWNLOADNOTFOO="Need to get 0 B/33 B of source archives. 'file:${APTARCHIVE}/not-foo_1.0.dsc' not-foo_1.0.dsc 15 SHA256:db578a571c87d2555e90245732042845be4f481755f5b2f5786ac7a26bde9f4f 'file:${APTARCHIVE}/not-foo_1.0.tar.gz' not-foo_1.0.tar.gz 18 SHA256:8701846f1cba0ca81c552ac0ec93e2a89ae113cf2872b9cd51b29b4a9ff6b122" +if [ "$APT_SOLVER" = "3.0" ]; then +BUILDDEPFOO="Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:foo : Depends: foo-bd but it is not installable +E: Unsatisfiable dependency group builddeps:foo:amd64=1 -> foo-bd:amd64" + +BUILDDEPNOTFOO="Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:not-foo : Depends: not-foo-bd but it is not installable +E: Unsatisfiable dependency group builddeps:not-foo:amd64=1 -> not-foo-bd:amd64" +else BUILDDEPFOO="Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -52,6 +77,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:not-foo : Depends: not-foo-bd but it is not installable E: Unable to correct problems, you have held broken packages." +fi testsuccessequal "$HEADER Picking 'not-foo' as source package instead of 'foo' diff --git a/test/integration/test-apt-get-upgrade b/test/integration/test-apt-get-upgrade index 50a90ce66..9fb2b41d1 100755 --- a/test/integration/test-apt-get-upgrade +++ b/test/integration/test-apt-get-upgrade @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture "i386" # simple case @@ -60,6 +61,30 @@ Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) Conf new-dep (1.0 stable [all]) Conf upgrade-simple (2.0 unstable [all]) Conf upgrade-with-new-dep (2.0 unstable [all])' +if [ "$APT_SOLVER" = "3.0" ]; then +# FIXME: It would be better if we would keep back the upgrade rather than switch to sysvinit, +# but it's not clear that is reliably possible. +UPGRADENEW="Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + new-dep sysvinit +The following packages have been kept back: + upgrade-with-conflict +The following packages will be upgraded: + init upgrade-simple upgrade-with-new-dep +3 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. +Inst sysvinit (2 unstable [all]) +Conf sysvinit (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])" +fi testsuccessequal "$UPGRADENEW" aptget upgrade -s --with-new-pkgs testsuccessequal "$UPGRADENEW" apt upgrade -s diff --git a/test/integration/test-apt-never-markauto-sections b/test/integration/test-apt-never-markauto-sections index b47966e75..a1fc87389 100755 --- a/test/integration/test-apt-never-markauto-sections +++ b/test/integration/test-apt-never-markauto-sections @@ -47,7 +47,8 @@ Remv foreignpkg:i386 [1] Remv nosection [1] Remv texteditor [1]' aptget autoremove mydesktop -s -testequal 'Reading package lists... +testfailuremsg 'E: Conflict: not texteditor:amd64 -> not texteditor:amd64=1 -> not bad-texteditor:amd64=1 -> not mydesktop-core:amd64=1 but mydesktop:amd64 -> mydesktop:amd64=1 -> mydesktop-core:amd64=1' aptget autoremove texteditor -s --solver 3.0 #-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following packages will be REMOVED: @@ -55,8 +56,8 @@ The following packages will be REMOVED: 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. Remv mydesktop [1] Remv mydesktop-core [1] -Remv texteditor [1]' aptget autoremove texteditor -s #-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -testsuccess aptget autoremove texteditor -y +Remv texteditor [1]' aptget autoremove texteditor -s --solver internal #-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 +testsuccess aptget autoremove texteditor -y --solver internal testdpkgnotinstalled mydesktop mydesktop-core texteditor testdpkginstalled browser diff --git a/test/integration/test-bug-549968-install-depends-of-not-installed b/test/integration/test-bug-549968-install-depends-of-not-installed index 90ce58a33..39c86cc8d 100755 --- a/test/integration/test-bug-549968-install-depends-of-not-installed +++ b/test/integration/test-bug-549968-install-depends-of-not-installed @@ -25,4 +25,24 @@ The following NEW packages will be installed: coolstuff 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Inst coolstuff (1.0 unstable [all]) -Conf coolstuff (1.0 unstable [all])" aptget install coolstuff extracoolstuff- -o Debug::pkgDepCache::Marker=1 -s +Conf coolstuff (1.0 unstable [all])" aptget install coolstuff extracoolstuff- -o Debug::pkgDepCache::Marker=1 -s --solver internal + +# We check the Markers here as the autoremove nuker will also +# prevent it, but to late - its better to fail earlier +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'extracoolstuff' is not installed, so not removed +Solving dependencies...MANUAL coolstuff:i386 +[0] Install:coolstuff:i386=1.0 () +Delete extracoolstuff:i386 +[0] Reject:extracoolstuff:i386 () +[0] Reject:extracoolstuff:i386=1.0 (not extracoolstuff:i386) +Optional Item (0@0) coolstuff:i386=1.0 -> | extracoolstuff:i386=1.0 + +Recommended packages: + extracoolstuff +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst coolstuff (1.0 unstable [all]) +Conf coolstuff (1.0 unstable [all])" aptget install coolstuff extracoolstuff- -o Debug::APT::Solver=1 -s --solver 3.0 diff --git a/test/integration/test-bug-596498-trusted-unsigned-repo b/test/integration/test-bug-596498-trusted-unsigned-repo index 4d0e3dc89..2cfdc53fc 100755 --- a/test/integration/test-bug-596498-trusted-unsigned-repo +++ b/test/integration/test-bug-596498-trusted-unsigned-repo @@ -15,10 +15,15 @@ aptgetupdate() { rm -rf rootdir/var/lib/apt/ rootdir/var/cache/apt/*.bin ${1:-testwarning} aptget update --allow-insecure-repositories } - -PKGTEXT="$(aptget install cool --assume-no -d | head -n 8)" -DOWNLOG="$(echo "$PKGTEXT" | tail -n 1)" -PKGTEXT="$(echo "$PKGTEXT" | head -n 7)" +PKGSIZE=$(aptcache show cool | awk '/^Size:/ {print $2}') +PKGTEXT="Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + cool +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/$PKGSIZE B of archives. +After this operation, 11.3 kB of additional disk space will be used." +DOWNLOG="Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main i386 cool i386 1.0 [$PKGSIZE B]" DEBFILE='rootdir/etc/apt/sources.list.d/apt-test-unstable-*.list' testsuccessequal "$PKGTEXT diff --git a/test/integration/test-bug-598669-install-postfix-gets-exim-heavy b/test/integration/test-bug-598669-install-postfix-gets-exim-heavy index e7e409391..e27ddb2db 100755 --- a/test/integration/test-bug-598669-install-postfix-gets-exim-heavy +++ b/test/integration/test-bug-598669-install-postfix-gets-exim-heavy @@ -7,6 +7,8 @@ setupenvironment configarchitecture "i386" setupaptarchive +testfailuremsg "E: Conflict: -> postfix:i386=2.7.1-1 but exim4-daemon-light:i386 -> exim4-daemon-light:i386=4.72-1 -> not postfix:i386=2.7.1-1" aptget install postfix --solver 3.0 +allowremovemanual testfailureequal "Reading package lists... Building dependency tree... The following packages will be REMOVED: diff --git a/test/integration/test-bug-601961-install-info b/test/integration/test-bug-601961-install-info index 3e135606d..94a5ad2cf 100755 --- a/test/integration/test-bug-601961-install-info +++ b/test/integration/test-bug-601961-install-info @@ -47,4 +47,17 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: findutils : Depends: essentialpkg but it is not going to be installed -E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.' aptget remove essentialpkg --trivial-only +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.' aptget remove essentialpkg --trivial-only --solver internal + +testfailureequal 'Reading package lists... +Building dependency tree... +Solving dependencies... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + findutils : Depends: essentialpkg but it is not going to be installed +E: Conflict: -> findutils:i386 but not essentialpkg:i386 -> not essentialpkg:i386=4.13a.dfsg.1-6 -> not findutils:i386=4.4.2-1+b1 -> not findutils:i386' aptget remove essentialpkg --trivial-only --solver 3.0 diff --git a/test/integration/test-bug-604222-new-and-autoremove b/test/integration/test-bug-604222-new-and-autoremove index 6a251c8f5..a53fcb76b 100755 --- a/test/integration/test-bug-604222-new-and-autoremove +++ b/test/integration/test-bug-604222-new-and-autoremove @@ -93,6 +93,25 @@ E: Trivial Only specified but this is not a trivial operation." aptget install d rm -f rootdir/var/lib/dpkg/status rootdir/var/lib/apt/extended_states +if [ "$APT_SOLVER" = "3.0" ]; then +CONFLICTING='Reading package lists... +Building dependency tree... +Solving dependencies...MANUAL dummy-archive:i386 +[0] Install:dummy-archive:i386=0.invalid.0 () +[0] Install:libavcodec52:i386=4:0.5.2-6 (dummy-archive:i386=0.invalid.0) +[0] Reject:libvtk5-dev:i386=5.4.2-8 (dummy-archive:i386=0.invalid.0 -> libavcodec52:i386=4:0.5.2-6) +Item (1@0) dummy-archive:i386=0.invalid.0 -> | libvtk5-dev:i386=5.4.2-8 | libopenal-dev:i386=1:1.12.854-2 +[0] Install:libopenal-dev:i386=1:1.12.854-2 (dummy-archive:i386=0.invalid.0) + +The following additional packages will be installed: + libavcodec52 libopenal-dev +The following NEW packages will be installed: + dummy-archive libavcodec52 libopenal-dev +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' +else CONFLICTING='Reading package lists... Building dependency tree... MarkInstall dummy-archive:i386 < none -> 0.invalid.0 @un puN Ib > FU=1 @@ -108,10 +127,11 @@ The following NEW packages will be installed: Need to get 0 B/126 B of archives. After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' +fi -testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=0 -testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=1 -testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=small +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=0 -o Debug::APT::Solver=1 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=1 -o Debug::APT::Solver=1 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=small -o Debug::APT::Solver=1 insertinstalledpackage 'my-metapackage' 'i386' '1' 'Depends: gwenview' insertinstalledpackage 'gwenview' 'i386' '4:15.08.0-1' 'Depends: libkipi-data diff --git a/test/integration/test-bug-612099-multiarch-conflicts b/test/integration/test-bug-612099-multiarch-conflicts index bc573951d..a005127b8 100755 --- a/test/integration/test-bug-612099-multiarch-conflicts +++ b/test/integration/test-bug-612099-multiarch-conflicts @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' 'amd64' buildsimplenativepackage 'libc6' 'i386' '1.0' 'stable' diff --git a/test/integration/test-bug-612557-garbage-upgrade b/test/integration/test-bug-612557-garbage-upgrade index e0ede7847..2a4c952ee 100755 --- a/test/integration/test-bug-612557-garbage-upgrade +++ b/test/integration/test-bug-612557-garbage-upgrade @@ -17,6 +17,8 @@ testsuccess aptmark markauto python-uno openoffice.org-common #aptmark unmarkauto openoffice.org-emailmerge testmarkedauto python-uno openoffice.org-common +# The 3.0 solver does not remove openoffice.org-emailmerge because it is manually installed. +testfailuremsg "E: Conflict: -> openoffice.org-emailmerge:i386 but python-uno:i386=1:3.3.0-2 -> libreoffice-common:i386=1:3.3.0-2 -> not openoffice.org-common:i386=1:3.2.1-11+squeeze2 -> not openoffice.org-emailmerge:i386=1:3.2.1-11+squeeze2 -> not openoffice.org-emailmerge:i386" aptget --trivial-only install python-uno --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Reading state information... @@ -31,7 +33,7 @@ The following packages will be upgraded: 1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. Need to get 0 B/84 B of archives. After this operation, 53.2 MB disk space will be freed. -E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno +E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno --solver internal testsuccess aptmark markauto openoffice.org-emailmerge testmarkedauto python-uno openoffice.org-common openoffice.org-emailmerge diff --git a/test/integration/test-bug-613420-new-garbage-dependency b/test/integration/test-bug-613420-new-garbage-dependency index 75a653c7e..0d830971f 100755 --- a/test/integration/test-bug-613420-new-garbage-dependency +++ b/test/integration/test-bug-613420-new-garbage-dependency @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture "i386" insertpackage 'unstable' 'libreoffice' 'all' '1:3.3.1~rc1-2' 'Depends: libreoffice-core' diff --git a/test/integration/test-bug-618848-always-respect-user-requests b/test/integration/test-bug-618848-always-respect-user-requests index 225db299c..8b7b17b77 100755 --- a/test/integration/test-bug-618848-always-respect-user-requests +++ b/test/integration/test-bug-618848-always-respect-user-requests @@ -13,6 +13,17 @@ insertpackage 'unstable' 'exim4-daemon-heavy' 'all' '1.0' 'Depends: libdb4.8' setupaptarchive +# This does not work in 3.0 solver: We do not remove manually installed packages. +testfailuremsg "E: Conflict: not libdb4.8:i386 -> not libdb4.8:i386=1.0 -> not exim4-daemon-light:i386=1.0 -> not exim4:i386=1.0 but exim4:i386 -> exim4:i386=1.0" aptget remove libdb4.8 --solver 3.0 -s +allowremovemanual +testsuccessequal "Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + exim4 exim4-daemon-light libdb4.8 +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv exim4 [1.0] +Remv exim4-daemon-light [1.0] +Remv libdb4.8 [1.0]" aptget remove libdb4.8 -s testsuccessequal "Reading package lists... Building dependency tree... MarkDelete libdb4.8:i386 < 1.0 @ii pmK > FU=1 @@ -28,4 +39,4 @@ Remv exim4 [1.0] MarkDelete exim4-daemon-light:i386 < 1.0 @ii K > FU=1 Remv exim4-daemon-light [1.0] MarkDelete libdb4.8:i386 < 1.0 @ii K > FU=1 -Remv libdb4.8 [1.0]" aptget remove libdb4.8 -s -o Debug::pkgDepCache::Marker=1 +Remv libdb4.8 [1.0]" aptget remove libdb4.8 -s -o Debug::pkgDepCache::Marker=1 --solver internal diff --git a/test/integration/test-bug-632221-cross-dependency-satisfaction b/test/integration/test-bug-632221-cross-dependency-satisfaction index 0cf8d353f..90cb8684f 100755 --- a/test/integration/test-bug-632221-cross-dependency-satisfaction +++ b/test/integration/test-bug-632221-cross-dependency-satisfaction @@ -35,6 +35,7 @@ insertsource 'unstable' 'source-specific-armel' 'armel' '1' 'Build-Depends: spec setupaptarchive +testfailuremsg "E: Unsatisfiable dependency group builddeps:forbidden-no:armel=1 -> amdboot:any:any" aptget build-dep forbidden-no -s -a armel --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -46,7 +47,9 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:forbidden-no:armel : Depends: amdboot:any but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-no -s -a armel +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-no -s -a armel --solver internal + +testfailuremsg "E: Unsatisfiable dependency group builddeps:forbidden-same:armel=1 -> libc6:any:any" aptget build-dep forbidden-same -s -a armel --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -58,7 +61,9 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:forbidden-same:armel : Depends: libc6:any but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-same -s -a armel +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-same -s -a armel --solver internal + +testfailuremsg 'E: Unsatisfiable dependency group builddeps:forbidden-foreign:armel=1 -> doxygen:any:any' aptget build-dep forbidden-foreign -s -a armel --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -70,7 +75,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:forbidden-foreign:armel : Depends: doxygen:any but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-foreign -s -a armel +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-foreign -s -a armel --solver internal testsuccessequal 'Reading package lists... Reading package lists... diff --git a/test/integration/test-bug-64141-install-dependencies-for-on-hold b/test/integration/test-bug-64141-install-dependencies-for-on-hold index fe3bde648..2565c949b 100755 --- a/test/integration/test-bug-64141-install-dependencies-for-on-hold +++ b/test/integration/test-bug-64141-install-dependencies-for-on-hold @@ -19,6 +19,38 @@ insertpackage 'unstable' 'libdb4.8' 'native' '4.8.30-3' setupaptarchive +# Solver 3.0 does not remove manual packages +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + apt +The following packages will be upgraded: + libc6 +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only --solver 3.0 + +testfailure aptget dist-upgrade --trivial-only --solver 3.0 -o debug::apt::solver=2 +testsuccess grep -Fx 'Branch failed: Conflict: apt:amd64 -> apt:amd64=0.8.10 -> not oldcrap:amd64=1-1 but oldcrap:amd64 -> oldcrap:amd64=1-1' rootdir/tmp/testfailure.output + +allowremovemanual + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + oldcrap +The following NEW packages will be installed: + libdb4.8 +The following packages will be upgraded: + apt libc6 +2 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + testfailureequal 'Reading package lists... Building dependency tree... Calculating upgrade... diff --git a/test/integration/test-bug-657695-resolver-breaks-on-virtuals b/test/integration/test-bug-657695-resolver-breaks-on-virtuals index 42b85218b..e3ff6d1b5 100755 --- a/test/integration/test-bug-657695-resolver-breaks-on-virtuals +++ b/test/integration/test-bug-657695-resolver-breaks-on-virtuals @@ -16,6 +16,15 @@ insertpackage 'unstable' 'xserver-xorg-core' 'amd64' '2:1.11.3-0ubuntu9' 'Breaks setupaptarchive +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + xserver-xorg-core +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget dist-upgrade --trivial-only --solver 3.0 + +allowremovemanual + testfailureequal 'Reading package lists... Building dependency tree... Calculating upgrade... diff --git a/test/integration/test-bug-683786-build-dep-on-virtual-packages b/test/integration/test-bug-683786-build-dep-on-virtual-packages index 831e1f831..45e40e20e 100755 --- a/test/integration/test-bug-683786-build-dep-on-virtual-packages +++ b/test/integration/test-bug-683786-build-dep-on-virtual-packages @@ -41,6 +41,7 @@ The following NEW packages will be installed: Inst po-debconf (1 unstable [all]) Conf po-debconf (1 unstable [all])' aptget build-dep dash -s +testfailuremsg 'E: Unsatisfiable dependency group builddeps:dash:armel=1 -> po-debconf:armel' aptget build-dep -aarmel dash -s --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -52,7 +53,9 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:dash:armel : Depends: po-debconf:armel but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel dash -s +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel dash -s --solver internal + +testfailuremsg 'E: Unsatisfiable dependency group builddeps:diffutils:armel=1 -> texi2html:armel' aptget build-dep -aarmel diffutils -s --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -64,7 +67,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:diffutils:armel : Depends: texi2html:armel but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel diffutils -s +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel diffutils -s --solver internal testsuccessequal "Reading package lists... Reading package lists... @@ -75,6 +78,7 @@ The following NEW packages will be installed: Inst libselinux1-dev (1 unstable [amd64]) Conf libselinux1-dev (1 unstable [amd64])" aptget build-dep sed -s +testfailuremsg 'E: Unsatisfiable dependency group builddeps:sed:armel=1 -> libselinux-dev:armel' aptget build-dep -aarmel sed -s --solver 3.0 testfailureequal 'Reading package lists... Reading package lists... Building dependency tree... @@ -86,7 +90,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:sed:armel : Depends: libselinux-dev:armel but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel sed -s +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel sed -s --solver internal testsuccessequal "Reading package lists... Reading package lists... diff --git a/test/integration/test-bug-686346-package-missing-architecture b/test/integration/test-bug-686346-package-missing-architecture index d28600a4f..a064e5d73 100755 --- a/test/integration/test-bug-686346-package-missing-architecture +++ b/test/integration/test-bug-686346-package-missing-architecture @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' insertinstalledpackage 'pkgb' 'none' '1' diff --git a/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch b/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch index 9c96bbe52..3bad6174a 100755 --- a/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch +++ b/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' buildsimplenativepackage 'toolkit' 'all' '1' 'stable' 'Multi-Arch: foreign' @@ -89,7 +90,8 @@ stuff 2 amd64 none > - - none **REMOVE**' testfileequal "${hook}-v2.list" 'libsame 2 > - **REMOVE**' testfileequal "${hook}-v3.list" 'libsame 2 amd64 same > - - none **REMOVE**' - observehook install stuff:i386/stable libsame:i386/stable toolkit/stable + # FIXME: solver3: This should not require no-strict-pinning + observehook install stuff:i386/stable libsame:i386/stable toolkit/stable $(test "$APT_SOLVER" != "3.0" || printf '%s' '--no-strict-pinning') testfileequal "${hook}-v2.list" 'libsame 2 > 1 **CONFIGURE** stuff 2 > 1 **CONFIGURE** toolkit 2 > 1 **CONFIGURE**' diff --git a/test/integration/test-bug-720597-build-dep-purge b/test/integration/test-bug-720597-build-dep-purge index 4b36989ee..9ff0d23f4 100755 --- a/test/integration/test-bug-720597-build-dep-purge +++ b/test/integration/test-bug-720597-build-dep-purge @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual # we need this construct here as it isn't really possible to fake native arch for dpkg-* tools NATIVE="$(command dpkg --print-architecture)" diff --git a/test/integration/test-bug-723586-any-stripped-in-single-arch b/test/integration/test-bug-723586-any-stripped-in-single-arch index 38eb026ff..441bc29c2 100755 --- a/test/integration/test-bug-723586-any-stripped-in-single-arch +++ b/test/integration/test-bug-723586-any-stripped-in-single-arch @@ -29,6 +29,20 @@ Inst python3-gnupg (0.3.5-2 stable [all]) Conf python3 (3.3.2-16 unstable [amd64]) Conf python3-gnupg (0.3.5-2 stable [all])' +if [ "$APT_SOLVER" = "3.0" ]; then +FAILLOG='Reading package lists... +Building dependency tree... +Solving dependencies... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + python-mips : Depends: python3:mips but it is not installable +E: Unsatisfiable dependency group python-mips:amd64=3 -> python3:mips:any' +else FAILLOG='Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -40,6 +54,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: python-mips : Depends: python3:mips but it is not installable E: Unable to correct problems, you have held broken packages.' +fi testsuccessequal "$INSTALLLOG" aptget install python3-gnupg -s aptcache showpkg python3 > showpkg.log diff --git a/test/integration/test-bug-735967-lib32-to-i386-unavailable b/test/integration/test-bug-735967-lib32-to-i386-unavailable index b836451fd..a44e58570 100755 --- a/test/integration/test-bug-735967-lib32-to-i386-unavailable +++ b/test/integration/test-bug-735967-lib32-to-i386-unavailable @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' 'amd64' insertpackage 'unstable' 'lib32nss-mdns' 'amd64' '0.10-6' 'Depends: libnss-mdns-i386 (= 0.10-6)' @@ -31,6 +32,12 @@ setupaptarchive --no-update configarchitecture 'amd64' testsuccess aptget update +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + lib32nss-mdns libnss-mdns +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -s --solver 3.0 testsuccessequal 'Reading package lists... Building dependency tree... Calculating upgrade... @@ -41,8 +48,9 @@ The following packages will be upgraded: 1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Remv lib32nss-mdns [0.9-1] Inst libnss-mdns [0.9-1] (0.10-6 unstable [amd64]) -Conf libnss-mdns (0.10-6 unstable [amd64])' aptget dist-upgrade -s +Conf libnss-mdns (0.10-6 unstable [amd64])' aptget dist-upgrade -s --solver internal +testfailuremsg 'E: Unsatisfiable dependency group libfoo:amd64=1 -> libfoo-bin:amd64' aptget install foo -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -53,7 +61,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: libfoo : Depends: libfoo-bin but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget install foo -s +E: Unable to correct problems, you have held broken packages.' aptget install foo -s --solver internal # activate multiarch configarchitecture 'amd64' 'i386' diff --git a/test/integration/test-bug-747261-arch-specific-conflicts b/test/integration/test-bug-747261-arch-specific-conflicts index e1370433f..093542d1c 100755 --- a/test/integration/test-bug-747261-arch-specific-conflicts +++ b/test/integration/test-bug-747261-arch-specific-conflicts @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'sparc' 'armel' insertinstalledpackage 'foobar' 'armel' '1' diff --git a/test/integration/test-bug-769609-triggers-still-pending-after-run b/test/integration/test-bug-769609-triggers-still-pending-after-run index ce2c193dd..0a2dd25c8 100755 --- a/test/integration/test-bug-769609-triggers-still-pending-after-run +++ b/test/integration/test-bug-769609-triggers-still-pending-after-run @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' msgtest 'Check if installed dpkg supports' 'noawait trigger' diff --git a/test/integration/test-bug-796070-downgrade-simulate b/test/integration/test-bug-796070-downgrade-simulate index 61ecc87d4..d1b6b7f8f 100755 --- a/test/integration/test-bug-796070-downgrade-simulate +++ b/test/integration/test-bug-796070-downgrade-simulate @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' insertpackage 'unstable' 'apt' 'all' '1.0.10.1' 'Depends: libapt-pkg4.16 (>= 1.0.10.1)' diff --git a/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict index 272378b01..270536fae 100755 --- a/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict +++ b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict @@ -15,6 +15,7 @@ Important: yes' setupaptarchive +# This only works on internal, we do not have magic essential autoswitch ability for 3.0 testsuccessequal "Reading package lists... Building dependency tree... Removing: systemd-sysv:amd64 as upgrade is not an option for runit-init:amd64 (1) @@ -50,4 +51,4 @@ Remv init [1] MarkDelete systemd-sysv:amd64 < 1 | none @ii H > FU=1 Remv systemd-sysv [1] Inst runit-init (1 unstable [all]) -Conf runit-init (1 unstable [all])" apt install runit-init -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 -o APT::Get::Allow-Solver-Remove-Essential=1 +Conf runit-init (1 unstable [all])" apt install runit-init -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 -o APT::Get::Allow-Solver-Remove-Essential=1 --solver internal diff --git a/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends b/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends index ca6bf8d7c..da11fc881 100755 --- a/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends +++ b/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends @@ -18,6 +18,35 @@ insertpackage 'unstable' 'fine-foo' 'all' '1' setupaptarchive +testsuccessequal "Reading package lists... +Building dependency tree... +Solving dependencies...MANUAL foobar:amd64 +[0] Install:foobar:amd64=1 () +[0] Install:requires-foo:amd64=1 (foobar:amd64=1) +[0] Install:foo:amd64=1 (foobar:amd64=1 -> requires-foo:amd64=1) +[0] Install:foo-depends:amd64=1 (foobar:amd64=1 -> requires-foo:amd64=1 -> foo:amd64=1) +Item (2@0) foobar:amd64=1 -> | conflicts-foo:amd64=1 | fine-foo:amd64=1 +[1] Install:conflicts-foo:amd64=1 (foobar:amd64=1) +[0] Reject:conflicts-foo:amd64=1 () +Item (1@0) foobar:amd64=1 -> | conflicts-foo:amd64=1 | fine-foo:amd64=1 +[0] Install:fine-foo:amd64=1 (foobar:amd64=1) + +The following additional packages will be installed: + fine-foo foo foo-depends requires-foo +The following NEW packages will be installed: + fine-foo foo foo-depends foobar requires-foo +0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. +Inst fine-foo (1 unstable [all]) +Inst foo-depends (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst requires-foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf fine-foo (1 unstable [all]) +Conf foo-depends (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf requires-foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -so Debug::APT::Solver=1 --solver 3.0 + testsuccessequal "Reading package lists... Building dependency tree... Installing foo:amd64 as Depends of foobar:amd64 @@ -42,4 +71,4 @@ Conf fine-foo (1 unstable [all]) Conf foo-depends (1 unstable [all]) Conf foo (1 unstable [all]) Conf requires-foo (1 unstable [all]) -Conf foobar (1 unstable [all])" apt install foobar -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 +Conf foobar (1 unstable [all])" apt install foobar -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 --solver internal diff --git a/test/integration/test-bug-lp1562402-nomark-removals-as-keep b/test/integration/test-bug-lp1562402-nomark-removals-as-keep index 6e8225aa4..41a9591fa 100755 --- a/test/integration/test-bug-lp1562402-nomark-removals-as-keep +++ b/test/integration/test-bug-lp1562402-nomark-removals-as-keep @@ -18,6 +18,15 @@ insertinstalledpackage 'maas-region-controller' 'all' '2.0.0~alpha3+bzr4810-0ubu setupaptarchive +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + maas-common maas-region-controller maas-region-controller-min +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.' aptget dist-upgrade -s --solver 3.0 + +allowremovemanual + testsuccess aptget dist-upgrade -s -o Debug::pkgDepCache::AutoInstall=true -o Debug::pkgPackageManager=yes -o Debug::pkgProblemResolver=yes testsuccessequal 'Reading package lists... Building dependency tree... diff --git a/test/integration/test-crossgrades b/test/integration/test-crossgrades index 6398e7e7f..b42821539 100755 --- a/test/integration/test-crossgrades +++ b/test/integration/test-crossgrades @@ -5,6 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'i386' 'amd64' 'armel' configdpkgnoopchroot diff --git a/test/integration/test-dpkg-i-apt-install-fix-broken b/test/integration/test-dpkg-i-apt-install-fix-broken index 0b75b5fb1..5c517aaef 100755 --- a/test/integration/test-dpkg-i-apt-install-fix-broken +++ b/test/integration/test-dpkg-i-apt-install-fix-broken @@ -14,6 +14,28 @@ setupaptarchive testfailure dpkg -i incoming/autopkgtest-*.deb testsuccessequal 'Reading package lists... Building dependency tree... +Correcting dependencies...MANUAL autopkgtest-satdep:amd64 +[0] Install:autopkgtest-satdep:amd64 () +[0] Install:autopkgtest-satdep:amd64=1 (autopkgtest-satdep:amd64) +[0] Install:debhelper:amd64=1 (autopkgtest-satdep:amd64 -> autopkgtest-satdep:amd64=1) + Done +Solving dependencies...AUTOMATIC debhelper:amd64 - upgrade +MANUAL autopkgtest-satdep:amd64 +[0] Install:autopkgtest-satdep:amd64 () +[0] Install:autopkgtest-satdep:amd64=1 (autopkgtest-satdep:amd64) +[0] Install:debhelper:amd64=1 (autopkgtest-satdep:amd64 -> autopkgtest-satdep:amd64=1) + +The following additional packages will be installed: + debhelper +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst debhelper (1 stable [all]) +Conf debhelper (1 stable [all]) +Conf autopkgtest-satdep (1 stable [amd64])' apt install -fso Debug::APT::Solver=1 --solver 3.0 +testsuccessequal 'Reading package lists... +Building dependency tree... Correcting dependencies... MarkInstall autopkgtest-satdep:amd64 < 1 @iU K Nb Ib > FU=0 MarkInstall debhelper:amd64 < none -> 1 @un uN > FU=0 Starting pkgProblemResolver with broken count: 0 @@ -31,4 +53,4 @@ The following NEW packages will be installed: 1 not fully installed or removed. Inst debhelper (1 stable [all]) Conf debhelper (1 stable [all]) -Conf autopkgtest-satdep (1 stable [amd64])' apt install -fso Debug::pkgProblemResolver=1 -o DEbug::pkgDepCache::Marker=1 +Conf autopkgtest-satdep (1 stable [amd64])' apt install -fso Debug::pkgProblemResolver=1 -o DEbug::pkgDepCache::Marker=1 --solver internal diff --git a/test/integration/test-external-installation-planner-protocol b/test/integration/test-external-installation-planner-protocol index 192f21bb3..1a04d2493 100755 --- a/test/integration/test-external-installation-planner-protocol +++ b/test/integration/test-external-installation-planner-protocol @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' buildsimplenativepackage 'libfoo' 'amd64' '3' 'experimental' 'Multi-Arch: same' diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups index 564ea8839..1c20ae4f1 100755 --- a/test/integration/test-handling-broken-orgroups +++ b/test/integration/test-handling-broken-orgroups @@ -47,6 +47,7 @@ Inst coolstuff2 (1.0-1 unstable [all]) Conf stuff (1.0-1 unstable [all]) Conf coolstuff2 (1.0-1 unstable [all])' aptget install coolstuff2 -s +testfailuremsg 'E: Unsatisfiable dependency group coolstuff-broken:i386=1.0-1 -> cool2:i386' aptget install coolstuff-broken --solver 3.0 -s testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -58,7 +59,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-broken : Depends: cool2 but it is not installable or stuff2 but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken --solver internal -s testsuccessequal 'Reading package lists... Building dependency tree... @@ -94,6 +95,7 @@ Inst coolstuff-provided (1.0-1 unstable [all]) Conf extrastuff (1.0-1 unstable [all]) Conf coolstuff-provided (1.0-1 unstable [all])' aptget install coolstuff-provided -s +testfailuremsg 'E: Unsatisfiable dependency group coolstuff-provided-broken:i386=1.0-1 -> cool2:i386' aptget install coolstuff-provided-broken --solver 3.0 -s testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -105,4 +107,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-provided-broken : Depends: cool2 but it is not installable or stuff-abi-2 -E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken --solver internal -s diff --git a/test/integration/test-ignore-provides-if-versioned-breaks b/test/integration/test-ignore-provides-if-versioned-breaks index ebcbecf47..7947d6d01 100755 --- a/test/integration/test-ignore-provides-if-versioned-breaks +++ b/test/integration/test-ignore-provides-if-versioned-breaks @@ -32,7 +32,10 @@ insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Breaks: foo-same' setupaptarchive - +testfailuremsg 'E: Conflict: foo:i386 but no versions are installable +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=4.0 +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=2.0 +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=2.0' aptget install foo-provider foo-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -43,7 +46,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-breaker-none : Breaks: foo -E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... @@ -71,6 +74,10 @@ Conf foo (4.0 unstable [i386]) Conf foo-breaker-3 (1.0 unstable [i386]) Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s +testfailuremsg 'E: Conflict: foo-foreign:amd64 but no versions are installable +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=4.0 +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=2.0 +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=4.0' aptget install foo-foreign-provider foo-foreign-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -81,7 +88,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-foreign-breaker-none : Breaks: foo-foreign -E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... @@ -109,6 +116,7 @@ Conf foo-foreign:amd64 (4.0 unstable [amd64]) Conf foo-foreign-breaker-3 (1.0 unstable [i386]) Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s +testfailuremsg 'E: Conflict: -> foo-same:i386 but foo-same-breaker-none:i386=1.0 -> not foo-same:i386=2.0 -> not foo-same:i386' aptget install foo-same-provider foo-same-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -119,7 +127,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-same-breaker-none : Breaks: foo-same -E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... diff --git a/test/integration/test-ignore-provides-if-versioned-conflicts b/test/integration/test-ignore-provides-if-versioned-conflicts index 3243cfb51..dd24263d1 100755 --- a/test/integration/test-ignore-provides-if-versioned-conflicts +++ b/test/integration/test-ignore-provides-if-versioned-conflicts @@ -33,6 +33,10 @@ insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Conflicts: foo-sa setupaptarchive +testfailuremsg 'E: Conflict: foo:i386 but no versions are installable +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=4.0 +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=2.0 +E: Uninstallable version: foo-breaker-none:i386=1.0 -> not foo:i386=2.0' aptget install foo-provider foo-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -43,7 +47,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-breaker-none : Conflicts: foo -E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... @@ -71,6 +75,10 @@ Conf foo (4.0 unstable [i386]) Conf foo-breaker-3 (1.0 unstable [i386]) Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s +testfailuremsg 'E: Conflict: foo-foreign:amd64 but no versions are installable +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=4.0 +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=2.0 +E: Uninstallable version: foo-foreign-breaker-none:i386=1.0 -> not foo-foreign:amd64=4.0' aptget install foo-foreign-provider foo-foreign-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -81,7 +89,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-foreign-breaker-none : Conflicts: foo-foreign -E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... @@ -109,6 +117,7 @@ Conf foo-foreign:amd64 (4.0 unstable [amd64]) Conf foo-foreign-breaker-3 (1.0 unstable [i386]) Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s +testfailuremsg 'E: Conflict: -> foo-same:i386 but foo-same-breaker-none:i386=1.0 -> not foo-same:i386=2.0 -> not foo-same:i386' aptget install foo-same-provider foo-same-breaker-none -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -119,7 +128,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-same-breaker-none : Conflicts: foo-same -E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... diff --git a/test/integration/test-multiarch-allowed b/test/integration/test-multiarch-allowed index fc63d0e33..298867c5f 100755 --- a/test/integration/test-multiarch-allowed +++ b/test/integration/test-multiarch-allowed @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' insertpackage 'unstable' 'foo' 'amd64,i386' '1' 'Multi-Arch: allowed' @@ -63,20 +64,23 @@ Inst needsfoo:i386 (1 unstable [i386]) Conf foo:i386 (1 unstable [i386]) Conf needsfoo:i386 (1 unstable [i386])' aptget install needsfoo:i386 -s # FIXME: same problem, but two different unmet dependency messages depending on install order +testfailuremsg "E: Conflict: -> needsfoo:i386=1 but foo:amd64=1 -> not foo:i386=1 -> not needsfoo:i386=1" aptget install needsfoo:i386 foo:amd64 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: foo : Conflicts: foo:i386 but 1 is to be installed foo:i386 : Conflicts: foo but 1 is to be installed -E: Unable to correct problems, you have held broken packages." aptget install needsfoo:i386 foo:amd64 -s +E: Unable to correct problems, you have held broken packages." aptget install needsfoo:i386 foo:amd64 -s --solver internal +testfailuremsg "E: Conflict: -> needsfoo:i386=1 but foo:amd64=1 -> not foo:i386=1 -> not needsfoo:i386=1" aptget install foo:amd64 needsfoo:i386 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: needsfoo:i386 : Depends: foo:i386 but it is not installable -E: Unable to correct problems, you have held broken packages." aptget install foo:amd64 needsfoo:i386 -s +E: Unable to correct problems, you have held broken packages." aptget install foo:amd64 needsfoo:i386 -s --solver internal +testfailuremsg "E: Conflict: -> needsfoo:amd64=1 but foo:i386=1 -> not foo:amd64=1 -> not needsfoo:amd64=1" aptget install needsfoo foo:i386 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: foo : Conflicts: foo:i386 but 1 is to be installed foo:i386 : Conflicts: foo but 1 is to be installed -E: Unable to correct problems, you have held broken packages." aptget install needsfoo foo:i386 -s +E: Unable to correct problems, you have held broken packages." aptget install needsfoo foo:i386 -s --solver internal solveableinsinglearch1() { testsuccessequal "Reading package lists... @@ -127,6 +131,16 @@ Conf $1 (1 unstable [amd64])" aptget install $1 foo:i386 -s testneedsfooallgood 'needsfooany' testneedsfooallgood 'needsfoover1' +if [ "$APT_SOLVER" = "3.0" ]; then +NEEDSFOO2NATIVE="$BADPREFIX +The following packages have unmet dependencies: + needsfoover2 : Depends: foo:any (>= 2) +E: Unsatisfiable dependency group needsfoover2:amd64=1 -> foo:any:any" +NEEDSFOO2FOREIGN="$BADPREFIX +The following packages have unmet dependencies: + needsfoover2:i386 : Depends: foo:any (>= 2) +E: Unsatisfiable dependency group needsfoover2:i386=1 -> foo:any:any" +else NEEDSFOO2NATIVE="$BADPREFIX The following packages have unmet dependencies: needsfoover2 : Depends: foo:any (>= 2) @@ -135,32 +149,38 @@ NEEDSFOO2FOREIGN="$BADPREFIX The following packages have unmet dependencies: needsfoover2:i386 : Depends: foo:any (>= 2) E: Unable to correct problems, you have held broken packages." +fi testfailureequal "$NEEDSFOO2NATIVE" aptget install needsfoover2 -s testfailureequal "$NEEDSFOO2FOREIGN" aptget install needsfoover2:i386 -s testfailureequal "$NEEDSFOO2FOREIGN" aptget install needsfoover2:i386 foo:i386 -s testfailureequal "$NEEDSFOO2NATIVE" aptget install needsfoover2 foo:i386 -s solveableinsinglearch2() { + testfailuremsg 'E: Conflict: hatesfoo:amd64=1 -> not foo:amd64=1 but foo:amd64=1' aptget install foo hatesfoo -s --solver 3.0 + testfailuremsg 'E: Conflict: hatesfooany:amd64=1 -> not foo:amd64=1 but foo:amd64=1' aptget install foo hatesfooany -s --solver 3.0 + testfailuremsg 'E: Conflict: hatesfoonative:amd64=1 -> not foo:amd64=1 but foo:amd64=1' aptget install foo hatesfoonative -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: hatesfoo : Conflicts: foo but 1 is to be installed -E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoo -s +E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoo -s --solver internal # the message differs slightly between single and multiarch - testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install foo hatesfooany -s + testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install foo hatesfooany -s --solver internal testfailureequal "$BADPREFIX The following packages have unmet dependencies: hatesfoonative : Conflicts: foo:amd64 -E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoonative -s +E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoonative -s --solver internal } solveableinsinglearch2 +testfailuremsg "E: Conflict: hatesfoo:amd64=1 -> not foo:i386=1 but foo:i386=1" aptget install foo:i386 hatesfoo -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: hatesfoo : Conflicts: foo:i386 but 1 is to be installed -E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfoo -s +E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfoo -s --solver internal +testfailuremsg "E: Conflict: hatesfooany:amd64=1 -> not foo:i386=1 but foo:i386=1" aptget install foo:i386 hatesfooany -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: hatesfooany : Conflicts: foo:any -E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfooany -s +E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfooany -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... The following NEW packages will be installed: @@ -171,11 +191,12 @@ Inst hatesfoonative (1 unstable [amd64]) Conf foo:i386 (1 unstable [i386]) Conf hatesfoonative (1 unstable [amd64])' aptget install foo:i386 hatesfoonative -s +testfailuremsg "E: Unsatisfiable dependency group needscoolfoo:i386=1 -> coolfoo:i386" aptget install needscoolfoo:i386 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: needscoolfoo:i386 : Depends: coolfoo:i386 but it is not installable Depends: coolbar:i386 but it is not installable -E: Unable to correct problems, you have held broken packages." aptget install needscoolfoo:i386 -s +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoo:i386 -s --solver internal solveneedscoolfooanyin() { local NEEDSCOOL='needscoolfooany' if [ "$1" != 'amd64' ]; then NEEDSCOOL="${NEEDSCOOL}:$1"; fi @@ -243,15 +264,17 @@ Inst needscoolfoover1 (1 unstable [amd64]) Conf coolfoo (1 unstable [amd64]) Conf coolfoover (1 unstable [amd64]) Conf needscoolfoover1 (1 unstable [amd64])' aptget install needscoolfoover1 -s + testfailuremsg "E: Unsatisfiable dependency group needscoolfoover2:amd64=1 -> coolfoo:any:any" aptget install needscoolfoover2 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: needscoolfoover2 : Depends: coolfoo:any (>= 2) -E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover2 -s +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover2 -s --solver internal + testfailuremsg "E: Unsatisfiable dependency group needscoolfoover3:amd64=1 -> coolfoo:any:any" aptget install needscoolfoover3 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: needscoolfoover3 : Depends: coolfoo:any (>= 2) Depends: coolbar:any (>= 3) -E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover3 -s +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover3 -s --solver internal } solveableinsinglearch3 diff --git a/test/integration/test-multiarch-foreign b/test/integration/test-multiarch-foreign index 713b27bd4..228fa8895 100755 --- a/test/integration/test-multiarch-foreign +++ b/test/integration/test-multiarch-foreign @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' 'armel' insertpackage 'unstable' 'cool-foo' 'amd64,i386' '1.0' 'Depends: foo' @@ -178,16 +179,18 @@ distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: ' + testfailuremsg "E: Conflict: -> ${1%:*}:$4=1.0 but hates-foo:amd64=1.0 -> not ${1%:*}:$4=1.0" aptget install $1 hates-foo -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: hates-foo : Conflicts: foo Conflicts: foo:i386 Conflicts: foo:armel -E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo -s +E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo -s --solver internal + testfailuremsg "E: Conflict: $2:amd64=1.0 -> not foo:$4=1.0 but foo:$4=1.0" aptget install $1 $2 -s --solver 3.0 testfailureequal "$BADPREFIX The following packages have unmet dependencies: $2 : Conflicts: foo:$4 -E: Unable to correct problems, you have held broken packages." aptget install $1 $2 -s +E: Unable to correct problems, you have held broken packages." aptget install $1 $2 -s --solver internal testsuccessequal "Reading package lists... Building dependency tree... The following NEW packages will be installed: diff --git a/test/integration/test-not-upgrading-removed-depends b/test/integration/test-not-upgrading-removed-depends index 54b20422c..c7d67af3d 100755 --- a/test/integration/test-not-upgrading-removed-depends +++ b/test/integration/test-not-upgrading-removed-depends @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' insertpackage 'unstable' 'untouchable-for-solving' 'all' '1' 'Conflicts: main' diff --git a/test/integration/test-prefer-higher-priority-providers b/test/integration/test-prefer-higher-priority-providers index 7c3f32374..6f07db5f0 100755 --- a/test/integration/test-prefer-higher-priority-providers +++ b/test/integration/test-prefer-higher-priority-providers @@ -90,6 +90,10 @@ Inst awesome (1 unstable [all]) Conf baz (1 unstable [all]) Conf awesome (1 unstable [all])" aptget install awesome foo- bar- -s +testfailuremsg "E: Unsatisfiable dependency: awesome:amd64=1 -> foo:amd64=1 | bar:amd64=1 | baz:amd64=1 +E: Not considered: foo:amd64=1: not foo:amd64 -> not foo:amd64=1 +E: Not considered: bar:amd64=1: not bar:amd64 -> not bar:amd64=1 +E: Not considered: baz:amd64=1: not baz:amd64 -> not baz:amd64=1" aptget install awesome foo- bar- baz- -s --solver 3.0 testfailureequal "Reading package lists... Building dependency tree... Package 'foo' is not installed, so not removed @@ -103,4 +107,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: awesome : Depends: stuff -E: Unable to correct problems, you have held broken packages." aptget install awesome foo- bar- baz- -s +E: Unable to correct problems, you have held broken packages." aptget install awesome foo- bar- baz- -s --solver internal diff --git a/test/integration/test-resolver-delays-remove-decisions b/test/integration/test-resolver-delays-remove-decisions index a06995476..062a2e7e9 100755 --- a/test/integration/test-resolver-delays-remove-decisions +++ b/test/integration/test-resolver-delays-remove-decisions @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' insertinstalledpackage 'stuff' 'all' '1' @@ -19,6 +20,18 @@ setupaptarchive # We are needlessly removing "stuff" if we don't delay its marking here # as we do not question the remove later on +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following NEW packages will be installed: + bar foobar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf bar (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -s + testsuccessequal "Reading package lists... Building dependency tree... MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 @@ -41,10 +54,27 @@ The following NEW packages will be installed: Inst bar (1 unstable [all]) Inst foobar (1 unstable [all]) Conf bar (1 unstable [all]) -Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 +Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 --solver internal insertinstalledpackage 'uninstallable' 'all' '1' +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo foo-dep +The following packages will be REMOVED: + stuff +The following NEW packages will be installed: + foo foo-dep foobar +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv stuff [1] +Inst foo-dep (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf foo-dep (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -s + testsuccessequal "Reading package lists... Building dependency tree... MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 @@ -71,9 +101,27 @@ Inst foo (1 unstable [all]) Inst foobar (1 unstable [all]) Conf foo-dep (1 unstable [all]) Conf foo (1 unstable [all]) -Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 +Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 --solver internal # Same solution but the installs are considered protected now as there is no other solution +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'bar' is not installed, so not removed +The following additional packages will be installed: + foo foo-dep +The following packages will be REMOVED: + stuff +The following NEW packages will be installed: + foo foo-dep foobar +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv stuff [1] +Inst foo-dep (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf foo-dep (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar bar- -q=0 -s + testsuccessequal "Reading package lists... Building dependency tree... MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 @@ -103,4 +151,4 @@ Inst foo (1 unstable [all]) Inst foobar (1 unstable [all]) Conf foo-dep (1 unstable [all]) Conf foo (1 unstable [all]) -Conf foobar (1 unstable [all])" apt install foobar bar- -q=0 -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 +Conf foobar (1 unstable [all])" apt install foobar bar- -q=0 -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 --solver internal diff --git a/test/integration/test-specific-architecture-dependencies b/test/integration/test-specific-architecture-dependencies index 447e407e5..ca39f18d8 100755 --- a/test/integration/test-specific-architecture-dependencies +++ b/test/integration/test-specific-architecture-dependencies @@ -4,6 +4,7 @@ set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment +allowremovemanual configarchitecture 'amd64' 'i386' insertpackage 'unstable' 'libc6' 'amd64,i386' '1' 'Multi-Arch: same' @@ -193,6 +194,7 @@ The following NEW packages will be installed: Inst foo-depender (1 unstable [amd64]) Conf foo-depender (1 unstable [amd64])' aptget install foo-depender -s +testfailuremsg 'E: Unsatisfiable dependency group foo-depender:i386=1 -> foo:i386' aptget install foo-depender:i386 -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -203,7 +205,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: foo-depender:i386 : Depends: foo:i386 but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s +E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s --solver internal testsuccessequal 'Reading package lists... Building dependency tree... @@ -311,6 +313,7 @@ Remv libold [1] Inst breaker-x64 (1 unstable [amd64]) Conf breaker-x64 (1 unstable [amd64])' aptget install breaker-x64:amd64 -s +testfailuremsg 'E: Unsatisfiable dependency group depender-x32:amd64=1 -> libc6:i386:any' aptget install depender-x32 -s --solver 3.0 testfailureequal 'Reading package lists... Building dependency tree... Some packages could not be installed. This may mean that you have @@ -321,4 +324,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: depender-x32 : Depends: libc6:i386 but it is not installable -E: Unable to correct problems, you have held broken packages.' aptget install depender-x32 -s +E: Unable to correct problems, you have held broken packages.' aptget install depender-x32 -s --solver internal diff --git a/test/integration/test-ubuntu-bug-1974196 b/test/integration/test-ubuntu-bug-1974196 index 7c38723c6..08dccffce 100755 --- a/test/integration/test-ubuntu-bug-1974196 +++ b/test/integration/test-ubuntu-bug-1974196 @@ -20,6 +20,19 @@ noprogress() { "$@" | sed /^Progress/d } +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + depends pkg1 +The following packages will be upgraded: + depends pkg0 pkg1 +3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst depends [1] (2 unstable [all]) [] +Inst pkg0 [1] (2 unstable [all]) [] +Inst pkg1 [1] (2 unstable [all]) +Conf depends (2 unstable [all]) +Conf pkg0 (2 unstable [all]) +Conf pkg1 (2 unstable [all])" aptget install pkg0 -s testsuccessequal "Reading package lists... Building dependency tree... Upgrading: depends:arm64 < 1 | 2 @ii umH Ib > due to depends:arm64 Depends on pkg0:arm64 < 1 -> 2 @ii pumU > (= 1) @@ -40,7 +53,7 @@ Inst pkg0 [1] (2 unstable [all]) [] Inst pkg1 [1] (2 unstable [all]) Conf depends (2 unstable [all]) Conf pkg0 (2 unstable [all]) -Conf pkg1 (2 unstable [all])" aptget install pkg0 -o debug::pkgdepcache::marker=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -s +Conf pkg1 (2 unstable [all])" aptget install pkg0 -o debug::pkgdepcache::marker=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -s --solver internal testsuccessequal "Percentage: 0 Message: Start up solver… diff --git a/test/integration/test-unpack-different-version-unpacked b/test/integration/test-unpack-different-version-unpacked index e7da64ceb..810e2e953 100755 --- a/test/integration/test-unpack-different-version-unpacked +++ b/test/integration/test-unpack-different-version-unpacked @@ -14,14 +14,24 @@ cleanstatus() { rm rootdir/var/cache/apt/*.bin } -#FIXME: the reported version is wrong, it should be 1, not 2 insertinstalledpackage 'libqtcore4' 'i386,amd64' '1' 'Multi-Arch: same' '' 'install ok unpacked' +#FIXME(internal): the reported version is wrong, it should be 1, not 2 testsuccessequal 'Reading package lists... Building dependency tree... 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. 2 not fully installed or removed. Conf libqtcore4 (2 unstable [amd64]) -Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f +Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f --solver internal + +# FIXED(3.0): the reported version is correct now +testsuccessequal 'Reading package lists... +Building dependency tree... +Solving dependencies... +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. +2 not fully installed or removed. +Conf libqtcore4 (1 [amd64]) +Conf libqtcore4:i386 (1 [i386])' aptget install -s -f --solver 3.0 + cleanstatus insertinstalledpackage 'libqtcore4' 'amd64' '2' 'Multi-Arch: same' '' 'install ok unpacked' -- cgit v1.2.3-70-g09d2