Commit | Line | Data |
---|---|---|
8daf68e3 DK |
1 | #!/bin/sh |
2 | set -e | |
3 | ||
4 | TESTDIR=$(readlink -f $(dirname $0)) | |
5 | . $TESTDIR/framework | |
6 | setupenvironment | |
7 | configarchitecture 'amd64' | |
8 | ||
9ec748ff | 9 | insertpackage 'unversioned' 'libdb-dev' 'amd64' '5.3.0' 'Depends: libdb5.3-dev |
8daf68e3 | 10 | Conflicts: libdb5.1-dev' |
9ec748ff DK |
11 | insertpackage 'unversioned' 'libdb5.1-dev' 'amd64' '5.1.29-7' |
12 | insertpackage 'unversioned' 'libdb5.3-dev' 'amd64' '5.3.28-3' 'Conflicts: libdb5.1-dev' | |
13 | ||
14 | insertpackage 'unversioned' 'foo' 'amd64' '1' | |
15 | insertpackage 'unversioned' 'bar' 'amd64' '1' | |
16 | insertpackage 'unversioned' 'foo' 'amd64' '2' 'Conflicts: bar' | |
17 | insertpackage 'unversioned' 'bar' 'amd64' '2' 'Conflicts: foo' | |
18 | insertpackage 'unversioned' 'baz' 'amd64' '2' 'Depends: bar | foo' | |
19 | ||
20 | insertpackage 'versioned' 'libdb-dev' 'amd64' '5.3.0' 'Depends: libdb5.3-dev | |
21 | Conflicts: libdb5.1-dev (<< 5.2)' | |
22 | insertpackage 'versioned' 'libdb5.3-dev' 'amd64' '5.3.28-3' 'Conflicts: libdb5.1-dev (<< 5.2)' | |
23 | ||
24 | insertpackage 'versioned' 'foo' 'amd64' '2' 'Conflicts: bar (<= 2)' | |
25 | insertpackage 'versioned' 'bar' 'amd64' '2' 'Conflicts: foo (<= 2)' | |
26 | insertpackage 'versioned' 'baz' 'amd64' '2' 'Depends: bar (>= 2) | foo (>= 2)' | |
27 | ||
28 | insertpackage 'multipleno' 'foo' 'amd64' '2.1' 'Conflicts: bar (<= 3)' | |
29 | insertpackage 'multipleno' 'bar' 'amd64' '2.1' 'Conflicts: foo (<= 3), foo (<= 1)' | |
8daf68e3 | 30 | |
9ec748ff DK |
31 | insertpackage 'multipleyes' 'foo' 'amd64' '2.2' 'Conflicts: bar (<= 3)' |
32 | # having foo multiple times as conflict is a non-advisable hack in general | |
33 | insertpackage 'multipleyes' 'bar' 'amd64' '2.2' 'Conflicts: foo (<= 3), foo (<= 3)' | |
8daf68e3 | 34 | |
77b6f202 DK |
35 | #774924 - slightly simplified |
36 | insertpackage 'jessie' 'login' 'amd64' '2' 'Pre-Depends: libaudit1 (>= 0)' | |
37 | insertpackage 'jessie' 'libaudit1' 'amd64' '2' 'Depends: libaudit-common (>= 0)' | |
38 | insertpackage 'jessie' 'libaudit-common' 'amd64' '2' 'Breaks: libaudit0, libaudit1 (<< 2)' | |
39 | ||
9ec748ff | 40 | cp rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status-backup |
8daf68e3 DK |
41 | setupaptarchive |
42 | ||
9ec748ff DK |
43 | insertinstalledpackage 'libdb-dev' 'amd64' '5.1.7' 'Depends: libdb5.1-dev' |
44 | insertinstalledpackage 'libdb5.1-dev' 'amd64' '5.1.29-7' | |
45 | testequal 'Reading package lists... | |
46 | Building dependency tree... | |
47 | The following packages will be REMOVED: | |
48 | libdb5.1-dev | |
49 | The following NEW packages will be installed: | |
50 | libdb5.3-dev | |
51 | The following packages will be upgraded: | |
52 | libdb-dev | |
53 | 1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. | |
54 | Remv libdb5.1-dev [5.1.29-7] [libdb-dev:amd64 ] | |
55 | Inst libdb-dev [5.1.7] (5.3.0 unversioned [amd64]) [] | |
56 | Inst libdb5.3-dev (5.3.28-3 unversioned [amd64]) | |
57 | Conf libdb5.3-dev (5.3.28-3 unversioned [amd64]) | |
58 | Conf libdb-dev (5.3.0 unversioned [amd64])' aptget dist-upgrade -st unversioned | |
8daf68e3 DK |
59 | testequal 'Reading package lists... |
60 | Building dependency tree... | |
61 | The following packages will be REMOVED: | |
62 | libdb5.1-dev | |
63 | The following NEW packages will be installed: | |
64 | libdb5.3-dev | |
65 | The following packages will be upgraded: | |
66 | libdb-dev | |
67 | 1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. | |
68 | Remv libdb5.1-dev [5.1.29-7] [libdb-dev:amd64 ] | |
9ec748ff DK |
69 | Inst libdb-dev [5.1.7] (5.3.0 versioned [amd64]) [] |
70 | Inst libdb5.3-dev (5.3.28-3 versioned [amd64]) | |
71 | Conf libdb5.3-dev (5.3.28-3 versioned [amd64]) | |
72 | Conf libdb-dev (5.3.0 versioned [amd64])' aptget dist-upgrade -st versioned | |
8daf68e3 | 73 | |
9ec748ff | 74 | cp -f rootdir/var/lib/dpkg/status-backup rootdir/var/lib/dpkg/status |
8daf68e3 DK |
75 | insertinstalledpackage 'foo' 'amd64' '1' |
76 | insertinstalledpackage 'bar' 'amd64' '1' | |
8daf68e3 DK |
77 | testequal 'Reading package lists... |
78 | Building dependency tree... | |
79 | The following packages have been kept back: | |
80 | bar foo | |
9ec748ff DK |
81 | 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st unversioned |
82 | testequal 'Reading package lists... | |
83 | Building dependency tree... | |
84 | The following packages have been kept back: | |
85 | bar foo | |
86 | 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st versioned | |
87 | testequal 'Reading package lists... | |
88 | Building dependency tree... | |
89 | The following packages have been kept back: | |
90 | bar foo | |
91 | 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st multipleno | |
92 | testequal 'Reading package lists... | |
93 | Building dependency tree... | |
94 | The following packages will be REMOVED: | |
95 | foo | |
96 | The following packages will be upgraded: | |
97 | bar | |
98 | 1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. | |
99 | Remv foo [1] | |
100 | Inst bar [1] (2.2 multipleyes [amd64]) | |
101 | Conf bar (2.2 multipleyes [amd64])' aptget dist-upgrade -st multipleyes | |
102 | ||
103 | testequal 'Reading package lists... | |
104 | Building dependency tree... | |
105 | The following NEW packages will be installed: | |
106 | baz | |
107 | 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. | |
108 | Inst baz (2 unversioned [amd64]) | |
109 | Conf baz (2 unversioned [amd64])' aptget install baz -st unversioned | |
110 | testequal 'Reading package lists... | |
111 | Building dependency tree... | |
112 | The following extra packages will be installed: | |
113 | foo | |
114 | The following packages will be REMOVED: | |
115 | bar | |
116 | The following NEW packages will be installed: | |
117 | baz | |
118 | The following packages will be upgraded: | |
119 | foo | |
120 | 1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. | |
121 | Remv bar [1] | |
122 | Inst foo [1] (2 versioned [amd64]) | |
123 | Inst baz (2 versioned [amd64]) | |
124 | Conf foo (2 versioned [amd64]) | |
125 | Conf baz (2 versioned [amd64])' aptget install baz -st versioned | |
126 | ||
127 | testequal 'Reading package lists... | |
128 | Building dependency tree... | |
129 | The following NEW packages will be installed: | |
130 | baz | |
131 | 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. | |
132 | Inst baz (2 unversioned [amd64]) | |
133 | Conf baz (2 unversioned [amd64])' aptget install baz -st unversioned | |
134 | testequal 'Reading package lists... | |
135 | Building dependency tree... | |
136 | The following extra packages will be installed: | |
137 | foo | |
138 | The following packages will be REMOVED: | |
139 | bar | |
140 | The following NEW packages will be installed: | |
141 | baz | |
142 | The following packages will be upgraded: | |
143 | foo | |
144 | 1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. | |
145 | Remv bar [1] | |
146 | Inst foo [1] (2 versioned [amd64]) | |
147 | Inst baz (2 versioned [amd64]) | |
148 | Conf foo (2 versioned [amd64]) | |
149 | Conf baz (2 versioned [amd64])' aptget install baz -st versioned | |
77b6f202 DK |
150 | |
151 | # recreating the exact situation is hard, so we pull tricks to get the score | |
152 | cp -f rootdir/var/lib/dpkg/status-backup rootdir/var/lib/dpkg/status | |
153 | insertinstalledpackage 'gdm3' 'amd64' '1' 'Depends: libaudit0, libaudit0' | |
154 | insertinstalledpackage 'login' 'amd64' '1' 'Essential: yes' | |
155 | insertinstalledpackage 'libaudit0' 'amd64' '1' | |
156 | testequal 'Reading package lists... | |
157 | Building dependency tree... | |
158 | The following packages will be REMOVED: | |
159 | gdm3 libaudit0 | |
160 | The following NEW packages will be installed: | |
161 | libaudit-common libaudit1 | |
162 | The following packages will be upgraded: | |
163 | login | |
164 | 1 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. | |
165 | Remv gdm3 [1] | |
166 | Remv libaudit0 [1] | |
167 | Inst libaudit-common (2 jessie [amd64]) | |
168 | Conf libaudit-common (2 jessie [amd64]) | |
169 | Inst libaudit1 (2 jessie [amd64]) | |
170 | Conf libaudit1 (2 jessie [amd64]) | |
171 | Inst login [1] (2 jessie [amd64]) | |
172 | Conf login (2 jessie [amd64])' aptget dist-upgrade -st jessie |