]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-686346-package-missing-architecture
adapt to the new CacheSetHelper API
[apt.git] / test / integration / test-bug-686346-package-missing-architecture
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'amd64'
8
9 insertinstalledpackage 'pkgb' 'none' '1'
10 insertinstalledpackage 'pkgd' 'none' '1'
11 insertpackage 'unstable' 'pkga' 'amd64' '2' 'Depends: pkgb'
12 insertpackage 'unstable' 'pkgb' 'amd64' '2'
13 insertpackage 'unstable' 'pkgc' 'amd64' '1' 'Conflicts: pkgb'
14 insertpackage 'unstable' 'pkge' 'none' '1'
15
16 setupaptarchive
17
18 testequal 'Reading package lists...
19 Building dependency tree...
20 The following packages will be REMOVED:
21 pkgb:none
22 The following NEW packages will be installed:
23 pkgc
24 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
25 Remv pkgb:none [1]
26 Inst pkgc (1 unstable [amd64])
27 Conf pkgc (1 unstable [amd64])' aptget install pkgc -s
28
29 testequal 'Reading package lists...
30 Building dependency tree...
31 The following extra packages will be installed:
32 pkgb
33 The following packages will be REMOVED:
34 pkgb:none
35 The following NEW packages will be installed:
36 pkga pkgb
37 0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
38 Remv pkgb:none [1]
39 Inst pkgb (2 unstable [amd64])
40 Inst pkga (2 unstable [amd64])
41 Conf pkgb (2 unstable [amd64])
42 Conf pkga (2 unstable [amd64])' aptget install pkga -s
43
44 # ensure that arch-less stanzas from Packages files are ignored
45 msgtest 'Package is distributed in the Packages files' 'pkge'
46 grep -q 'Package: pkge' $(find aptarchive -name 'Packages') && msgpass || msgfail
47 testnopackage pkge
48 testnopackage pkge:none
49 testnopackage pkge:*
50
51 # do not automatically change from none-arch to whatever-arch as
52 # this breaks other none packages and dpkg has this ruleset as
53 # this difference seems so important that it has to be maintained …
54 testequal 'Reading package lists...
55 Building dependency tree...
56 Calculating upgrade...
57 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade -s
58
59 # pkgd has no update with an architecture
60 testdpkginstalled pkgd
61 msgtest 'Test apt-get purge' 'pkgd'
62 testsuccess --nomsg aptget purge pkgd -y
63 testdpkgnotinstalled pkgd
64
65 # there is a pkgb with an architecture
66 testdpkginstalled pkgb
67 msgtest 'Test apt-get purge' 'pkgb:none'
68 testsuccess --nomsg aptget purge pkgb:none -y
69 testdpkgnotinstalled pkgb
70
71 # check that dependencies are created after the none package exists in the cache
72 rm rootdir/var/cache/apt/*.bin
73 insertinstalledpackage 'pkgb' 'none' '1'
74 insertinstalledpackage 'pkgf' 'none' '1' 'Conflicts: pkgb'
75 insertinstalledpackage 'pkgg' 'amd64' '1' 'Conflicts: pkgb'
76 insertinstalledpackage 'pkgb' 'amd64' '2'
77 testequalor2 "Reading package lists...
78 Building dependency tree...
79 Reading state information...
80 You might want to run 'apt-get -f install' to correct these.
81 The following packages have unmet dependencies:
82 pkgb : Conflicts: pkgb:none but 1 is installed
83 pkgb:none : Conflicts: pkgb but 2 is installed
84 pkgf:none : Conflicts: pkgb:none but 1 is installed
85 Conflicts: pkgb but 2 is installed
86 pkgg : Conflicts: pkgb but 2 is installed
87 Conflicts: pkgb:none but 1 is installed
88 E: Unmet dependencies. Try using -f." "Reading package lists...
89 Building dependency tree...
90 Reading state information...
91 You might want to run 'apt-get -f install' to correct these.
92 The following packages have unmet dependencies:
93 pkgb : Conflicts: pkgb:none but 1 is installed
94 pkgb:none : Conflicts: pkgb but 2 is installed
95 pkgf:none : Conflicts: pkgb but 2 is installed
96 Conflicts: pkgb:none but 1 is installed
97 pkgg : Conflicts: pkgb but 2 is installed
98 Conflicts: pkgb:none but 1 is installed
99 E: Unmet dependencies. Try using -f." aptget check
100
101 # check that dependencies are generated for none-packages
102 rm rootdir/var/lib/dpkg/status
103 insertinstalledpackage 'pkgx' 'none' '1'
104 insertinstalledpackage 'pkgy' 'none' '1' 'Depends: pkgz, pkgx (>= 1)'
105 insertinstalledpackage 'pkgz' 'none' '1'
106 testequal 'Reading package lists...
107 Building dependency tree...
108 Reading state information...
109 The following packages will be REMOVED:
110 pkgx:none* pkgy:none*
111 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
112 Purg pkgy:none [1]
113 Purg pkgx:none [1]' aptget purge pkgx -s
114 testequal 'Reading package lists...
115 Building dependency tree...
116 Reading state information...
117 The following packages will be REMOVED:
118 pkgy:none* pkgz:none*
119 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
120 Purg pkgy:none [1]
121 Purg pkgz:none [1]' aptget purge pkgz -s