]>
Commit | Line | Data |
---|---|---|
40faab46 DK |
1 | #!/bin/sh |
2 | set -e | |
3 | ||
4 | # dpkg implements versioned provides in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5 | |
5 | # but previous versions seem to allow parsing, working and ignoring it. | |
6 | ||
7 | TESTDIR=$(readlink -f $(dirname $0)) | |
8 | . $TESTDIR/framework | |
9 | setupenvironment | |
10 | configarchitecture 'amd64' 'i386' | |
11 | ||
12 | insertinstalledpackage 'webapp' 'all' '1' 'Depends: httpd' | |
13 | insertinstalledpackage 'webserver' 'all' '1' 'Provides: httpd' | |
14 | ||
15 | insertpackage 'unstable' 'webapp' 'all' '2' 'Depends: httpd (>= 2)' | |
16 | insertpackage 'unstable' 'webserver' 'amd64' '2' 'Provides: httpd (= 2)' | |
17 | insertpackage 'unstable' 'foreign-webserver' 'i386' '2' 'Multi-Arch: foreign | |
18 | Provides: httpd (= 2)' | |
19 | ||
20 | insertpackage 'experimental' 'webapp' 'all' '3' 'Depends: httpd (>= 1.5)' | |
21 | insertpackage 'experimental' 'webserver' 'amd64' '3' 'Provides: httpd (= 3)' | |
22 | ||
23 | insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign | |
24 | Provides: httpd (= 4)' | |
25 | insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)' | |
26 | ||
25b86db1 DK |
27 | # arch-qualified provides, see #777071 |
28 | insertpackage 'unstable' 'foo' 'all' '1' 'Provides: bar:i386' | |
29 | insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar' | |
30 | insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386' | |
31 | insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64' | |
32 | ||
40faab46 DK |
33 | setupaptarchive |
34 | ||
25b86db1 | 35 | testsuccessequal 'Reading package lists... |
40faab46 | 36 | Building dependency tree... |
2a884c61 | 37 | Calculating upgrade... |
40faab46 DK |
38 | The following packages will be upgraded: |
39 | webapp webserver | |
40 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
41 | Inst webserver [1] (2 unstable [amd64]) | |
42 | Inst webapp [1] (2 unstable [all]) | |
43 | Conf webserver (2 unstable [amd64]) | |
44 | Conf webapp (2 unstable [all])' aptget dist-upgrade -s | |
45 | ||
25b86db1 | 46 | testsuccessequal 'Reading package lists... |
40faab46 DK |
47 | Building dependency tree... |
48 | The following packages will be upgraded: | |
49 | webapp webserver | |
50 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
51 | Inst webserver [1] (2 unstable [amd64]) | |
52 | Inst webapp [1] (2 unstable [all]) | |
53 | Conf webserver (2 unstable [amd64]) | |
54 | Conf webapp (2 unstable [all])' aptget install webapp webserver -s | |
55 | ||
25b86db1 | 56 | testsuccessequal 'Reading package lists... |
40faab46 DK |
57 | Building dependency tree... |
58 | The following packages will be upgraded: | |
59 | webapp webserver | |
60 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
61 | Inst webserver [1] (2 unstable [amd64]) | |
62 | Inst webapp [1] (3 experimental [all]) | |
63 | Conf webserver (2 unstable [amd64]) | |
64 | Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s | |
65 | ||
25b86db1 | 66 | testsuccessequal 'Reading package lists... |
40faab46 DK |
67 | Building dependency tree... |
68 | The following packages will be upgraded: | |
69 | webapp webserver | |
70 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
71 | Inst webserver [1] (3 experimental [amd64]) | |
72 | Inst webapp [1] (2 unstable [all]) | |
73 | Conf webserver (3 experimental [amd64]) | |
74 | Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s | |
75 | ||
25b86db1 | 76 | testsuccessequal 'Reading package lists... |
40faab46 DK |
77 | Building dependency tree... |
78 | The following NEW packages will be installed: | |
79 | foreign-webserver:i386 | |
80 | The following packages will be upgraded: | |
81 | webapp | |
82 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
83 | Inst foreign-webserver:i386 (2 unstable [i386]) | |
84 | Inst webapp [1] (2 unstable [all]) | |
85 | Conf foreign-webserver:i386 (2 unstable [i386]) | |
86 | Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s | |
87 | ||
25b86db1 | 88 | testsuccessequal 'Reading package lists... |
40faab46 DK |
89 | Building dependency tree... |
90 | The following NEW packages will be installed: | |
91 | foreign-webserver:i386 | |
92 | The following packages will be upgraded: | |
93 | webapp | |
94 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
95 | Inst foreign-webserver:i386 (2 unstable [i386]) | |
96 | Inst webapp [1] (3 experimental [all]) | |
97 | Conf foreign-webserver:i386 (2 unstable [i386]) | |
98 | Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s | |
99 | ||
25b86db1 | 100 | testsuccessequal 'Reading package lists... |
40faab46 DK |
101 | Building dependency tree... |
102 | The following NEW packages will be installed: | |
103 | foreign-webserver:i386 | |
104 | The following packages will be upgraded: | |
105 | webapp | |
106 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
107 | Inst foreign-webserver:i386 (4 experimental [i386]) | |
108 | Inst webapp [1] (2 unstable [all]) | |
109 | Conf foreign-webserver:i386 (4 experimental [i386]) | |
110 | Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s | |
111 | ||
25b86db1 | 112 | testfailureequal 'Reading package lists... |
40faab46 DK |
113 | Building dependency tree... |
114 | Some packages could not be installed. This may mean that you have | |
115 | requested an impossible situation or if you are using the unstable | |
116 | distribution that some required packages have not yet been created | |
117 | or been moved out of Incoming. | |
118 | The following information may help to resolve the situation: | |
119 | ||
120 | The following packages have unmet dependencies: | |
121 | cool-webapp : Depends: httpd (>= 4) | |
122 | E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s | |
123 | ||
25b86db1 | 124 | testfailureequal 'Reading package lists... |
40faab46 DK |
125 | Building dependency tree... |
126 | Some packages could not be installed. This may mean that you have | |
127 | requested an impossible situation or if you are using the unstable | |
128 | distribution that some required packages have not yet been created | |
129 | or been moved out of Incoming. | |
130 | The following information may help to resolve the situation: | |
131 | ||
132 | The following packages have unmet dependencies: | |
133 | cool-webapp : Depends: httpd (>= 4) | |
134 | E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s | |
135 | ||
25b86db1 | 136 | testsuccessequal 'Reading package lists... |
40faab46 DK |
137 | Building dependency tree... |
138 | The following NEW packages will be installed: | |
139 | cool-webapp foreign-webserver:i386 | |
140 | 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. | |
141 | Inst foreign-webserver:i386 (4 experimental [i386]) | |
142 | Inst cool-webapp (4 experimental [all]) | |
143 | Conf foreign-webserver:i386 (4 experimental [i386]) | |
144 | Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s | |
25b86db1 DK |
145 | |
146 | testsuccessequal 'Reading package lists... | |
147 | Building dependency tree... | |
148 | The following extra packages will be installed: | |
149 | foo | |
150 | The following NEW packages will be installed: | |
151 | baz:i386 foo | |
152 | 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. | |
153 | Inst foo (1 unstable [all]) | |
154 | Inst baz:i386 (1 unstable [i386]) | |
155 | Conf foo (1 unstable [all]) | |
156 | Conf baz:i386 (1 unstable [i386])' aptget install baz:i386 -s | |
157 | ||
158 | testfailureequal 'Reading package lists... | |
159 | Building dependency tree... | |
160 | Some packages could not be installed. This may mean that you have | |
161 | requested an impossible situation or if you are using the unstable | |
162 | distribution that some required packages have not yet been created | |
163 | or been moved out of Incoming. | |
164 | The following information may help to resolve the situation: | |
165 | ||
166 | The following packages have unmet dependencies: | |
167 | baz : Depends: bar but it is not installable | |
168 | E: Unable to correct problems, you have held broken packages.' aptget install baz:amd64 -s | |
169 | ||
170 | testsuccessequal "Reading package lists... | |
171 | Building dependency tree... | |
172 | Selected version '2' (experimental [amd64]) for 'baz' | |
173 | The following extra packages will be installed: | |
174 | foo | |
175 | The following NEW packages will be installed: | |
176 | baz foo | |
177 | 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. | |
178 | Inst foo (1 unstable [all]) | |
179 | Inst baz (2 experimental [amd64]) | |
180 | Conf foo (1 unstable [all]) | |
181 | Conf baz (2 experimental [amd64])" aptget install baz/experimental -s -q=0 | |
182 | ||
183 | testsuccessequal "Reading package lists... | |
184 | Building dependency tree... | |
185 | Selected version '2' (experimental [i386]) for 'baz:i386' | |
186 | The following extra packages will be installed: | |
187 | foo | |
188 | The following NEW packages will be installed: | |
189 | baz:i386 foo | |
190 | 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. | |
191 | Inst foo (1 unstable [all]) | |
192 | Inst baz:i386 (2 experimental [i386]) | |
193 | Conf foo (1 unstable [all]) | |
194 | Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s -q=0 | |
195 | ||
196 | testfailureequal 'Reading package lists... | |
197 | Building dependency tree... | |
198 | Some packages could not be installed. This may mean that you have | |
199 | requested an impossible situation or if you are using the unstable | |
200 | distribution that some required packages have not yet been created | |
201 | or been moved out of Incoming. | |
202 | The following information may help to resolve the situation: | |
203 | ||
204 | The following packages have unmet dependencies: | |
205 | baz-broken:i386 : Depends: bar but it is not installable | |
206 | E: Unable to correct problems, you have held broken packages.' aptget install baz-broken -s |