Browse Source
- check if dpkg supports multiarch with --assert-multi-arch and if it does be always explicit about the architecturedebian/1.8.y

3 changed files with 109 additions and 22 deletions
@ -0,0 +1,53 @@ |
|||
#!/bin/sh |
|||
set -e |
|||
|
|||
TESTDIR=$(readlink -f $(dirname $0)) |
|||
. $TESTDIR/framework |
|||
setupenvironment |
|||
configarchitecture 'amd64' 'i386' |
|||
|
|||
buildsimplenativepackage 'native-pkg' 'amd64' '1.0' 'stable' |
|||
buildsimplenativepackage 'foreign-pkg' 'i386' '0.5' 'stable' 'Multi-Arch: foreign' |
|||
buildsimplenativepackage 'same-lib' 'amd64,i386' '0.5' 'stable' 'Multi-Arch: same' |
|||
|
|||
setupaptarchive |
|||
|
|||
testqualifier() { |
|||
msgtest 'Test for correct qualifier mode' $2 |
|||
GIVEN="$(aptget install $1 -qq -o Debug::pkgDPkgPM=1 2>&1 | grep -- '--configure' | sed -e 's/^.*--configure \([^ ]*\).*$/\1/')" |
|||
test "$GIVEN" = "$2" && msgpass || msgfail |
|||
} |
|||
|
|||
# non-multiarch or "ubuntus" old multiarchified dpkg |
|||
echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper |
|||
echo '#! /bin/sh |
|||
if echo "$*" | grep -q -- "--assert-multi-arch"; then |
|||
return 2; |
|||
fi |
|||
return $*' > ./dpkg-wrapper |
|||
chmod +x ./dpkg-wrapper |
|||
|
|||
testqualifier 'native-pkg' 'native-pkg' |
|||
testqualifier 'native-pkg:amd64' 'native-pkg' |
|||
testqualifier 'foreign-pkg' 'foreign-pkg:i386' |
|||
testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386' |
|||
testqualifier 'same-lib' 'same-lib' |
|||
testqualifier 'same-lib:amd64' 'same-lib' |
|||
testqualifier 'same-lib:i386' 'same-lib:i386' |
|||
|
|||
# multiarch dpkg (new interface version) |
|||
|
|||
echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper |
|||
echo '#! /bin/sh |
|||
if echo "$*" | grep -q -- "--assert-multi-arch"; then |
|||
return 0; |
|||
fi |
|||
return $*' > ./dpkg-wrapper |
|||
|
|||
testqualifier 'native-pkg' 'native-pkg:amd64' |
|||
testqualifier 'native-pkg:amd64' 'native-pkg:amd64' |
|||
testqualifier 'foreign-pkg' 'foreign-pkg:i386' |
|||
testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386' |
|||
testqualifier 'same-lib' 'same-lib:amd64' |
|||
testqualifier 'same-lib:amd64' 'same-lib:amd64' |
|||
testqualifier 'same-lib:i386' 'same-lib:i386' |
Loading…
Reference in new issue