check build-dep candidate if install is forbidden
[ntk/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 setupaptarchive
31
32 testequal "Reading package lists...
33 Building dependency tree...
34 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
35 testequal "Reading package lists...
36 Building dependency tree...
37 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
38 testequal "Reading package lists...
39 Building dependency tree...
40 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
41
42 testequal 'Reading package lists...
43 Building dependency tree...
44 The following NEW packages will be installed:
45 amdboot cool doxygen foreigner libc6 libc6-dev libfwibble-dev libfwibble1
46 linux-stuff
47 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
48 Inst amdboot (1.0 unstable [amd64])
49 Inst cool (1.0 unstable [amd64])
50 Inst doxygen (1.0 unstable [amd64])
51 Inst foreigner (1.0 unstable [amd64])
52 Inst libc6 (1.0 unstable [amd64])
53 Inst libc6-dev (1.0 unstable [amd64])
54 Inst libfwibble1 (1.0 unstable [amd64])
55 Inst libfwibble-dev (1.0 unstable [amd64])
56 Inst linux-stuff (1.0 unstable [amd64])
57 Conf amdboot (1.0 unstable [amd64])
58 Conf cool (1.0 unstable [amd64])
59 Conf doxygen (1.0 unstable [amd64])
60 Conf foreigner (1.0 unstable [amd64])
61 Conf libc6 (1.0 unstable [amd64])
62 Conf libc6-dev (1.0 unstable [amd64])
63 Conf libfwibble1 (1.0 unstable [amd64])
64 Conf libfwibble-dev (1.0 unstable [amd64])
65 Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
66
67 testequal 'Reading package lists...
68 Building dependency tree...
69 The following NEW packages will be installed:
70 amdboot arm-stuff:armel cool doxygen foreigner libc6 libc6:armel libc6-dev
71 libc6-dev:armel libfwibble-dev:armel libfwibble1:armel
72 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
73 Inst amdboot (1.0 unstable [amd64])
74 Inst arm-stuff:armel (1.0 unstable [armel])
75 Inst cool (1.0 unstable [amd64])
76 Inst doxygen (1.0 unstable [amd64])
77 Inst foreigner (1.0 unstable [amd64])
78 Inst libc6 (1.0 unstable [amd64])
79 Inst libc6:armel (1.0 unstable [armel])
80 Inst libc6-dev (1.0 unstable [amd64])
81 Inst libc6-dev:armel (1.0 unstable [armel])
82 Inst libfwibble1:armel (1.0 unstable [armel])
83 Inst libfwibble-dev:armel (1.0 unstable [armel])
84 Conf amdboot (1.0 unstable [amd64])
85 Conf arm-stuff:armel (1.0 unstable [armel])
86 Conf cool (1.0 unstable [amd64])
87 Conf doxygen (1.0 unstable [amd64])
88 Conf foreigner (1.0 unstable [amd64])
89 Conf libc6 (1.0 unstable [amd64])
90 Conf libc6:armel (1.0 unstable [armel])
91 Conf libc6-dev (1.0 unstable [amd64])
92 Conf libc6-dev:armel (1.0 unstable [armel])
93 Conf libfwibble1:armel (1.0 unstable [armel])
94 Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
95
96 configarchitecture 'armel' 'amd64'
97
98 testequal 'Reading package lists...
99 Building dependency tree...
100 The following NEW packages will be installed:
101 amdboot:amd64 arm-stuff cool doxygen foreigner libc6 libc6-dev
102 libfwibble-dev libfwibble1
103 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
104 Inst amdboot:amd64 (1.0 unstable [amd64])
105 Inst arm-stuff (1.0 unstable [armel])
106 Inst cool (1.0 unstable [armel])
107 Inst doxygen (1.0 unstable [armel])
108 Inst foreigner (1.0 unstable [armel])
109 Inst libc6 (1.0 unstable [armel])
110 Inst libc6-dev (1.0 unstable [armel])
111 Inst libfwibble1 (1.0 unstable [armel])
112 Inst libfwibble-dev (1.0 unstable [armel])
113 Conf amdboot:amd64 (1.0 unstable [amd64])
114 Conf arm-stuff (1.0 unstable [armel])
115 Conf cool (1.0 unstable [armel])
116 Conf doxygen (1.0 unstable [armel])
117 Conf foreigner (1.0 unstable [armel])
118 Conf libc6 (1.0 unstable [armel])
119 Conf libc6-dev (1.0 unstable [armel])
120 Conf libfwibble1 (1.0 unstable [armel])
121 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
122
123 testequal 'Reading package lists...
124 Building dependency tree...
125 The following NEW packages will be installed:
126 amdboot:amd64 cool doxygen foreigner libc6:amd64 libc6 libc6-dev:amd64
127 libc6-dev libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
128 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
129 Inst amdboot:amd64 (1.0 unstable [amd64])
130 Inst cool (1.0 unstable [armel])
131 Inst doxygen (1.0 unstable [armel])
132 Inst foreigner (1.0 unstable [armel])
133 Inst libc6:amd64 (1.0 unstable [amd64])
134 Inst libc6 (1.0 unstable [armel])
135 Inst libc6-dev:amd64 (1.0 unstable [amd64])
136 Inst libc6-dev (1.0 unstable [armel])
137 Inst libfwibble1:amd64 (1.0 unstable [amd64])
138 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
139 Inst linux-stuff:amd64 (1.0 unstable [amd64])
140 Conf amdboot:amd64 (1.0 unstable [amd64])
141 Conf cool (1.0 unstable [armel])
142 Conf doxygen (1.0 unstable [armel])
143 Conf foreigner (1.0 unstable [armel])
144 Conf libc6:amd64 (1.0 unstable [amd64])
145 Conf libc6 (1.0 unstable [armel])
146 Conf libc6-dev:amd64 (1.0 unstable [amd64])
147 Conf libc6-dev (1.0 unstable [armel])
148 Conf libfwibble1:amd64 (1.0 unstable [amd64])
149 Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
150 Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64
151
152 configarchitecture 'amd64' 'armel'
153
154 insertinstalledpackage 'cool' 'amd64' '0.5'
155 insertinstalledpackage 'foreigner' 'armel' '0.5'
156
157 testequal 'Reading package lists...
158 Building dependency tree...
159 The following NEW packages will be installed:
160 amdboot doxygen libc6 libc6-dev libfwibble-dev libfwibble1 linux-stuff
161 0 upgraded, 7 newly installed, 0 to remove and 2 not upgraded.
162 Inst amdboot (1.0 unstable [amd64])
163 Inst doxygen (1.0 unstable [amd64])
164 Inst libc6 (1.0 unstable [amd64])
165 Inst libc6-dev (1.0 unstable [amd64])
166 Inst libfwibble1 (1.0 unstable [amd64])
167 Inst libfwibble-dev (1.0 unstable [amd64])
168 Inst linux-stuff (1.0 unstable [amd64])
169 Conf amdboot (1.0 unstable [amd64])
170 Conf doxygen (1.0 unstable [amd64])
171 Conf libc6 (1.0 unstable [amd64])
172 Conf libc6-dev (1.0 unstable [amd64])
173 Conf libfwibble1 (1.0 unstable [amd64])
174 Conf libfwibble-dev (1.0 unstable [amd64])
175 Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
176
177 testequal 'Reading package lists...
178 Building dependency tree...
179 The following NEW packages will be installed:
180 amdboot arm-stuff:armel doxygen libc6 libc6:armel libc6-dev libc6-dev:armel
181 libfwibble-dev:armel libfwibble1:armel
182 0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded.
183 Inst amdboot (1.0 unstable [amd64])
184 Inst arm-stuff:armel (1.0 unstable [armel])
185 Inst doxygen (1.0 unstable [amd64])
186 Inst libc6 (1.0 unstable [amd64])
187 Inst libc6:armel (1.0 unstable [armel])
188 Inst libc6-dev (1.0 unstable [amd64])
189 Inst libc6-dev:armel (1.0 unstable [armel])
190 Inst libfwibble1:armel (1.0 unstable [armel])
191 Inst libfwibble-dev:armel (1.0 unstable [armel])
192 Conf amdboot (1.0 unstable [amd64])
193 Conf arm-stuff:armel (1.0 unstable [armel])
194 Conf doxygen (1.0 unstable [amd64])
195 Conf libc6 (1.0 unstable [amd64])
196 Conf libc6:armel (1.0 unstable [armel])
197 Conf libc6-dev (1.0 unstable [amd64])
198 Conf libc6-dev:armel (1.0 unstable [armel])
199 Conf libfwibble1:armel (1.0 unstable [armel])
200 Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
201
202 configarchitecture 'armel' 'amd64'
203
204 # cool 0.5 is not M-A: allowed, so amd64 is not acceptable
205 testequal 'Reading package lists...
206 Building dependency tree...
207 The following packages will be REMOVED:
208 cool:amd64
209 The following NEW packages will be installed:
210 amdboot:amd64 arm-stuff cool doxygen libc6 libc6-dev libfwibble-dev
211 libfwibble1
212 0 upgraded, 8 newly installed, 1 to remove and 1 not upgraded.
213 Remv cool:amd64 [0.5]
214 Inst amdboot:amd64 (1.0 unstable [amd64])
215 Inst arm-stuff (1.0 unstable [armel])
216 Inst cool (1.0 unstable [armel])
217 Inst doxygen (1.0 unstable [armel])
218 Inst libc6 (1.0 unstable [armel])
219 Inst libc6-dev (1.0 unstable [armel])
220 Inst libfwibble1 (1.0 unstable [armel])
221 Inst libfwibble-dev (1.0 unstable [armel])
222 Conf amdboot:amd64 (1.0 unstable [amd64])
223 Conf arm-stuff (1.0 unstable [armel])
224 Conf cool (1.0 unstable [armel])
225 Conf doxygen (1.0 unstable [armel])
226 Conf libc6 (1.0 unstable [armel])
227 Conf libc6-dev (1.0 unstable [armel])
228 Conf libfwibble1 (1.0 unstable [armel])
229 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
230
231 testequal 'Reading package lists...
232 Building dependency tree...
233 The following NEW packages will be installed:
234 amdboot:amd64 doxygen libc6:amd64 libc6 libc6-dev:amd64 libc6-dev
235 libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
236 0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded.
237 Inst amdboot:amd64 (1.0 unstable [amd64])
238 Inst doxygen (1.0 unstable [armel])
239 Inst libc6:amd64 (1.0 unstable [amd64])
240 Inst libc6 (1.0 unstable [armel])
241 Inst libc6-dev:amd64 (1.0 unstable [amd64])
242 Inst libc6-dev (1.0 unstable [armel])
243 Inst libfwibble1:amd64 (1.0 unstable [amd64])
244 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
245 Inst linux-stuff:amd64 (1.0 unstable [amd64])
246 Conf amdboot:amd64 (1.0 unstable [amd64])
247 Conf doxygen (1.0 unstable [armel])
248 Conf libc6:amd64 (1.0 unstable [amd64])
249 Conf libc6 (1.0 unstable [armel])
250 Conf libc6-dev:amd64 (1.0 unstable [amd64])
251 Conf libc6-dev (1.0 unstable [armel])
252 Conf libfwibble1:amd64 (1.0 unstable [amd64])
253 Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
254 Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64