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