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