]> git.saurik.com Git - apt.git/blob - test/integration/test-ignore-provides-if-versioned-breaks
generalize secure->insecure downgrade protection
[apt.git] / test / integration / test-ignore-provides-if-versioned-breaks
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'i386' 'amd64'
8
9 insertpackage 'unstable' 'unrlated' 'all' '1.0'
10
11 insertinstalledpackage 'foo' 'i386' '2.0'
12 insertpackage 'unstable' 'foo' 'i386' '4.0'
13 insertpackage 'unstable' 'foo-provider' 'i386' '1.0' 'Provides: foo'
14 insertpackage 'unstable' 'foo-breaker-3' 'i386' '1.0' 'Breaks: foo (<< 3.0)'
15 insertpackage 'unstable' 'foo-breaker-2' 'i386' '1.0' 'Breaks: foo (<< 2.0)'
16 insertpackage 'unstable' 'foo-breaker-none' 'i386' '1.0' 'Breaks: foo'
17
18 insertinstalledpackage 'foo-foreign' 'amd64' '2.0' 'Multi-Arch: foreign'
19 insertpackage 'unstable' 'foo-foreign' 'amd64' '4.0' 'Multi-Arch: foreign'
20 insertpackage 'unstable' 'foo-foreign-provider' 'i386' '1.0' 'Provides: foo-foreign'
21 insertpackage 'unstable' 'foo-foreign-breaker-3' 'i386' '1.0' 'Breaks: foo-foreign (<< 3.0)'
22 insertpackage 'unstable' 'foo-foreign-breaker-2' 'i386' '1.0' 'Breaks: foo-foreign (<< 2.0)'
23 insertpackage 'unstable' 'foo-foreign-breaker-none' 'i386' '1.0' 'Breaks: foo-foreign'
24
25 insertinstalledpackage 'foo-same' 'i386,amd64' '2.0' 'Multi-Arch: same'
26 insertpackage 'unstable' 'foo-same' 'i386,amd64' '4.0' 'Multi-Arch: same'
27 insertpackage 'unstable' 'foo-same-provider' 'i386' '1.0' 'Provides: foo-same'
28 insertpackage 'unstable' 'foo-same-breaker-3' 'i386' '1.0' 'Breaks: foo-same (<< 3.0)'
29 insertpackage 'unstable' 'foo-same-breaker-2' 'i386' '1.0' 'Breaks: foo-same (<< 2.0)'
30 insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Breaks: foo-same'
31
32
33
34 setupaptarchive
35
36 testfailureequal 'Reading package lists...
37 Building dependency tree...
38 Some packages could not be installed. This may mean that you have
39 requested an impossible situation or if you are using the unstable
40 distribution that some required packages have not yet been created
41 or been moved out of Incoming.
42 The following information may help to resolve the situation:
43
44 The following packages have unmet dependencies:
45 foo-breaker-none : Breaks: foo
46 E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s
47
48 testsuccessequal 'Reading package lists...
49 Building dependency tree...
50 The following NEW packages will be installed:
51 foo-breaker-2 foo-provider
52 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.
53 Inst foo-breaker-2 (1.0 unstable [i386])
54 Inst foo-provider (1.0 unstable [i386])
55 Conf foo-breaker-2 (1.0 unstable [i386])
56 Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-2 -s
57
58 testsuccessequal 'Reading package lists...
59 Building dependency tree...
60 The following additional packages will be installed:
61 foo
62 The following NEW packages will be installed:
63 foo-breaker-3 foo-provider
64 The following packages will be upgraded:
65 foo
66 1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
67 Inst foo [2.0] (4.0 unstable [i386])
68 Inst foo-breaker-3 (1.0 unstable [i386])
69 Inst foo-provider (1.0 unstable [i386])
70 Conf foo (4.0 unstable [i386])
71 Conf foo-breaker-3 (1.0 unstable [i386])
72 Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s
73
74 testfailureequal 'Reading package lists...
75 Building dependency tree...
76 Some packages could not be installed. This may mean that you have
77 requested an impossible situation or if you are using the unstable
78 distribution that some required packages have not yet been created
79 or been moved out of Incoming.
80 The following information may help to resolve the situation:
81
82 The following packages have unmet dependencies:
83 foo-foreign-breaker-none : Breaks: foo-foreign
84 E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s
85
86 testsuccessequal 'Reading package lists...
87 Building dependency tree...
88 The following NEW packages will be installed:
89 foo-foreign-breaker-2 foo-foreign-provider
90 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.
91 Inst foo-foreign-breaker-2 (1.0 unstable [i386])
92 Inst foo-foreign-provider (1.0 unstable [i386])
93 Conf foo-foreign-breaker-2 (1.0 unstable [i386])
94 Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-2 -s
95
96 testsuccessequal 'Reading package lists...
97 Building dependency tree...
98 The following additional packages will be installed:
99 foo-foreign:amd64
100 The following NEW packages will be installed:
101 foo-foreign-breaker-3 foo-foreign-provider
102 The following packages will be upgraded:
103 foo-foreign:amd64
104 1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
105 Inst foo-foreign:amd64 [2.0] (4.0 unstable [amd64])
106 Inst foo-foreign-breaker-3 (1.0 unstable [i386])
107 Inst foo-foreign-provider (1.0 unstable [i386])
108 Conf foo-foreign:amd64 (4.0 unstable [amd64])
109 Conf foo-foreign-breaker-3 (1.0 unstable [i386])
110 Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s
111
112 testfailureequal 'Reading package lists...
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 foo-same-breaker-none : Breaks: foo-same
122 E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s
123
124 testsuccessequal 'Reading package lists...
125 Building dependency tree...
126 The following NEW packages will be installed:
127 foo-same-breaker-2 foo-same-provider
128 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.
129 Inst foo-same-breaker-2 (1.0 unstable [i386])
130 Inst foo-same-provider (1.0 unstable [i386])
131 Conf foo-same-breaker-2 (1.0 unstable [i386])
132 Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-2 -s
133
134 testsuccessequal 'Reading package lists...
135 Building dependency tree...
136 The following additional packages will be installed:
137 foo-same foo-same:amd64
138 The following NEW packages will be installed:
139 foo-same-breaker-3 foo-same-provider
140 The following packages will be upgraded:
141 foo-same foo-same:amd64
142 2 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
143 Inst foo-same [2.0] (4.0 unstable [i386]) [foo-same:i386 on foo-same:amd64] [foo-same:amd64 on foo-same:i386] [foo-same:amd64 ]
144 Inst foo-same:amd64 [2.0] (4.0 unstable [amd64])
145 Inst foo-same-breaker-3 (1.0 unstable [i386])
146 Inst foo-same-provider (1.0 unstable [i386])
147 Conf foo-same:amd64 (4.0 unstable [amd64])
148 Conf foo-same (4.0 unstable [i386])
149 Conf foo-same-breaker-3 (1.0 unstable [i386])
150 Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-3 -s