test-dpkg-assert-multi-arch 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'amd64' 'i386'
  7. buildsimplenativepackage 'native-pkg' 'amd64' '1.0' 'stable'
  8. buildsimplenativepackage 'foreign-pkg' 'i386' '0.5' 'stable' 'Multi-Arch: foreign'
  9. buildsimplenativepackage 'same-lib' 'amd64,i386' '0.5' 'stable' 'Multi-Arch: same'
  10. setupaptarchive
  11. testqualifier() {
  12. msgtest 'Test for correct qualifier mode' $2
  13. GIVEN="$(aptget install $1 -qq -o Debug::pkgDPkgPM=1 2>&1 | grep -- '--configure' | sed -e 's/^.*--configure \([^ ]*\).*$/\1/')"
  14. test "$GIVEN" = "$2" && msgpass || msgfail
  15. }
  16. # non-multiarch or "ubuntus" old multiarchified dpkg
  17. echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper
  18. echo '#! /bin/sh
  19. if echo "$*" | grep -q -- "--assert-multi-arch"; then
  20. return 2;
  21. fi
  22. return $*' > ./dpkg-wrapper
  23. chmod +x ./dpkg-wrapper
  24. testqualifier 'native-pkg' 'native-pkg'
  25. testqualifier 'native-pkg:amd64' 'native-pkg'
  26. testqualifier 'foreign-pkg' 'foreign-pkg:i386'
  27. testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386'
  28. testqualifier 'same-lib' 'same-lib'
  29. testqualifier 'same-lib:amd64' 'same-lib'
  30. testqualifier 'same-lib:i386' 'same-lib:i386'
  31. # multiarch dpkg (new interface version)
  32. echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper
  33. echo '#! /bin/sh
  34. if echo "$*" | grep -q -- "--assert-multi-arch"; then
  35. return 0;
  36. fi
  37. return $*' > ./dpkg-wrapper
  38. testqualifier 'native-pkg' 'native-pkg:amd64'
  39. testqualifier 'native-pkg:amd64' 'native-pkg:amd64'
  40. testqualifier 'foreign-pkg' 'foreign-pkg:i386'
  41. testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386'
  42. testqualifier 'same-lib' 'same-lib:amd64'
  43. testqualifier 'same-lib:amd64' 'same-lib:amd64'
  44. testqualifier 'same-lib:i386' 'same-lib:i386'