]> git.saurik.com Git - apt.git/blob - test/integration/test-architecture-specification-parsing
pass --force-remove-essential to dpkg only if needed
[apt.git] / test / integration / test-architecture-specification-parsing
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7
8 # we need this construct here as it isn't really possible to fake native arch for dpkg-* tools
9 NATIVE="$(command dpkg --print-architecture)"
10 configarchitecture "${NATIVE}" 'armel'
11
12 buildsimplenativepackage 'pkg-arch-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !${NATIVE}]
13 Depends: foo [${NATIVE} !${NATIVE}]"
14 buildsimplenativepackage 'pkg-arch-no-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!${NATIVE} ${NATIVE}]
15 Depends: foo [!${NATIVE} ${NATIVE}]"
16 buildsimplenativepackage 'pkg-arch-foo-unrelated-no' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!someos-any ${NATIVE}]
17 Depends: foo [!someos-any ${NATIVE}]"
18 buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !someos-any]
19 Depends: foo [${NATIVE} !someos-any]"
20 buildsimplenativepackage 'no-depends' 'armel' '1.0' 'stable' 'Build-Depends: foo [armeb], bar [arm]
21 Depends: foo [armeb], bar [arm]'
22
23 buildsimplenativepackage 'foo' "$NATIVE" '1.0' 'stable'
24
25 insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign'
26
27 setupaptarchive
28
29 testsuccessequal "Reading package lists...
30 Building dependency tree...
31 The following additional packages will be installed:
32 foo
33 The following NEW packages will be installed:
34 foo pkg-arch-foo
35 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
36 Inst foo (1.0 stable [${NATIVE}])
37 Inst pkg-arch-foo (1.0 stable [${NATIVE}])
38 Conf foo (1.0 stable [${NATIVE}])
39 Conf pkg-arch-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo -s
40
41 testsuccessequal "Reading package lists...
42 Building dependency tree...
43 The following NEW packages will be installed:
44 pkg-arch-no-foo
45 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
46 Inst pkg-arch-no-foo (1.0 stable [${NATIVE}])
47 Conf pkg-arch-no-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-no-foo -s
48
49 testsuccessequal "Reading package lists...
50 Building dependency tree...
51 The following additional packages will be installed:
52 foo
53 The following NEW packages will be installed:
54 foo pkg-arch-foo-unrelated-no
55 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
56 Inst foo (1.0 stable [${NATIVE}])
57 Inst pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])
58 Conf foo (1.0 stable [${NATIVE}])
59 Conf pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no -s
60
61 testsuccessequal "Reading package lists...
62 Building dependency tree...
63 The following additional packages will be installed:
64 foo
65 The following NEW packages will be installed:
66 foo pkg-arch-foo-unrelated-no2
67 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
68 Inst foo (1.0 stable [${NATIVE}])
69 Inst pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])
70 Conf foo (1.0 stable [${NATIVE}])
71 Conf pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no2 -s
72
73 testsuccessequal "Reading package lists...
74 Reading package lists...
75 Building dependency tree...
76 The following NEW packages will be installed:
77 foo
78 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
79 Inst foo (1.0 stable [${NATIVE}])
80 Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo -s
81
82 testsuccessequal 'Reading package lists...
83 pkg-arch-no-foo has no build depends.
84 Reading package lists...
85 Building dependency tree...
86 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep pkg-arch-no-foo -s
87
88 testsuccessequal "Reading package lists...
89 Reading package lists...
90 Building dependency tree...
91 The following NEW packages will be installed:
92 foo
93 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
94 Inst foo (1.0 stable [${NATIVE}])
95 Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no -s
96
97 testsuccessequal "Reading package lists...
98 Reading package lists...
99 Building dependency tree...
100 The following NEW packages will be installed:
101 foo
102 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
103 Inst foo (1.0 stable [${NATIVE}])
104 Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no2 -s
105
106 testsuccessequal 'Reading package lists...
107 no-depends has no build depends.
108 Reading package lists...
109 Building dependency tree...
110 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep no-depends -s
111
112 # this is not really testing APT - more that dpkg is in line with us
113 configarchitecture 'amd64' 'armel'
114 testsuccessequal 'Reading package lists...
115 Building dependency tree...
116 The following NEW packages will be installed:
117 no-depends:armel
118 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
119 Inst no-depends:armel (1.0 stable [armel])
120 Conf no-depends:armel (1.0 stable [armel])' aptget install no-depends -s