]>
Commit | Line | Data |
---|---|---|
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 |