]> git.saurik.com Git - apt.git/blame - test/integration/test-dpkg-assert-multi-arch
* apt-pkg/deb/dpkgpm.cc:
[apt.git] / test / integration / test-dpkg-assert-multi-arch
CommitLineData
86fc2ca8
DK
1#!/bin/sh
2set -e
3
4TESTDIR=$(readlink -f $(dirname $0))
5. $TESTDIR/framework
6setupenvironment
7configarchitecture 'amd64' 'i386'
8
9buildsimplenativepackage 'native-pkg' 'amd64' '1.0' 'stable'
10buildsimplenativepackage 'foreign-pkg' 'i386' '0.5' 'stable' 'Multi-Arch: foreign'
11buildsimplenativepackage 'same-lib' 'amd64,i386' '0.5' 'stable' 'Multi-Arch: same'
12
13setupaptarchive
14
15testqualifier() {
16 msgtest 'Test for correct qualifier mode' $2
67b5d3dc
DK
17 GIVEN="$(aptget install $1 -qq -o Debug::pkgDPkgPM=1 2>&1 | grep -e '--configure' -e '^dpkg:' | sed -e 's/^.*--configure \([^ ]*\).*$/\1/')"
18 if [ "$GIVEN" = "$2" ]; then
19 msgpass
20 else
21 echo
22 echo "$GIVEN"
23 msgfail
24 fi
86fc2ca8
DK
25}
26
27# non-multiarch or "ubuntus" old multiarchified dpkg
28echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper
29echo '#! /bin/sh
30if echo "$*" | grep -q -- "--assert-multi-arch"; then
67b5d3dc
DK
31 echo >&2 'dpkg: Fehler: unbekannte Option --assert-multi-arch'
32 echo >&1 'dpkg: Info: unbekannte Option --assert-multi-arch'
86fc2ca8
DK
33 return 2;
34fi
35return $*' > ./dpkg-wrapper
36chmod +x ./dpkg-wrapper
37
38testqualifier 'native-pkg' 'native-pkg'
39testqualifier 'native-pkg:amd64' 'native-pkg'
40testqualifier 'foreign-pkg' 'foreign-pkg:i386'
41testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386'
42testqualifier 'same-lib' 'same-lib'
43testqualifier 'same-lib:amd64' 'same-lib'
44testqualifier 'same-lib:i386' 'same-lib:i386'
45
46# multiarch dpkg (new interface version)
47
48echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper
49echo '#! /bin/sh
50if echo "$*" | grep -q -- "--assert-multi-arch"; then
51 return 0;
52fi
53return $*' > ./dpkg-wrapper
54
55testqualifier 'native-pkg' 'native-pkg:amd64'
56testqualifier 'native-pkg:amd64' 'native-pkg:amd64'
57testqualifier 'foreign-pkg' 'foreign-pkg:i386'
58testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386'
59testqualifier 'same-lib' 'same-lib:amd64'
60testqualifier 'same-lib:amd64' 'same-lib:amd64'
61testqualifier 'same-lib:i386' 'same-lib:i386'