]>
Commit | Line | Data |
---|---|---|
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 | ||
27 | setupaptarchive | |
28 | ||
29 | testequal 'Reading package lists... | |
30 | Building dependency tree... | |
31 | Calculating upgrade... | |
32 | The following packages will be upgraded: | |
33 | webapp webserver | |
34 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
35 | Inst webserver [1] (2 unstable [amd64]) | |
36 | Inst webapp [1] (2 unstable [all]) | |
37 | Conf webserver (2 unstable [amd64]) | |
38 | Conf webapp (2 unstable [all])' aptget dist-upgrade -s | |
39 | ||
40 | testequal 'Reading package lists... | |
41 | Building dependency tree... | |
42 | The following packages will be upgraded: | |
43 | webapp webserver | |
44 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
45 | Inst webserver [1] (2 unstable [amd64]) | |
46 | Inst webapp [1] (2 unstable [all]) | |
47 | Conf webserver (2 unstable [amd64]) | |
48 | Conf webapp (2 unstable [all])' aptget install webapp webserver -s | |
49 | ||
50 | testequal 'Reading package lists... | |
51 | Building dependency tree... | |
52 | The following packages will be upgraded: | |
53 | webapp webserver | |
54 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
55 | Inst webserver [1] (2 unstable [amd64]) | |
56 | Inst webapp [1] (3 experimental [all]) | |
57 | Conf webserver (2 unstable [amd64]) | |
58 | Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s | |
59 | ||
60 | testequal 'Reading package lists... | |
61 | Building dependency tree... | |
62 | The following packages will be upgraded: | |
63 | webapp webserver | |
64 | 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | |
65 | Inst webserver [1] (3 experimental [amd64]) | |
66 | Inst webapp [1] (2 unstable [all]) | |
67 | Conf webserver (3 experimental [amd64]) | |
68 | Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s | |
69 | ||
70 | testequal 'Reading package lists... | |
71 | Building dependency tree... | |
72 | The following NEW packages will be installed: | |
73 | foreign-webserver:i386 | |
74 | The following packages will be upgraded: | |
75 | webapp | |
76 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
77 | Inst foreign-webserver:i386 (2 unstable [i386]) | |
78 | Inst webapp [1] (2 unstable [all]) | |
79 | Conf foreign-webserver:i386 (2 unstable [i386]) | |
80 | Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s | |
81 | ||
82 | testequal 'Reading package lists... | |
83 | Building dependency tree... | |
84 | The following NEW packages will be installed: | |
85 | foreign-webserver:i386 | |
86 | The following packages will be upgraded: | |
87 | webapp | |
88 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
89 | Inst foreign-webserver:i386 (2 unstable [i386]) | |
90 | Inst webapp [1] (3 experimental [all]) | |
91 | Conf foreign-webserver:i386 (2 unstable [i386]) | |
92 | Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s | |
93 | ||
94 | testequal 'Reading package lists... | |
95 | Building dependency tree... | |
96 | The following NEW packages will be installed: | |
97 | foreign-webserver:i386 | |
98 | The following packages will be upgraded: | |
99 | webapp | |
100 | 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
101 | Inst foreign-webserver:i386 (4 experimental [i386]) | |
102 | Inst webapp [1] (2 unstable [all]) | |
103 | Conf foreign-webserver:i386 (4 experimental [i386]) | |
104 | Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s | |
105 | ||
106 | testequal 'Reading package lists... | |
107 | Building dependency tree... | |
108 | Some packages could not be installed. This may mean that you have | |
109 | requested an impossible situation or if you are using the unstable | |
110 | distribution that some required packages have not yet been created | |
111 | or been moved out of Incoming. | |
112 | The following information may help to resolve the situation: | |
113 | ||
114 | The following packages have unmet dependencies: | |
115 | cool-webapp : Depends: httpd (>= 4) | |
116 | E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s | |
117 | ||
118 | testequal 'Reading package lists... | |
119 | Building dependency tree... | |
120 | Some packages could not be installed. This may mean that you have | |
121 | requested an impossible situation or if you are using the unstable | |
122 | distribution that some required packages have not yet been created | |
123 | or been moved out of Incoming. | |
124 | The following information may help to resolve the situation: | |
125 | ||
126 | The following packages have unmet dependencies: | |
127 | cool-webapp : Depends: httpd (>= 4) | |
128 | E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s | |
129 | ||
130 | testequal 'Reading package lists... | |
131 | Building dependency tree... | |
132 | The following NEW packages will be installed: | |
133 | cool-webapp foreign-webserver:i386 | |
134 | 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. | |
135 | Inst foreign-webserver:i386 (4 experimental [i386]) | |
136 | Inst cool-webapp (4 experimental [all]) | |
137 | Conf foreign-webserver:i386 (4 experimental [i386]) | |
138 | Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s |