#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment configarchitecture 'i386' # Regression test for LP: #1304403 # # The issue here is that libkadm5srv-mit8 (priority standard) is replaced # by a new libkadm5srv-mit9 and libkbd5-7 breaks on the old -mit8 package. # The -mit8 package is no longer downloadable (and hence not upgradeable) # normal upradable pkg # (libkdb5-7 that breaks on libkadm5srv-mit8 (<< 1.11+dfsg~) insertinstalledpackage 'upgradable' 'all' '1.0' '' 'extra' insertpackage 'unstable' 'upgradable' 'all' '2.0' 'Breaks: not-downloadable (<< 1.1)' 'optional' # no longer downloadable pkg (libkadm5srv-mit8, replaced by libkadm5srv-mit9) # but priority standard pushes it higher insertinstalledpackage 'not-downloadable' 'all' '1.0' '' 'standard' setupaptarchive # discourage keeping obsolete high-priority packages … testsuccessequal 'Reading package lists... Building dependency tree... Calculating upgrade... The following packages will be REMOVED: not-downloadable The following packages will be upgraded: upgradable 1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Remv not-downloadable [1.0] Inst upgradable [1.0] (2.0 unstable [all]) Conf upgradable (2.0 unstable [all])' aptget -s dist-upgrade # … but if it has dependencies we want to keep it as usual for i in $(seq 1 10); do insertinstalledpackage "depender$i" 'all' '1.0' 'Depends: not-downloadable' done testsuccessequal 'Reading package lists... Building dependency tree... Calculating upgrade... The following packages have been kept back: upgradable 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget -s dist-upgrade