]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-632221-cross-dependency-satisfaction
add a few tests to check that arch-specific qualifiers work
[apt.git] / test / integration / test-bug-632221-cross-dependency-satisfaction
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'amd64' 'armel'
8
9 insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign'
10
11 insertpackage 'unstable' 'doxygen' 'amd64,armel' '1.0' 'Multi-Arch: foreign'
12 insertpackage 'unstable' 'libc6' 'amd64,armel' '1.0' 'Multi-Arch: same'
13 insertpackage 'unstable' 'libc6-dev' 'amd64,armel' '1.0' 'Depends: libc6
14 Multi-Arch: same'
15 insertpackage 'unstable' 'libfwibble1' 'amd64,armel' '1.0' 'Depends: libc6
16 Multi-Arch: same'
17 insertpackage 'unstable' 'libfwibble-dev' 'amd64,armel' '1.0' 'Depends: libfwibble1'
18 insertpackage 'unstable' 'cool' 'amd64,armel' '1.0' 'Multi-Arch: allowed'
19 insertpackage 'unstable' 'amdboot' 'amd64' '1.0'
20 insertpackage 'unstable' 'foreigner' 'amd64,armel' '1.0' 'Multi-Arch: foreign'
21 insertpackage 'unstable' 'arm-stuff' 'armel' '1.0'
22 insertpackage 'unstable' 'linux-stuff' 'amd64,armel' '1.0'
23
24 insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev, arm-stuff [any-arm] | linux-stuff [ linux-any]'
25
26 insertsource 'unstable' 'forbidden-none' 'any' '1' 'Build-Depends: amdboot:any'
27 insertsource 'unstable' 'forbidden-same' 'any' '1' 'Build-Depends: libc6:any'
28 insertsource 'unstable' 'forbidden-foreign' 'any' '1' 'Build-Depends: doxygen:any'
29
30 insertpackage 'unstable' 'specific' 'amd64' '1.0' 'Depends: libc6:amd64'
31 insertpackage 'unstable' 'specific' 'armel' '1.0' 'Depends: libc6:armel'
32
33 insertsource 'unstable' 'source-specific-amd64' 'amd64' '1' 'Build-Depends: specific:amd64'
34 insertsource 'unstable' 'source-specific-armel' 'armel' '1' 'Build-Depends: specific:armel'
35
36 setupaptarchive
37
38 testequal "Reading package lists...
39 Building dependency tree...
40 E: Build-Depends dependency for forbidden-none can't be satisfied because amdboot:any is not allowed on 'Multi-Arch: none' packages" aptget build-dep forbidden-none -s -a armel
41 testequal "Reading package lists...
42 Building dependency tree...
43 E: Build-Depends dependency for forbidden-same can't be satisfied because libc6:any is not allowed on 'Multi-Arch: same' packages" aptget build-dep forbidden-same -s -a armel
44 testequal "Reading package lists...
45 Building dependency tree...
46 E: Build-Depends dependency for forbidden-foreign can't be satisfied because doxygen:any is not allowed on 'Multi-Arch: foreign' packages" aptget build-dep forbidden-foreign -s -a armel
47
48 testequal 'Reading package lists...
49 Building dependency tree...
50 The following NEW packages will be installed:
51 libc6 specific
52 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
53 Inst libc6 (1.0 unstable [amd64])
54 Inst specific (1.0 unstable [amd64])
55 Conf libc6 (1.0 unstable [amd64])
56 Conf specific (1.0 unstable [amd64])' aptget build-dep source-specific-amd64 -s
57 testequal 'Reading package lists...
58 Building dependency tree...
59 The following NEW packages will be installed:
60 libc6 specific
61 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
62 Inst libc6 (1.0 unstable [amd64])
63 Inst specific (1.0 unstable [amd64])
64 Conf libc6 (1.0 unstable [amd64])
65 Conf specific (1.0 unstable [amd64])' aptget build-dep source-specific-amd64 -s -a armel
66 testequal 'Reading package lists...
67 Building dependency tree...
68 The following NEW packages will be installed:
69 libc6:armel specific:armel
70 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
71 Inst libc6:armel (1.0 unstable [armel])
72 Inst specific:armel (1.0 unstable [armel])
73 Conf libc6:armel (1.0 unstable [armel])
74 Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s
75 testequal 'Reading package lists...
76 Building dependency tree...
77 The following NEW packages will be installed:
78 libc6:armel specific:armel
79 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
80 Inst libc6:armel (1.0 unstable [armel])
81 Inst specific:armel (1.0 unstable [armel])
82 Conf libc6:armel (1.0 unstable [armel])
83 Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s -a armel
84
85 testequal 'Reading package lists...
86 Building dependency tree...
87 The following NEW packages will be installed:
88 amdboot cool doxygen foreigner libc6 libc6-dev libfwibble-dev libfwibble1
89 linux-stuff
90 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
91 Inst amdboot (1.0 unstable [amd64])
92 Inst cool (1.0 unstable [amd64])
93 Inst doxygen (1.0 unstable [amd64])
94 Inst foreigner (1.0 unstable [amd64])
95 Inst libc6 (1.0 unstable [amd64])
96 Inst libc6-dev (1.0 unstable [amd64])
97 Inst libfwibble1 (1.0 unstable [amd64])
98 Inst libfwibble-dev (1.0 unstable [amd64])
99 Inst linux-stuff (1.0 unstable [amd64])
100 Conf amdboot (1.0 unstable [amd64])
101 Conf cool (1.0 unstable [amd64])
102 Conf doxygen (1.0 unstable [amd64])
103 Conf foreigner (1.0 unstable [amd64])
104 Conf libc6 (1.0 unstable [amd64])
105 Conf libc6-dev (1.0 unstable [amd64])
106 Conf libfwibble1 (1.0 unstable [amd64])
107 Conf libfwibble-dev (1.0 unstable [amd64])
108 Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
109
110 testequal 'Reading package lists...
111 Building dependency tree...
112 The following NEW packages will be installed:
113 amdboot arm-stuff:armel cool doxygen foreigner libc6 libc6:armel libc6-dev
114 libc6-dev:armel libfwibble-dev:armel libfwibble1:armel
115 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
116 Inst amdboot (1.0 unstable [amd64])
117 Inst arm-stuff:armel (1.0 unstable [armel])
118 Inst cool (1.0 unstable [amd64])
119 Inst doxygen (1.0 unstable [amd64])
120 Inst foreigner (1.0 unstable [amd64])
121 Inst libc6 (1.0 unstable [amd64])
122 Inst libc6:armel (1.0 unstable [armel])
123 Inst libc6-dev (1.0 unstable [amd64])
124 Inst libc6-dev:armel (1.0 unstable [armel])
125 Inst libfwibble1:armel (1.0 unstable [armel])
126 Inst libfwibble-dev:armel (1.0 unstable [armel])
127 Conf amdboot (1.0 unstable [amd64])
128 Conf arm-stuff:armel (1.0 unstable [armel])
129 Conf cool (1.0 unstable [amd64])
130 Conf doxygen (1.0 unstable [amd64])
131 Conf foreigner (1.0 unstable [amd64])
132 Conf libc6 (1.0 unstable [amd64])
133 Conf libc6:armel (1.0 unstable [armel])
134 Conf libc6-dev (1.0 unstable [amd64])
135 Conf libc6-dev:armel (1.0 unstable [armel])
136 Conf libfwibble1:armel (1.0 unstable [armel])
137 Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
138
139 configarchitecture 'armel' 'amd64'
140
141 testequal 'Reading package lists...
142 Building dependency tree...
143 The following NEW packages will be installed:
144 amdboot:amd64 arm-stuff cool doxygen foreigner libc6 libc6-dev
145 libfwibble-dev libfwibble1
146 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
147 Inst amdboot:amd64 (1.0 unstable [amd64])
148 Inst arm-stuff (1.0 unstable [armel])
149 Inst cool (1.0 unstable [armel])
150 Inst doxygen (1.0 unstable [armel])
151 Inst foreigner (1.0 unstable [armel])
152 Inst libc6 (1.0 unstable [armel])
153 Inst libc6-dev (1.0 unstable [armel])
154 Inst libfwibble1 (1.0 unstable [armel])
155 Inst libfwibble-dev (1.0 unstable [armel])
156 Conf amdboot:amd64 (1.0 unstable [amd64])
157 Conf arm-stuff (1.0 unstable [armel])
158 Conf cool (1.0 unstable [armel])
159 Conf doxygen (1.0 unstable [armel])
160 Conf foreigner (1.0 unstable [armel])
161 Conf libc6 (1.0 unstable [armel])
162 Conf libc6-dev (1.0 unstable [armel])
163 Conf libfwibble1 (1.0 unstable [armel])
164 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
165
166 testequal 'Reading package lists...
167 Building dependency tree...
168 The following NEW packages will be installed:
169 amdboot:amd64 cool doxygen foreigner libc6:amd64 libc6 libc6-dev:amd64
170 libc6-dev libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
171 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
172 Inst amdboot:amd64 (1.0 unstable [amd64])
173 Inst cool (1.0 unstable [armel])
174 Inst doxygen (1.0 unstable [armel])
175 Inst foreigner (1.0 unstable [armel])
176 Inst libc6:amd64 (1.0 unstable [amd64])
177 Inst libc6 (1.0 unstable [armel])
178 Inst libc6-dev:amd64 (1.0 unstable [amd64])
179 Inst libc6-dev (1.0 unstable [armel])
180 Inst libfwibble1:amd64 (1.0 unstable [amd64])
181 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
182 Inst linux-stuff:amd64 (1.0 unstable [amd64])
183 Conf amdboot:amd64 (1.0 unstable [amd64])
184 Conf cool (1.0 unstable [armel])
185 Conf doxygen (1.0 unstable [armel])
186 Conf foreigner (1.0 unstable [armel])
187 Conf libc6:amd64 (1.0 unstable [amd64])
188 Conf libc6 (1.0 unstable [armel])
189 Conf libc6-dev:amd64 (1.0 unstable [amd64])
190 Conf libc6-dev (1.0 unstable [armel])
191 Conf libfwibble1:amd64 (1.0 unstable [amd64])
192 Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
193 Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64
194
195 configarchitecture 'amd64' 'armel'
196
197 insertinstalledpackage 'cool' 'amd64' '0.5'
198 insertinstalledpackage 'foreigner' 'armel' '0.5'
199
200 testequal 'Reading package lists...
201 Building dependency tree...
202 The following NEW packages will be installed:
203 amdboot doxygen libc6 libc6-dev libfwibble-dev libfwibble1 linux-stuff
204 0 upgraded, 7 newly installed, 0 to remove and 2 not upgraded.
205 Inst amdboot (1.0 unstable [amd64])
206 Inst doxygen (1.0 unstable [amd64])
207 Inst libc6 (1.0 unstable [amd64])
208 Inst libc6-dev (1.0 unstable [amd64])
209 Inst libfwibble1 (1.0 unstable [amd64])
210 Inst libfwibble-dev (1.0 unstable [amd64])
211 Inst linux-stuff (1.0 unstable [amd64])
212 Conf amdboot (1.0 unstable [amd64])
213 Conf doxygen (1.0 unstable [amd64])
214 Conf libc6 (1.0 unstable [amd64])
215 Conf libc6-dev (1.0 unstable [amd64])
216 Conf libfwibble1 (1.0 unstable [amd64])
217 Conf libfwibble-dev (1.0 unstable [amd64])
218 Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
219
220 testequal 'Reading package lists...
221 Building dependency tree...
222 The following NEW packages will be installed:
223 amdboot arm-stuff:armel doxygen libc6 libc6:armel libc6-dev libc6-dev:armel
224 libfwibble-dev:armel libfwibble1:armel
225 0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded.
226 Inst amdboot (1.0 unstable [amd64])
227 Inst arm-stuff:armel (1.0 unstable [armel])
228 Inst doxygen (1.0 unstable [amd64])
229 Inst libc6 (1.0 unstable [amd64])
230 Inst libc6:armel (1.0 unstable [armel])
231 Inst libc6-dev (1.0 unstable [amd64])
232 Inst libc6-dev:armel (1.0 unstable [armel])
233 Inst libfwibble1:armel (1.0 unstable [armel])
234 Inst libfwibble-dev:armel (1.0 unstable [armel])
235 Conf amdboot (1.0 unstable [amd64])
236 Conf arm-stuff:armel (1.0 unstable [armel])
237 Conf doxygen (1.0 unstable [amd64])
238 Conf libc6 (1.0 unstable [amd64])
239 Conf libc6:armel (1.0 unstable [armel])
240 Conf libc6-dev (1.0 unstable [amd64])
241 Conf libc6-dev:armel (1.0 unstable [armel])
242 Conf libfwibble1:armel (1.0 unstable [armel])
243 Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
244
245 configarchitecture 'armel' 'amd64'
246
247 # cool 0.5 is not M-A: allowed, so amd64 is not acceptable
248 testequal 'Reading package lists...
249 Building dependency tree...
250 The following packages will be REMOVED:
251 cool:amd64
252 The following NEW packages will be installed:
253 amdboot:amd64 arm-stuff cool doxygen libc6 libc6-dev libfwibble-dev
254 libfwibble1
255 0 upgraded, 8 newly installed, 1 to remove and 1 not upgraded.
256 Remv cool:amd64 [0.5]
257 Inst amdboot:amd64 (1.0 unstable [amd64])
258 Inst arm-stuff (1.0 unstable [armel])
259 Inst cool (1.0 unstable [armel])
260 Inst doxygen (1.0 unstable [armel])
261 Inst libc6 (1.0 unstable [armel])
262 Inst libc6-dev (1.0 unstable [armel])
263 Inst libfwibble1 (1.0 unstable [armel])
264 Inst libfwibble-dev (1.0 unstable [armel])
265 Conf amdboot:amd64 (1.0 unstable [amd64])
266 Conf arm-stuff (1.0 unstable [armel])
267 Conf cool (1.0 unstable [armel])
268 Conf doxygen (1.0 unstable [armel])
269 Conf libc6 (1.0 unstable [armel])
270 Conf libc6-dev (1.0 unstable [armel])
271 Conf libfwibble1 (1.0 unstable [armel])
272 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
273
274 testequal 'Reading package lists...
275 Building dependency tree...
276 The following NEW packages will be installed:
277 amdboot:amd64 doxygen libc6:amd64 libc6 libc6-dev:amd64 libc6-dev
278 libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
279 0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded.
280 Inst amdboot:amd64 (1.0 unstable [amd64])
281 Inst doxygen (1.0 unstable [armel])
282 Inst libc6:amd64 (1.0 unstable [amd64])
283 Inst libc6 (1.0 unstable [armel])
284 Inst libc6-dev:amd64 (1.0 unstable [amd64])
285 Inst libc6-dev (1.0 unstable [armel])
286 Inst libfwibble1:amd64 (1.0 unstable [amd64])
287 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
288 Inst linux-stuff:amd64 (1.0 unstable [amd64])
289 Conf amdboot:amd64 (1.0 unstable [amd64])
290 Conf doxygen (1.0 unstable [armel])
291 Conf libc6:amd64 (1.0 unstable [amd64])
292 Conf libc6 (1.0 unstable [armel])
293 Conf libc6-dev:amd64 (1.0 unstable [amd64])
294 Conf libc6-dev (1.0 unstable [armel])
295 Conf libfwibble1:amd64 (1.0 unstable [amd64])
296 Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
297 Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64