]> git.saurik.com Git - apt.git/blame_incremental - test/integration/test-specific-architecture-dependencies
generalize secure->insecure downgrade protection
[apt.git] / test / integration / test-specific-architecture-dependencies
... / ...
CommitLineData
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'
15insertpackage 'unstable' 'depender-x32' 'i386,amd64' '1' 'Depends: libc6:i386'
16insertpackage 'unstable' 'depender-x64' 'i386,amd64' '1' 'Depends: libc6:amd64'
17
18insertpackage 'unstable' 'breaker' 'all' '1' 'Breaks: libold (<< 2)'
19insertpackage 'unstable' 'breaker-x32' 'i386,amd64' '1' 'Breaks: libold:i386 (<< 2)'
20insertpackage 'unstable' 'breaker-x64' 'i386,amd64' '1' 'Breaks: libold:amd64 (<< 2)'
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'
27insertpackage 'unstable' 'foo-native-depender' 'amd64' '1' 'Depends: foo:amd64'
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
36testsuccessequal 'Reading package lists...
37Building dependency tree...
38The following additional packages will be installed:
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
48testsuccessequal 'Reading package lists...
49Building dependency tree...
50The following additional packages will be installed:
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
60testsuccessequal 'Reading package lists...
61Building dependency tree...
62The following additional packages will be installed:
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...
74The following additional packages will be installed:
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...
86The following additional packages will be installed:
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...
98The following additional packages will be installed:
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
108testequal 'Reading package lists...
109Building dependency tree...
110The following packages will be REMOVED:
111 libold:i386 libold
112The following NEW packages will be installed:
113 breaker
1140 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
115Remv libold:i386 [1]
116Remv libold [1]
117Inst breaker (1 unstable [all])
118Conf breaker (1 unstable [all])' aptget install breaker -s
119
120testsuccessequal 'Reading package lists...
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])
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
152
153testsuccessequal 'Reading package lists...
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])
162Conf breaker-x64:i386 (1 unstable [i386])' aptget install breaker-x64:i386 -s
163
164testsuccessequal 'Reading package lists...
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
172testsuccessequal 'Reading package lists...
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
180testsuccessequal 'Reading package lists...
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
188testsuccessequal 'Reading package lists...
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
196testfailureequal 'Reading package lists...
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
208testsuccessequal 'Reading package lists...
209Building dependency tree...
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
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
224testsuccessequal 'Reading package lists...
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
235testsuccessequal 'Reading package lists...
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
246testsuccessequal 'Reading package lists...
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
257testsuccessequal 'Reading package lists...
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
264
265msgmsg 'switch to single architecture'
266configarchitecture 'amd64'
267
268testequal 'Reading package lists...
269Building dependency tree...
270The following additional packages will be installed:
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...
282E: Unable to locate package depender-x64:i386' aptget install depender-x64:i386 -s
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
292testequal 'Reading package lists...
293Building dependency tree...
294The following packages will be REMOVED:
295 libold:i386
296The following NEW packages will be installed:
297 breaker-x32
2980 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
299Remv libold:i386 [1]
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