]> git.saurik.com Git - apt.git/blame - test/integration/test-bug-758153-versioned-provides-support
just-in-time creation for (implicit) Provides
[apt.git] / test / integration / test-bug-758153-versioned-provides-support
CommitLineData
40faab46
DK
1#!/bin/sh
2set -e
3
4# dpkg implements versioned provides in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5
5# but previous versions seem to allow parsing, working and ignoring it.
6
7TESTDIR=$(readlink -f $(dirname $0))
8. $TESTDIR/framework
9setupenvironment
10configarchitecture 'amd64' 'i386'
11
12insertinstalledpackage 'webapp' 'all' '1' 'Depends: httpd'
13insertinstalledpackage 'webserver' 'all' '1' 'Provides: httpd'
14
15insertpackage 'unstable' 'webapp' 'all' '2' 'Depends: httpd (>= 2)'
16insertpackage 'unstable' 'webserver' 'amd64' '2' 'Provides: httpd (= 2)'
17insertpackage 'unstable' 'foreign-webserver' 'i386' '2' 'Multi-Arch: foreign
18Provides: httpd (= 2)'
19
20insertpackage 'experimental' 'webapp' 'all' '3' 'Depends: httpd (>= 1.5)'
21insertpackage 'experimental' 'webserver' 'amd64' '3' 'Provides: httpd (= 3)'
22
23insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign
24Provides: httpd (= 4)'
25insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)'
26
25b86db1
DK
27# arch-qualified provides, see #777071
28insertpackage 'unstable' 'foo' 'all' '1' 'Provides: bar:i386'
29insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar'
30insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386'
31insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64'
32
ecc138f8
DK
33insertpackage 'unstable' 'next' 'amd64' '1' 'Multi-Arch: foreign
34Provides: next (= 2)'
35insertpackage 'unstable' 'needsrealnext' 'amd64,i386' '2' 'Depends: next (>= 2)'
36
37insertpackage 'unstable' 'virtualnext2' 'amd64' '1' 'Multi-Arch: foreign
38Provides: next2 (= 2)'
39insertpackage 'unstable' 'needsnext2' 'amd64,i386' '2' 'Depends: next2 (>= 2)'
40
41insertpackage 'unstable' 'virtualnext3' 'amd64' '1' 'Multi-Arch: no
42Provides: next3 (= 2)'
43insertpackage 'unstable' 'needsnext3' 'amd64,i386' '2' 'Depends: next3 (>= 2)'
44
40faab46
DK
45setupaptarchive
46
25b86db1 47testsuccessequal 'Reading package lists...
40faab46 48Building dependency tree...
2a884c61 49Calculating upgrade...
40faab46
DK
50The following packages will be upgraded:
51 webapp webserver
522 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
53Inst webserver [1] (2 unstable [amd64])
54Inst webapp [1] (2 unstable [all])
55Conf webserver (2 unstable [amd64])
56Conf webapp (2 unstable [all])' aptget dist-upgrade -s
57
25b86db1 58testsuccessequal 'Reading package lists...
40faab46
DK
59Building dependency tree...
60The following packages will be upgraded:
61 webapp webserver
622 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
63Inst webserver [1] (2 unstable [amd64])
64Inst webapp [1] (2 unstable [all])
65Conf webserver (2 unstable [amd64])
66Conf webapp (2 unstable [all])' aptget install webapp webserver -s
67
25b86db1 68testsuccessequal 'Reading package lists...
40faab46
DK
69Building dependency tree...
70The following packages will be upgraded:
71 webapp webserver
722 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
73Inst webserver [1] (2 unstable [amd64])
74Inst webapp [1] (3 experimental [all])
75Conf webserver (2 unstable [amd64])
76Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s
77
25b86db1 78testsuccessequal 'Reading package lists...
40faab46
DK
79Building dependency tree...
80The following packages will be upgraded:
81 webapp webserver
822 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
83Inst webserver [1] (3 experimental [amd64])
84Inst webapp [1] (2 unstable [all])
85Conf webserver (3 experimental [amd64])
86Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s
87
25b86db1 88testsuccessequal 'Reading package lists...
40faab46
DK
89Building dependency tree...
90The following NEW packages will be installed:
91 foreign-webserver:i386
92The following packages will be upgraded:
93 webapp
941 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
95Inst foreign-webserver:i386 (2 unstable [i386])
96Inst webapp [1] (2 unstable [all])
97Conf foreign-webserver:i386 (2 unstable [i386])
98Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s
99
25b86db1 100testsuccessequal 'Reading package lists...
40faab46
DK
101Building dependency tree...
102The following NEW packages will be installed:
103 foreign-webserver:i386
104The following packages will be upgraded:
105 webapp
1061 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
107Inst foreign-webserver:i386 (2 unstable [i386])
108Inst webapp [1] (3 experimental [all])
109Conf foreign-webserver:i386 (2 unstable [i386])
110Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s
111
25b86db1 112testsuccessequal 'Reading package lists...
40faab46
DK
113Building dependency tree...
114The following NEW packages will be installed:
115 foreign-webserver:i386
116The following packages will be upgraded:
117 webapp
1181 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
119Inst foreign-webserver:i386 (4 experimental [i386])
120Inst webapp [1] (2 unstable [all])
121Conf foreign-webserver:i386 (4 experimental [i386])
122Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s
123
25b86db1 124testfailureequal 'Reading package lists...
40faab46
DK
125Building dependency tree...
126Some packages could not be installed. This may mean that you have
127requested an impossible situation or if you are using the unstable
128distribution that some required packages have not yet been created
129or been moved out of Incoming.
130The following information may help to resolve the situation:
131
132The following packages have unmet dependencies:
133 cool-webapp : Depends: httpd (>= 4)
134E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s
135
25b86db1 136testfailureequal 'Reading package lists...
40faab46
DK
137Building dependency tree...
138Some packages could not be installed. This may mean that you have
139requested an impossible situation or if you are using the unstable
140distribution that some required packages have not yet been created
141or been moved out of Incoming.
142The following information may help to resolve the situation:
143
144The following packages have unmet dependencies:
145 cool-webapp : Depends: httpd (>= 4)
146E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s
147
25b86db1 148testsuccessequal 'Reading package lists...
40faab46
DK
149Building dependency tree...
150The following NEW packages will be installed:
151 cool-webapp foreign-webserver:i386
1520 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
153Inst foreign-webserver:i386 (4 experimental [i386])
154Inst cool-webapp (4 experimental [all])
155Conf foreign-webserver:i386 (4 experimental [i386])
156Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s
25b86db1
DK
157
158testsuccessequal 'Reading package lists...
159Building dependency tree...
160The following extra packages will be installed:
161 foo
162The following NEW packages will be installed:
163 baz:i386 foo
1640 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
165Inst foo (1 unstable [all])
166Inst baz:i386 (1 unstable [i386])
167Conf foo (1 unstable [all])
168Conf baz:i386 (1 unstable [i386])' aptget install baz:i386 -s
169
170testfailureequal 'Reading package lists...
171Building dependency tree...
172Some packages could not be installed. This may mean that you have
173requested an impossible situation or if you are using the unstable
174distribution that some required packages have not yet been created
175or been moved out of Incoming.
176The following information may help to resolve the situation:
177
178The following packages have unmet dependencies:
179 baz : Depends: bar but it is not installable
180E: Unable to correct problems, you have held broken packages.' aptget install baz:amd64 -s
181
182testsuccessequal "Reading package lists...
183Building dependency tree...
184Selected version '2' (experimental [amd64]) for 'baz'
185The following extra packages will be installed:
186 foo
187The following NEW packages will be installed:
188 baz foo
1890 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
190Inst foo (1 unstable [all])
191Inst baz (2 experimental [amd64])
192Conf foo (1 unstable [all])
193Conf baz (2 experimental [amd64])" aptget install baz/experimental -s -q=0
194
195testsuccessequal "Reading package lists...
196Building dependency tree...
197Selected version '2' (experimental [i386]) for 'baz:i386'
198The following extra packages will be installed:
199 foo
200The following NEW packages will be installed:
201 baz:i386 foo
2020 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
203Inst foo (1 unstable [all])
204Inst baz:i386 (2 experimental [i386])
205Conf foo (1 unstable [all])
206Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s -q=0
207
208testfailureequal 'Reading package lists...
209Building dependency tree...
210Some packages could not be installed. This may mean that you have
211requested an impossible situation or if you are using the unstable
212distribution that some required packages have not yet been created
213or been moved out of Incoming.
214The following information may help to resolve the situation:
215
216The following packages have unmet dependencies:
217 baz-broken:i386 : Depends: bar but it is not installable
218E: Unable to correct problems, you have held broken packages.' aptget install baz-broken -s
ecc138f8
DK
219
220testsuccessequal 'Reading package lists...
221Building dependency tree...
222The following extra packages will be installed:
223 next
224The following NEW packages will be installed:
225 needsrealnext next
2260 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
227Inst next (1 unstable [amd64])
228Inst needsrealnext (2 unstable [amd64])
229Conf next (1 unstable [amd64])
230Conf needsrealnext (2 unstable [amd64])' aptget install needsrealnext -s
231
232testsuccessequal 'Reading package lists...
233Building dependency tree...
234The following extra packages will be installed:
235 next
236The following NEW packages will be installed:
237 needsrealnext:i386 next
2380 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
239Inst next (1 unstable [amd64])
240Inst needsrealnext:i386 (2 unstable [i386])
241Conf next (1 unstable [amd64])
242Conf needsrealnext:i386 (2 unstable [i386])' aptget install needsrealnext:i386 -s
243
244testsuccessequal 'Reading package lists...
245Building dependency tree...
246The following extra packages will be installed:
247 virtualnext2
248The following NEW packages will be installed:
249 needsnext2 virtualnext2
2500 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
251Inst virtualnext2 (1 unstable [amd64])
252Inst needsnext2 (2 unstable [amd64])
253Conf virtualnext2 (1 unstable [amd64])
254Conf needsnext2 (2 unstable [amd64])' aptget install needsnext2 -s
255
256testsuccessequal 'Reading package lists...
257Building dependency tree...
258The following extra packages will be installed:
259 virtualnext2
260The following NEW packages will be installed:
261 needsnext2:i386 virtualnext2
2620 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
263Inst virtualnext2 (1 unstable [amd64])
264Inst needsnext2:i386 (2 unstable [i386])
265Conf virtualnext2 (1 unstable [amd64])
266Conf needsnext2:i386 (2 unstable [i386])' aptget install needsnext2:i386 -s
267
268testsuccessequal 'Reading package lists...
269Building dependency tree...
270The following extra packages will be installed:
271 virtualnext3
272The following NEW packages will be installed:
273 needsnext3 virtualnext3
2740 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
275Inst virtualnext3 (1 unstable [amd64])
276Inst needsnext3 (2 unstable [amd64])
277Conf virtualnext3 (1 unstable [amd64])
278Conf needsnext3 (2 unstable [amd64])' aptget install needsnext3 -s
279
280testfailureequal 'Reading package lists...
281Building dependency tree...
282Some packages could not be installed. This may mean that you have
283requested an impossible situation or if you are using the unstable
284distribution that some required packages have not yet been created
285or been moved out of Incoming.
286The following information may help to resolve the situation:
287
288The following packages have unmet dependencies:
289 needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable
290E: Unable to correct problems, you have held broken packages.' aptget install needsnext3:i386 -s