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 92 93 94
|
#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'i386'
allowremovemanual
insertpackage 'unstable' 'bar' 'i386' '1' 'Depends: foo'
insertpackage 'unstable' 'foo' 'i386' '1' 'Multi-Arch: foreign
Depends: libfoo1'
insertpackage 'unstable' 'libfoo1' 'i386' '1' 'Multi-Arch: same'
insertpackage 'experimental' 'foo' 'i386' '2' 'Multi-Arch: foreign
Depends: libfoo1 (>= 2)'
insertpackage 'experimental' 'libfoo1' 'i386' '2' 'Multi-Arch: same'
# note: the system has amd64 not configured!
insertinstalledpackage 'foo' 'amd64' '1' 'Multi-Arch: foreign
Depends: libfoo1'
setupaptarchive
testfailureequal "Reading package lists...
Building dependency tree...
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
foo:amd64 : Depends: libfoo1:amd64 but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." aptget check -s
insertinstalledpackage 'libfoo1' 'amd64' '1' 'Multi-Arch: same'
testsuccessequal 'Reading package lists...
Building dependency tree...' aptget check -s
testsuccessequal 'Reading package lists...
Building dependency tree...
The following additional packages will be installed:
libfoo1
The following packages will be REMOVED:
foo:amd64
The following NEW packages will be installed:
foo libfoo1
0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
Remv foo:amd64 [1]
Inst libfoo1 (1 unstable [i386])
Inst foo (1 unstable [i386])
Conf libfoo1 (1 unstable [i386])
Conf foo (1 unstable [i386])' aptget install foo -s
testsuccessequal "Reading package lists...
Building dependency tree...
Selected version '2' (experimental [i386]) for 'foo'
Selected version '2' (experimental [i386]) for 'libfoo1' because of 'foo'
The following additional packages will be installed:
libfoo1
The following packages will be REMOVED:
foo:amd64 libfoo1:amd64
The following NEW packages will be installed:
foo libfoo1
0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded.
Remv foo:amd64 [1]
Remv libfoo1:amd64 [1]
Inst libfoo1 (2 experimental [i386])
Inst foo (2 experimental [i386])
Conf libfoo1 (2 experimental [i386])
Conf foo (2 experimental [i386])" aptget install foo/experimental -s
testsuccessequal 'Reading package lists...
Building dependency tree...
The following additional packages will be installed:
foo libfoo1
The following packages will be REMOVED:
foo:amd64
The following NEW packages will be installed:
bar foo libfoo1
0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded.
Remv foo:amd64 [1]
Inst libfoo1 (1 unstable [i386])
Inst foo (1 unstable [i386])
Inst bar (1 unstable [i386])
Conf libfoo1 (1 unstable [i386])
Conf foo (1 unstable [i386])
Conf bar (1 unstable [i386])' aptget install bar -s
configarchitecture 'i386' 'amd64'
testsuccessequal 'Reading package lists...
Building dependency tree...
The following NEW packages will be installed:
bar
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst bar (1 unstable [i386])
Conf bar (1 unstable [i386])' aptget install bar -s
|