#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'native' 'strange-arch'

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

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.
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...
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.
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'