merged lp:~mvo/apt/mvo
[ntk/apt.git] / test / integration / test-specific-architecture-dependencies
CommitLineData
cef094c2
DK
1#!/bin/sh
2set -e
3
4TESTDIR=$(readlink -f $(dirname $0))
5. $TESTDIR/framework
6setupenvironment
7configarchitecture 'amd64' 'i386'
8
9insertpackage 'unstable' 'libc6' 'amd64,i386' '1' 'Multi-Arch: same'
10insertinstalledpackage 'libold' 'amd64,i386' '1' 'Multi-Arch: same'
11insertinstalledpackage 'provider' 'amd64' '1' 'Provides: foo'
12
13insertpackage 'unstable' 'pre-depender' 'all' '1' 'Pre-Depends: libc6:i386'
14insertpackage 'unstable' 'depender' 'all' '1' 'Depends: libc6:i386'
15
16insertpackage 'unstable' 'breaker' 'all' '1' 'Breaks: libold (<< 2)'
17insertpackage 'unstable' 'breaker-x32' 'amd64' '1' 'Breaks: libold:i386 (<< 2)'
18insertpackage 'unstable' 'breaker-x64' 'i386' '1' 'Breaks: libold:amd64 (<< 2)'
19# conflicts with no effect
20insertpackage 'unstable' 'oldconflictor' 'all' '1' 'Conflicts: libold (<< 0)'
21insertpackage 'unstable' 'oldconflictor-x32' 'amd64' '1' 'Conflicts: libold:i386 (<< 0)'
22insertpackage 'unstable' 'oldconflictor-x64' 'i386' '1' 'Conflicts: libold:amd64 (<< 0)'
23
24insertpackage 'unstable' 'foo-depender' 'i386,amd64' '1' 'Depends: foo'
25insertpackage 'unstable' 'foo-foreign-depender' 'i386' '1' 'Depends: foo:amd64'
26
27insertpackage 'unstable' 'foo-conflictor' 'i386,amd64' '1' 'Conflicts: foo'
28insertpackage 'unstable' 'foo-foreign-conflictor' 'i386' '1' 'Conflicts: foo:amd64'
29insertpackage 'unstable' 'foo-no-conflictor' 'i386' '1' 'Conflicts: foo:i386'
30
31setupaptarchive
32
33testequal 'Reading package lists...
34Building dependency tree...
35The following extra packages will be installed:
36 libc6:i386
37The following NEW packages will be installed:
38 libc6:i386 pre-depender
390 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
40Inst libc6:i386 (1 unstable [i386])
41Conf libc6:i386 (1 unstable [i386])
42Inst pre-depender (1 unstable [all])
43Conf pre-depender (1 unstable [all])' aptget install pre-depender -s
44
45testequal 'Reading package lists...
46Building dependency tree...
47The following extra packages will be installed:
48 libc6:i386
49The following NEW packages will be installed:
50 depender libc6:i386
510 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
52Inst libc6:i386 (1 unstable [i386])
53Inst depender (1 unstable [all])
54Conf libc6:i386 (1 unstable [i386])
55Conf depender (1 unstable [all])' aptget install depender -s
56
57testequal 'Reading package lists...
58Building dependency tree...
59The following packages will be REMOVED:
60 libold libold:i386
61The following NEW packages will be installed:
62 breaker
630 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
64Remv libold [1]
65Remv libold:i386 [1]
66Inst breaker (1 unstable [all])
67Conf breaker (1 unstable [all])' aptget install breaker -s
68
69testequal 'Reading package lists...
70Building dependency tree...
71The following packages will be REMOVED:
72 libold:i386
73The following NEW packages will be installed:
74 breaker-x32
750 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
76Remv libold:i386 [1]
77Inst breaker-x32 (1 unstable [amd64])
78Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32 -s
79
80testequal 'Reading package lists...
81Building dependency tree...
82The following packages will be REMOVED:
83 libold
84The following NEW packages will be installed:
85 breaker-x64:i386
860 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
87Remv libold [1]
88Inst breaker-x64:i386 (1 unstable [i386])
89Conf breaker-x64:i386 (1 unstable [i386])' aptget install breaker-x64 -s
90
91testequal 'Reading package lists...
92Building dependency tree...
93The following NEW packages will be installed:
94 oldconflictor
950 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
96Inst oldconflictor (1 unstable [all])
97Conf oldconflictor (1 unstable [all])' aptget install oldconflictor -s
98
99testequal 'Reading package lists...
100Building dependency tree...
101The following NEW packages will be installed:
102 oldconflictor-x32
1030 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
104Inst oldconflictor-x32 (1 unstable [amd64])
105Conf oldconflictor-x32 (1 unstable [amd64])' aptget install oldconflictor-x32 -s
106
107testequal 'Reading package lists...
108Building dependency tree...
109The following NEW packages will be installed:
110 oldconflictor-x64:i386
1110 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
112Inst oldconflictor-x64:i386 (1 unstable [i386])
113Conf oldconflictor-x64:i386 (1 unstable [i386])' aptget install oldconflictor-x64 -s
114
115testequal 'Reading package lists...
116Building dependency tree...
117The following NEW packages will be installed:
118 foo-depender
1190 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
120Inst foo-depender (1 unstable [amd64])
121Conf foo-depender (1 unstable [amd64])' aptget install foo-depender -s
122
123testequal 'Reading package lists...
124Building dependency tree...
125Some packages could not be installed. This may mean that you have
126requested an impossible situation or if you are using the unstable
127distribution that some required packages have not yet been created
128or been moved out of Incoming.
129The following information may help to resolve the situation:
130
131The following packages have unmet dependencies:
132 foo-depender:i386 : Depends: foo:i386 but it is not installable
133E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s
134
135testequal 'Reading package lists...
136Building dependency tree...
137The following NEW packages will be installed:
138 foo-foreign-depender:i386
1390 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
140Inst foo-foreign-depender:i386 (1 unstable [i386])
141Conf foo-foreign-depender:i386 (1 unstable [i386])' aptget install foo-foreign-depender:i386 -s
142
143testequal 'Reading package lists...
144Building dependency tree...
145The following packages will be REMOVED:
146 provider
147The following NEW packages will be installed:
148 foo-conflictor
1490 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
150Remv provider [1]
151Inst foo-conflictor (1 unstable [amd64])
152Conf foo-conflictor (1 unstable [amd64])' aptget install foo-conflictor -s
153
154testequal 'Reading package lists...
155Building dependency tree...
156The following packages will be REMOVED:
157 provider
158The following NEW packages will be installed:
159 foo-conflictor:i386
1600 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
161Remv provider [1]
162Inst foo-conflictor:i386 (1 unstable [i386])
163Conf foo-conflictor:i386 (1 unstable [i386])' aptget install foo-conflictor:i386 -s
164
165testequal 'Reading package lists...
166Building dependency tree...
167The following packages will be REMOVED:
168 provider
169The following NEW packages will be installed:
170 foo-foreign-conflictor:i386
1710 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
172Remv provider [1]
173Inst foo-foreign-conflictor:i386 (1 unstable [i386])
174Conf foo-foreign-conflictor:i386 (1 unstable [i386])' aptget install foo-foreign-conflictor:i386 -s
175
176testequal 'Reading package lists...
177Building dependency tree...
178The following NEW packages will be installed:
179 foo-no-conflictor:i386
1800 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
181Inst foo-no-conflictor:i386 (1 unstable [i386])
182Conf foo-no-conflictor:i386 (1 unstable [i386])' aptget install foo-no-conflictor:i386 -s