X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/60cb4b09173ef64528dfbe92f016240c6fec3605..8d1cb6da6e21302c654da3f09de3975af7e4a11f:/test/integration/test-architecture-specification-parsing diff --git a/test/integration/test-architecture-specification-parsing b/test/integration/test-architecture-specification-parsing index 8f365dd55..23199384e 100755 --- a/test/integration/test-architecture-specification-parsing +++ b/test/integration/test-architecture-specification-parsing @@ -1,96 +1,120 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment -configarchitecture 'amd64' -buildsimplenativepackage 'pkg-arch-foo' 'amd64' '1.0' 'stable' 'Build-Depends: foo [amd64 !amd64] -Depends: foo [amd64 !amd64]' -buildsimplenativepackage 'pkg-arch-no-foo' 'amd64' '1.0' 'stable' 'Build-Depends: foo [!amd64 amd64] -Depends: foo [!amd64 amd64]' -buildsimplenativepackage 'pkg-arch-foo-unrelated-no' 'amd64' '1.0' 'stable' 'Build-Depends: foo [!kfreebsd-any amd64] -Depends: foo [!kfreebsd-any amd64]' -buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' 'amd64' '1.0' 'stable' 'Build-Depends: foo [amd64 !kfreebsd-any] -Depends: foo [amd64 !kfreebsd-any]' +# we need this construct here as it isn't really possible to fake native arch for dpkg-* tools +NATIVE="$(command dpkg --print-architecture)" +configarchitecture "${NATIVE}" 'armel' -buildsimplenativepackage 'foo' 'amd64' '1.0' 'stable' +buildsimplenativepackage 'pkg-arch-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !${NATIVE}] +Depends: foo [${NATIVE} !${NATIVE}]" +buildsimplenativepackage 'pkg-arch-no-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!${NATIVE} ${NATIVE}] +Depends: foo [!${NATIVE} ${NATIVE}]" +buildsimplenativepackage 'pkg-arch-foo-unrelated-no' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!someos-any ${NATIVE}] +Depends: foo [!someos-any ${NATIVE}]" +buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !someos-any] +Depends: foo [${NATIVE} !someos-any]" +buildsimplenativepackage 'no-depends' 'armel' '1.0' 'stable' 'Build-Depends: foo [armeb], bar [arm] +Depends: foo [armeb], bar [arm]' + +buildsimplenativepackage 'foo' "$NATIVE" '1.0' 'stable' insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' setupaptarchive -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... -The following extra packages will be installed: +The following additional packages will be installed: foo The following NEW packages will be installed: foo pkg-arch-foo 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Inst pkg-arch-foo (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64]) -Conf pkg-arch-foo (1.0 stable [amd64])' aptget install pkg-arch-foo -s +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... The following NEW packages will be installed: pkg-arch-no-foo 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst pkg-arch-no-foo (1.0 stable [amd64]) -Conf pkg-arch-no-foo (1.0 stable [amd64])' aptget install pkg-arch-no-foo -s +Inst pkg-arch-no-foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-no-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-no-foo -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... -The following extra packages will be installed: +The following additional packages will be installed: foo The following NEW packages will be installed: foo pkg-arch-foo-unrelated-no 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Inst pkg-arch-foo-unrelated-no (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64]) -Conf pkg-arch-foo-unrelated-no (1.0 stable [amd64])' aptget install pkg-arch-foo-unrelated-no -s +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... -The following extra packages will be installed: +The following additional packages will be installed: foo The following NEW packages will be installed: foo pkg-arch-foo-unrelated-no2 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Inst pkg-arch-foo-unrelated-no2 (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64]) -Conf pkg-arch-foo-unrelated-no2 (1.0 stable [amd64])' aptget install pkg-arch-foo-unrelated-no2 -s +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no2 -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... +Reading package lists... Building dependency tree... The following NEW packages will be installed: foo 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64])' aptget build-dep pkg-arch-foo -s +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo -s -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... +pkg-arch-no-foo has no build depends. +Reading package lists... Building dependency tree... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep pkg-arch-no-foo -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... +Reading package lists... Building dependency tree... The following NEW packages will be installed: foo 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64])' aptget build-dep pkg-arch-foo-unrelated-no -s +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... +Reading package lists... Building dependency tree... The following NEW packages will be installed: foo 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst foo (1.0 stable [amd64]) -Conf foo (1.0 stable [amd64])' aptget build-dep pkg-arch-foo-unrelated-no2 -s +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no2 -s +testsuccessequal 'Reading package lists... +no-depends has no build depends. +Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep no-depends -s +# this is not really testing APT - more that dpkg is in line with us +configarchitecture 'amd64' 'armel' +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + no-depends:armel +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst no-depends:armel (1.0 stable [armel]) +Conf no-depends:armel (1.0 stable [armel])' aptget install no-depends -s