prepare 1.0.4 upload
[ntk/apt.git] / test / integration / test-specific-architecture-dependencies
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'amd64' 'i386'
8
9 insertpackage 'unstable' 'libc6' 'amd64,i386' '1' 'Multi-Arch: same'
10 insertinstalledpackage 'libold' 'amd64,i386' '1' 'Multi-Arch: same'
11 insertinstalledpackage 'provider' 'amd64' '1' 'Provides: foo'
12
13 insertpackage 'unstable' 'pre-depender' 'all' '1' 'Pre-Depends: libc6:i386'
14 insertpackage 'unstable' 'depender' 'all' '1' 'Depends: libc6:i386'
15
16 insertpackage 'unstable' 'breaker' 'all' '1' 'Breaks: libold (<< 2)'
17 insertpackage 'unstable' 'breaker-x32' 'amd64' '1' 'Breaks: libold:i386 (<< 2)'
18 insertpackage 'unstable' 'breaker-x64' 'i386' '1' 'Breaks: libold:amd64 (<< 2)'
19 # conflicts with no effect
20 insertpackage 'unstable' 'oldconflictor' 'all' '1' 'Conflicts: libold (<< 0)'
21 insertpackage 'unstable' 'oldconflictor-x32' 'amd64' '1' 'Conflicts: libold:i386 (<< 0)'
22 insertpackage 'unstable' 'oldconflictor-x64' 'i386' '1' 'Conflicts: libold:amd64 (<< 0)'
23
24 insertpackage 'unstable' 'foo-depender' 'i386,amd64' '1' 'Depends: foo'
25 insertpackage 'unstable' 'foo-foreign-depender' 'i386' '1' 'Depends: foo:amd64'
26
27 insertpackage 'unstable' 'foo-conflictor' 'i386,amd64' '1' 'Conflicts: foo'
28 insertpackage 'unstable' 'foo-foreign-conflictor' 'i386' '1' 'Conflicts: foo:amd64'
29 insertpackage 'unstable' 'foo-no-conflictor' 'i386' '1' 'Conflicts: foo:i386'
30
31 setupaptarchive
32
33 testequal 'Reading package lists...
34 Building dependency tree...
35 The following extra packages will be installed:
36 libc6:i386
37 The following NEW packages will be installed:
38 libc6:i386 pre-depender
39 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
40 Inst libc6:i386 (1 unstable [i386])
41 Conf libc6:i386 (1 unstable [i386])
42 Inst pre-depender (1 unstable [all])
43 Conf pre-depender (1 unstable [all])' aptget install pre-depender -s
44
45 testequal 'Reading package lists...
46 Building dependency tree...
47 The following extra packages will be installed:
48 libc6:i386
49 The following NEW packages will be installed:
50 depender libc6:i386
51 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
52 Inst libc6:i386 (1 unstable [i386])
53 Inst depender (1 unstable [all])
54 Conf libc6:i386 (1 unstable [i386])
55 Conf depender (1 unstable [all])' aptget install depender -s
56
57 testequal 'Reading package lists...
58 Building dependency tree...
59 The following packages will be REMOVED:
60 libold libold:i386
61 The following NEW packages will be installed:
62 breaker
63 0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
64 Remv libold [1]
65 Remv libold:i386 [1]
66 Inst breaker (1 unstable [all])
67 Conf breaker (1 unstable [all])' aptget install breaker -s
68
69 testequal 'Reading package lists...
70 Building dependency tree...
71 The following packages will be REMOVED:
72 libold:i386
73 The following NEW packages will be installed:
74 breaker-x32
75 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
76 Remv libold:i386 [1]
77 Inst breaker-x32 (1 unstable [amd64])
78 Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32 -s
79
80 testequal 'Reading package lists...
81 Building dependency tree...
82 The following packages will be REMOVED:
83 libold
84 The following NEW packages will be installed:
85 breaker-x64:i386
86 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
87 Remv libold [1]
88 Inst breaker-x64:i386 (1 unstable [i386])
89 Conf breaker-x64:i386 (1 unstable [i386])' aptget install breaker-x64 -s
90
91 testequal 'Reading package lists...
92 Building dependency tree...
93 The following NEW packages will be installed:
94 oldconflictor
95 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
96 Inst oldconflictor (1 unstable [all])
97 Conf oldconflictor (1 unstable [all])' aptget install oldconflictor -s
98
99 testequal 'Reading package lists...
100 Building dependency tree...
101 The following NEW packages will be installed:
102 oldconflictor-x32
103 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
104 Inst oldconflictor-x32 (1 unstable [amd64])
105 Conf oldconflictor-x32 (1 unstable [amd64])' aptget install oldconflictor-x32 -s
106
107 testequal 'Reading package lists...
108 Building dependency tree...
109 The following NEW packages will be installed:
110 oldconflictor-x64:i386
111 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
112 Inst oldconflictor-x64:i386 (1 unstable [i386])
113 Conf oldconflictor-x64:i386 (1 unstable [i386])' aptget install oldconflictor-x64 -s
114
115 testequal 'Reading package lists...
116 Building dependency tree...
117 The following NEW packages will be installed:
118 foo-depender
119 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
120 Inst foo-depender (1 unstable [amd64])
121 Conf foo-depender (1 unstable [amd64])' aptget install foo-depender -s
122
123 testequal 'Reading package lists...
124 Building dependency tree...
125 Some packages could not be installed. This may mean that you have
126 requested an impossible situation or if you are using the unstable
127 distribution that some required packages have not yet been created
128 or been moved out of Incoming.
129 The following information may help to resolve the situation:
130
131 The following packages have unmet dependencies:
132 foo-depender:i386 : Depends: foo:i386 but it is not installable
133 E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s
134
135 testequal 'Reading package lists...
136 Building dependency tree...
137 The following NEW packages will be installed:
138 foo-foreign-depender:i386
139 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
140 Inst foo-foreign-depender:i386 (1 unstable [i386])
141 Conf foo-foreign-depender:i386 (1 unstable [i386])' aptget install foo-foreign-depender:i386 -s
142
143 testequal 'Reading package lists...
144 Building dependency tree...
145 The following packages will be REMOVED:
146 provider
147 The following NEW packages will be installed:
148 foo-conflictor
149 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
150 Remv provider [1]
151 Inst foo-conflictor (1 unstable [amd64])
152 Conf foo-conflictor (1 unstable [amd64])' aptget install foo-conflictor -s
153
154 testequal 'Reading package lists...
155 Building dependency tree...
156 The following packages will be REMOVED:
157 provider
158 The following NEW packages will be installed:
159 foo-conflictor:i386
160 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
161 Remv provider [1]
162 Inst foo-conflictor:i386 (1 unstable [i386])
163 Conf foo-conflictor:i386 (1 unstable [i386])' aptget install foo-conflictor:i386 -s
164
165 testequal 'Reading package lists...
166 Building dependency tree...
167 The following packages will be REMOVED:
168 provider
169 The following NEW packages will be installed:
170 foo-foreign-conflictor:i386
171 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
172 Remv provider [1]
173 Inst foo-foreign-conflictor:i386 (1 unstable [i386])
174 Conf foo-foreign-conflictor:i386 (1 unstable [i386])' aptget install foo-foreign-conflictor:i386 -s
175
176 testequal 'Reading package lists...
177 Building dependency tree...
178 The following NEW packages will be installed:
179 foo-no-conflictor:i386
180 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
181 Inst foo-no-conflictor:i386 (1 unstable [i386])
182 Conf foo-no-conflictor:i386 (1 unstable [i386])' aptget install foo-no-conflictor:i386 -s