94 lines
3.1 KiB
Bash
Executable file
94 lines
3.1 KiB
Bash
Executable file
#!/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
|