1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'native' 'strange-arch'
native=$(getarchitecture 'native')
insertpackage 'unstable' 'unrelated' 'strange-arch' '1'
insertinstalledpackage 'apt' 'native' '0.8.9' 'Depends: libc6 (>= 2.3.4)'
insertinstalledpackage 'libc6' 'native' '2.4.1-1'
insertinstalledpackage 'oldcrap' 'all' '1-1'
insertpackage 'unstable' 'apt' 'native' '0.8.10' 'Depends: libc6 (>= 2.10), libdb4.8
Breaks: oldcrap'
insertpackage 'unstable' 'libc6' 'native' '2.11.2-7'
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 -o APT::Solver::RemoveManual=0
testfailure aptget dist-upgrade --trivial-only --solver 3.0 -o debug::apt::solver=2 -o APT::Solver::RemoveManual=0
testsuccess grep -Fx "[0] Reject:apt:$native=0.8.10 (oldcrap:$native -> oldcrap:$native=1-1)" rootdir/tmp/testfailure.output
testfailure aptget dist-upgrade --trivial-only --solver 3.0 -o debug::apt::solver=2 -o APT::Solver::RemoveManual=1
testsuccess grep -Fx "[2] Reject:apt:$native=0.8.10 (oldcrap:$native -> oldcrap:$native=1-1)" rootdir/tmp/testfailure.output
testsuccess aptmark auto ~i
testfailureequal 'Reading package lists...
Building dependency tree...
Reading state information...
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...
Reading state information...
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
testsuccess aptmark hold apt
testfailureequal "Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following package was automatically installed and is no longer required:
oldcrap
Use 'apt autoremove' to remove it.
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 -o Test='hold-back-apt'
|