apt-key del: Ignore case when checking if a keyid exists in a keyring.
[ntk/apt.git] / test / integration / test-allow-scores-for-all-dependency-types
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'amd64'
8
9 insertpackage 'unversioned' 'libdb-dev' 'amd64' '5.3.0' 'Depends: libdb5.3-dev
10 Conflicts: libdb5.1-dev'
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)'
30
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)'
34
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
40 cp rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status-backup
41 setupaptarchive
42
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
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 ]
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
73
74 cp -f rootdir/var/lib/dpkg/status-backup rootdir/var/lib/dpkg/status
75 insertinstalledpackage 'foo' 'amd64' '1'
76 insertinstalledpackage 'bar' 'amd64' '1'
77 testequal 'Reading package lists...
78 Building dependency tree...
79 The following packages have been kept back:
80 bar foo
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
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