]> git.saurik.com Git - apt.git/blob - test/integration/test-specific-architecture-dependencies
eipp: add Allow-Temporary-Remove-of-Essentials
[apt.git] / test / integration / test-specific-architecture-dependencies
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'amd64' 'i386'
8
9 insertpackage 'unstable' 'libc6' 'amd64,i386' '1' 'Multi-Arch: same'
10 insertinstalledpackage 'libold' 'amd64,i386' '1' 'Multi-Arch: same'
11 insertinstalledpackage 'provider' 'amd64' '1' 'Provides: foo'
12
13 insertpackage 'unstable' 'pre-depender' 'all' '1' 'Pre-Depends: libc6:i386'
14 insertpackage 'unstable' 'depender' 'all' '1' 'Depends: libc6:i386'
15 insertpackage 'unstable' 'depender-x32' 'i386,amd64' '1' 'Depends: libc6:i386'
16 insertpackage 'unstable' 'depender-x64' 'i386,amd64' '1' 'Depends: libc6:amd64'
17
18 insertpackage 'unstable' 'breaker' 'all' '1' 'Breaks: libold (<< 2)'
19 insertpackage 'unstable' 'breaker-x32' 'i386,amd64' '1' 'Breaks: libold:i386 (<< 2)'
20 insertpackage 'unstable' 'breaker-x64' 'i386,amd64' '1' 'Breaks: libold:amd64 (<< 2)'
21 # conflicts with no effect
22 insertpackage 'unstable' 'oldconflictor' 'all' '1' 'Conflicts: libold (<< 0)'
23 insertpackage 'unstable' 'oldconflictor-x32' 'amd64' '1' 'Conflicts: libold:i386 (<< 0)'
24 insertpackage 'unstable' 'oldconflictor-x64' 'i386' '1' 'Conflicts: libold:amd64 (<< 0)'
25
26 insertpackage 'unstable' 'foo-depender' 'i386,amd64' '1' 'Depends: foo'
27 insertpackage 'unstable' 'foo-native-depender' 'amd64' '1' 'Depends: foo:amd64'
28 insertpackage 'unstable' 'foo-foreign-depender' 'i386' '1' 'Depends: foo:amd64'
29
30 insertpackage 'unstable' 'foo-conflictor' 'i386,amd64' '1' 'Conflicts: foo'
31 insertpackage 'unstable' 'foo-foreign-conflictor' 'i386' '1' 'Conflicts: foo:amd64'
32 insertpackage 'unstable' 'foo-no-conflictor' 'i386' '1' 'Conflicts: foo:i386'
33
34 setupaptarchive
35
36 testsuccessequal 'Reading package lists...
37 Building dependency tree...
38 The following additional packages will be installed:
39 libc6:i386
40 The following NEW packages will be installed:
41 libc6:i386 pre-depender
42 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
43 Inst libc6:i386 (1 unstable [i386])
44 Conf libc6:i386 (1 unstable [i386])
45 Inst pre-depender (1 unstable [all])
46 Conf pre-depender (1 unstable [all])' aptget install pre-depender -s
47
48 testsuccessequal 'Reading package lists...
49 Building dependency tree...
50 The following additional packages will be installed:
51 libc6:i386
52 The following NEW packages will be installed:
53 depender libc6:i386
54 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
55 Inst libc6:i386 (1 unstable [i386])
56 Inst depender (1 unstable [all])
57 Conf libc6:i386 (1 unstable [i386])
58 Conf depender (1 unstable [all])' aptget install depender -s
59
60 testsuccessequal 'Reading package lists...
61 Building dependency tree...
62 The following additional packages will be installed:
63 libc6:i386
64 The following NEW packages will be installed:
65 depender-x32:i386 libc6:i386
66 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
67 Inst libc6:i386 (1 unstable [i386])
68 Inst depender-x32:i386 (1 unstable [i386])
69 Conf libc6:i386 (1 unstable [i386])
70 Conf depender-x32:i386 (1 unstable [i386])' aptget install depender-x32:i386 -s
71
72 testsuccessequal 'Reading package lists...
73 Building dependency tree...
74 The following additional packages will be installed:
75 libc6:i386
76 The following NEW packages will be installed:
77 depender-x32 libc6:i386
78 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
79 Inst libc6:i386 (1 unstable [i386])
80 Inst depender-x32 (1 unstable [amd64])
81 Conf libc6:i386 (1 unstable [i386])
82 Conf depender-x32 (1 unstable [amd64])' aptget install depender-x32:amd64 -s
83
84 testsuccessequal 'Reading package lists...
85 Building dependency tree...
86 The following additional packages will be installed:
87 libc6
88 The following NEW packages will be installed:
89 depender-x64 libc6
90 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
91 Inst libc6 (1 unstable [amd64])
92 Inst depender-x64 (1 unstable [amd64])
93 Conf libc6 (1 unstable [amd64])
94 Conf depender-x64 (1 unstable [amd64])' aptget install depender-x64:amd64 -s
95
96 testsuccessequal 'Reading package lists...
97 Building dependency tree...
98 The following additional packages will be installed:
99 libc6
100 The following NEW packages will be installed:
101 depender-x64:i386 libc6
102 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
103 Inst libc6 (1 unstable [amd64])
104 Inst depender-x64:i386 (1 unstable [i386])
105 Conf libc6 (1 unstable [amd64])
106 Conf depender-x64:i386 (1 unstable [i386])' aptget install depender-x64:i386 -s
107
108 testsuccessequal 'Reading package lists...
109 Building dependency tree...
110 The following packages will be REMOVED:
111 libold:i386 libold
112 The following NEW packages will be installed:
113 breaker
114 0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
115 Remv libold:i386 [1]
116 Remv libold [1]
117 Inst breaker (1 unstable [all])
118 Conf breaker (1 unstable [all])' aptget install breaker -s
119
120 testsuccessequal 'Reading package lists...
121 Building dependency tree...
122 The following packages will be REMOVED:
123 libold:i386
124 The following NEW packages will be installed:
125 breaker-x32
126 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
127 Remv libold:i386 [1]
128 Inst breaker-x32 (1 unstable [amd64])
129 Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32:amd64 -s
130
131 testsuccessequal 'Reading package lists...
132 Building dependency tree...
133 The following packages will be REMOVED:
134 libold:i386
135 The following NEW packages will be installed:
136 breaker-x32:i386
137 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
138 Remv libold:i386 [1]
139 Inst breaker-x32:i386 (1 unstable [i386])
140 Conf breaker-x32:i386 (1 unstable [i386])' aptget install breaker-x32:i386 -s
141
142 testsuccessequal 'Reading package lists...
143 Building dependency tree...
144 The following packages will be REMOVED:
145 libold
146 The following NEW packages will be installed:
147 breaker-x64
148 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
149 Remv libold [1]
150 Inst breaker-x64 (1 unstable [amd64])
151 Conf breaker-x64 (1 unstable [amd64])' aptget install breaker-x64:amd64 -s
152
153 testsuccessequal 'Reading package lists...
154 Building dependency tree...
155 The following packages will be REMOVED:
156 libold
157 The following NEW packages will be installed:
158 breaker-x64:i386
159 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
160 Remv libold [1]
161 Inst breaker-x64:i386 (1 unstable [i386])
162 Conf breaker-x64:i386 (1 unstable [i386])' aptget install breaker-x64:i386 -s
163
164 testsuccessequal 'Reading package lists...
165 Building dependency tree...
166 The following NEW packages will be installed:
167 oldconflictor
168 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
169 Inst oldconflictor (1 unstable [all])
170 Conf oldconflictor (1 unstable [all])' aptget install oldconflictor -s
171
172 testsuccessequal 'Reading package lists...
173 Building dependency tree...
174 The following NEW packages will be installed:
175 oldconflictor-x32
176 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
177 Inst oldconflictor-x32 (1 unstable [amd64])
178 Conf oldconflictor-x32 (1 unstable [amd64])' aptget install oldconflictor-x32 -s
179
180 testsuccessequal 'Reading package lists...
181 Building dependency tree...
182 The following NEW packages will be installed:
183 oldconflictor-x64:i386
184 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
185 Inst oldconflictor-x64:i386 (1 unstable [i386])
186 Conf oldconflictor-x64:i386 (1 unstable [i386])' aptget install oldconflictor-x64 -s
187
188 testsuccessequal 'Reading package lists...
189 Building dependency tree...
190 The following NEW packages will be installed:
191 foo-depender
192 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
193 Inst foo-depender (1 unstable [amd64])
194 Conf foo-depender (1 unstable [amd64])' aptget install foo-depender -s
195
196 testfailureequal 'Reading package lists...
197 Building dependency tree...
198 Some packages could not be installed. This may mean that you have
199 requested an impossible situation or if you are using the unstable
200 distribution that some required packages have not yet been created
201 or been moved out of Incoming.
202 The following information may help to resolve the situation:
203
204 The following packages have unmet dependencies:
205 foo-depender:i386 : Depends: foo:i386 but it is not installable
206 E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s
207
208 testsuccessequal 'Reading package lists...
209 Building dependency tree...
210 The following NEW packages will be installed:
211 foo-native-depender
212 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
213 Inst foo-native-depender (1 unstable [amd64])
214 Conf foo-native-depender (1 unstable [amd64])' aptget install foo-native-depender -s
215
216 testsuccessequal 'Reading package lists...
217 Building dependency tree...
218 The following NEW packages will be installed:
219 foo-foreign-depender:i386
220 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
221 Inst foo-foreign-depender:i386 (1 unstable [i386])
222 Conf foo-foreign-depender:i386 (1 unstable [i386])' aptget install foo-foreign-depender:i386 -s
223
224 testsuccessequal 'Reading package lists...
225 Building dependency tree...
226 The following packages will be REMOVED:
227 provider
228 The following NEW packages will be installed:
229 foo-conflictor
230 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
231 Remv provider [1]
232 Inst foo-conflictor (1 unstable [amd64])
233 Conf foo-conflictor (1 unstable [amd64])' aptget install foo-conflictor -s
234
235 testsuccessequal 'Reading package lists...
236 Building dependency tree...
237 The following packages will be REMOVED:
238 provider
239 The following NEW packages will be installed:
240 foo-conflictor:i386
241 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
242 Remv provider [1]
243 Inst foo-conflictor:i386 (1 unstable [i386])
244 Conf foo-conflictor:i386 (1 unstable [i386])' aptget install foo-conflictor:i386 -s
245
246 testsuccessequal 'Reading package lists...
247 Building dependency tree...
248 The following packages will be REMOVED:
249 provider
250 The following NEW packages will be installed:
251 foo-foreign-conflictor:i386
252 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
253 Remv provider [1]
254 Inst foo-foreign-conflictor:i386 (1 unstable [i386])
255 Conf foo-foreign-conflictor:i386 (1 unstable [i386])' aptget install foo-foreign-conflictor:i386 -s
256
257 testsuccessequal 'Reading package lists...
258 Building dependency tree...
259 The following NEW packages will be installed:
260 foo-no-conflictor:i386
261 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
262 Inst foo-no-conflictor:i386 (1 unstable [i386])
263 Conf foo-no-conflictor:i386 (1 unstable [i386])' aptget install foo-no-conflictor:i386 -s
264
265 msgmsg 'switch to single architecture'
266 configarchitecture 'amd64'
267
268 testsuccessequal 'Reading package lists...
269 Building dependency tree...
270 The following additional packages will be installed:
271 libc6
272 The following NEW packages will be installed:
273 depender-x64 libc6
274 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
275 Inst libc6 (1 unstable [amd64])
276 Inst depender-x64 (1 unstable [amd64])
277 Conf libc6 (1 unstable [amd64])
278 Conf depender-x64 (1 unstable [amd64])' aptget install depender-x64 -s
279
280 testfailureequal 'Reading package lists...
281 Building dependency tree...
282 E: Unable to locate package depender-x64:i386' aptget install depender-x64:i386 -s
283
284 testsuccessequal 'Reading package lists...
285 Building dependency tree...
286 The following NEW packages will be installed:
287 foo-native-depender
288 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
289 Inst foo-native-depender (1 unstable [amd64])
290 Conf foo-native-depender (1 unstable [amd64])' aptget install foo-native-depender -s
291
292 testsuccessequal 'Reading package lists...
293 Building dependency tree...
294 The following packages will be REMOVED:
295 libold:i386
296 The following NEW packages will be installed:
297 breaker-x32
298 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
299 Remv libold:i386 [1]
300 Inst breaker-x32 (1 unstable [amd64])
301 Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32:amd64 -s
302
303 testsuccessequal 'Reading package lists...
304 Building dependency tree...
305 The following packages will be REMOVED:
306 libold
307 The following NEW packages will be installed:
308 breaker-x64
309 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
310 Remv libold [1]
311 Inst breaker-x64 (1 unstable [amd64])
312 Conf breaker-x64 (1 unstable [amd64])' aptget install breaker-x64:amd64 -s
313
314 testfailureequal 'Reading package lists...
315 Building dependency tree...
316 Some packages could not be installed. This may mean that you have
317 requested an impossible situation or if you are using the unstable
318 distribution that some required packages have not yet been created
319 or been moved out of Incoming.
320 The following information may help to resolve the situation:
321
322 The following packages have unmet dependencies:
323 depender-x32 : Depends: libc6:i386 but it is not installable
324 E: Unable to correct problems, you have held broken packages.' aptget install depender-x32 -s