use 'best' hash for source authentication
[ntk/apt.git] / test / integration / test-architecture-specification-parsing
CommitLineData
01f520ce
DK
1#!/bin/sh
2set -e
3
4TESTDIR=$(readlink -f $(dirname $0))
5. $TESTDIR/framework
6setupenvironment
01f520ce 7
a7250ed0
DK
8# we need this construct here as it isn't really possible to fake native arch for dpkg-* tools
9NATIVE="$(command dpkg --print-architecture)"
10configarchitecture "${NATIVE}" 'armel'
11
12buildsimplenativepackage 'pkg-arch-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !${NATIVE}]
13Depends: foo [${NATIVE} !${NATIVE}]"
14buildsimplenativepackage 'pkg-arch-no-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!${NATIVE} ${NATIVE}]
15Depends: foo [!${NATIVE} ${NATIVE}]"
16buildsimplenativepackage 'pkg-arch-foo-unrelated-no' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!kfreebsd-any ${NATIVE}]
17Depends: foo [!kfreebsd-any ${NATIVE}]"
18buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !kfreebsd-any]
19Depends: foo [${NATIVE} !kfreebsd-any]"
20buildsimplenativepackage 'no-depends' 'armel' '1.0' 'stable' 'Build-Depends: foo [armeb], bar [arm]
21Depends: foo [armeb], bar [arm]'
01f520ce 22
a7250ed0 23buildsimplenativepackage 'foo' "$NATIVE" '1.0' 'stable'
01f520ce
DK
24
25insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign'
26
27setupaptarchive
28
a7250ed0 29testequal "Reading package lists...
01f520ce
DK
30Building dependency tree...
31The following extra packages will be installed:
32 foo
33The following NEW packages will be installed:
34 foo pkg-arch-foo
350 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
36Inst foo (1.0 stable [${NATIVE}])
37Inst pkg-arch-foo (1.0 stable [${NATIVE}])
38Conf foo (1.0 stable [${NATIVE}])
39Conf pkg-arch-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo -s
01f520ce 40
a7250ed0 41testequal "Reading package lists...
01f520ce
DK
42Building dependency tree...
43The following NEW packages will be installed:
44 pkg-arch-no-foo
450 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
46Inst pkg-arch-no-foo (1.0 stable [${NATIVE}])
47Conf pkg-arch-no-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-no-foo -s
01f520ce 48
a7250ed0 49testequal "Reading package lists...
01f520ce
DK
50Building dependency tree...
51The following extra packages will be installed:
52 foo
53The following NEW packages will be installed:
54 foo pkg-arch-foo-unrelated-no
550 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
56Inst foo (1.0 stable [${NATIVE}])
57Inst pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])
58Conf foo (1.0 stable [${NATIVE}])
59Conf pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no -s
01f520ce 60
a7250ed0 61testequal "Reading package lists...
01f520ce
DK
62Building dependency tree...
63The following extra packages will be installed:
64 foo
65The following NEW packages will be installed:
66 foo pkg-arch-foo-unrelated-no2
670 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
68Inst foo (1.0 stable [${NATIVE}])
69Inst pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])
70Conf foo (1.0 stable [${NATIVE}])
71Conf pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no2 -s
01f520ce 72
a7250ed0 73testequal "Reading package lists...
01f520ce
DK
74Building dependency tree...
75The following NEW packages will be installed:
76 foo
770 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
78Inst foo (1.0 stable [${NATIVE}])
79Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo -s
01f520ce
DK
80
81testequal 'Reading package lists...
82Building dependency tree...
830 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep pkg-arch-no-foo -s
84
a7250ed0 85testequal "Reading package lists...
01f520ce
DK
86Building dependency tree...
87The following NEW packages will be installed:
88 foo
890 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
90Inst foo (1.0 stable [${NATIVE}])
91Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no -s
01f520ce 92
a7250ed0 93testequal "Reading package lists...
01f520ce
DK
94Building dependency tree...
95The following NEW packages will be installed:
96 foo
970 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
a7250ed0
DK
98Inst foo (1.0 stable [${NATIVE}])
99Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no2 -s
01f520ce 100
5f20ac7f
DK
101testequal 'Reading package lists...
102Building dependency tree...
1030 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep no-depends -s
01f520ce 104
5f20ac7f 105# this is not really testing APT - more that dpkg is in line with us
a7250ed0 106configarchitecture 'amd64' 'armel'
5f20ac7f
DK
107testequal 'Reading package lists...
108Building dependency tree...
109The following NEW packages will be installed:
110 no-depends:armel
1110 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
112Inst no-depends:armel (1.0 stable [armel])
113Conf no-depends:armel (1.0 stable [armel])' aptget install no-depends -s