Просмотр исходного кода

(try to) fix travis-ci build failures

dpkg on Ubuntu 12.04 does not seem to support parsing arch-specific
dependencies, so we try to detect if we face such a dpkg in the test.

In the other test the order depends on libdb, which changes per arch, so
we just run it through our sorting binary and be happy (hopefully).

Git-Dch: Ignore
David Kalnischkies лет назад: 12
Родитель
Сommit
e1a69e71ef

+ 2 - 1
test/integration/framework

@@ -36,7 +36,7 @@ msgndebug() { echo -n "${CDEBUG}D: $1${CNORMAL}"; }
 msgtest() {
 msgtest() {
 	while [ -n "$1" ]; do
 	while [ -n "$1" ]; do
 		echo -n "${CINFO}$1${CCMD} "
 		echo -n "${CINFO}$1${CCMD} "
-		echo -n "$(echo "$2" | sed -e 's/^aptc/apt-c/' -e 's/^aptg/apt-g/' -e 's/^aptf/apt-f/')${CINFO} "
+		echo -n "$(echo "$2" | sed -e 's#^apt\([cgfs]\)#apt-\1#')${CINFO} "
 		shift
 		shift
 		if [ -n "$1" ]; then shift; else break; fi
 		if [ -n "$1" ]; then shift; else break; fi
 	done
 	done
@@ -114,6 +114,7 @@ aptget() { runapt apt-get "$@"; }
 aptftparchive() { runapt apt-ftparchive "$@"; }
 aptftparchive() { runapt apt-ftparchive "$@"; }
 aptkey() { runapt apt-key "$@"; }
 aptkey() { runapt apt-key "$@"; }
 aptmark() { runapt apt-mark "$@"; }
 aptmark() { runapt apt-mark "$@"; }
+aptsortpkgs() { runapt apt-sortpkgs "$@"; }
 apt() { runapt apt "$@"; }
 apt() { runapt apt "$@"; }
 apthelper() { runapt "${APTHELPERBINDIR}/apt-helper" "$@"; }
 apthelper() { runapt "${APTHELPERBINDIR}/apt-helper" "$@"; }
 aptwebserver() { runapt "${APTWEBSERVERBINDIR}/aptwebserver" "$@"; }
 aptwebserver() { runapt "${APTWEBSERVERBINDIR}/aptwebserver" "$@"; }

+ 5 - 5
test/integration/test-apt-ftparchive-src-cachedb

@@ -3,9 +3,9 @@ set -e
 
 
 assert_correct_sources_file() {
 assert_correct_sources_file() {
     testequal "Package: bar
     testequal "Package: bar
-Binary: bar
-Version: 1.0
 Architecture: all
 Architecture: all
+Version: 1.0
+Binary: bar
 Format: 3.0 (native)
 Format: 3.0 (native)
 Directory: pool/main
 Directory: pool/main
 Files:
 Files:
@@ -24,9 +24,9 @@ Checksums-Sha512:
  cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 bar_1.0.tar.gz
  cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 bar_1.0.tar.gz
 
 
 Package: foo
 Package: foo
-Binary: foo
-Version: 1.0
 Architecture: all
 Architecture: all
+Version: 1.0
+Binary: foo
 Format: 3.0 (native)
 Format: 3.0 (native)
 Directory: pool/main
 Directory: pool/main
 Files:
 Files:
@@ -43,7 +43,7 @@ Checksums-Sha256:
 Checksums-Sha512:
 Checksums-Sha512:
  3da0240fd764657c2f3661b4d750578a9a99b0580591b133756379d48117ebda87a5ed2467f513200d6e7eaf51422cbe91c15720eef7fb4bba2cc8ff81ebc547 171 foo_1.0.dsc
  3da0240fd764657c2f3661b4d750578a9a99b0580591b133756379d48117ebda87a5ed2467f513200d6e7eaf51422cbe91c15720eef7fb4bba2cc8ff81ebc547 171 foo_1.0.dsc
  cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 foo_1.0.tar.gz
  cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 foo_1.0.tar.gz
-" cat ./aptarchive/dists/test/main/source/Sources
+" aptsortpkgs ./aptarchive/dists/test/main/source/Sources
 }
 }
 
 
 create_source_files() {
 create_source_files() {

+ 15 - 0
test/integration/test-bug-747261-arch-specific-conflicts

@@ -6,6 +6,21 @@ TESTDIR=$(readlink -f $(dirname $0))
 setupenvironment
 setupenvironment
 configarchitecture 'amd64' 'sparc' 'armel'
 configarchitecture 'amd64' 'sparc' 'armel'
 
 
+msgtest 'Check that dpkg supports' 'arch-specific dependencies'
+set +e
+# this fails always, the question is just how it fails
+dpkg-checkbuilddeps -d 'foobar:barfoo' /dev/null 2>/dev/null >/dev/null
+RETURNCODE=$?
+set -e
+if [ "$RETURNCODE" != '1' ]; then
+	dpkg-checkbuilddeps -d 'foobar:barfoo' /dev/null || true
+	echo "Command had returncode: $RETURNCODE"
+	msgskip
+	exit 0
+else
+	msgpass
+fi
+
 buildsimplenativepackage 'libc6' 'amd64,sparc,armel' '1' 'stable' 'Multi-Arch: same'
 buildsimplenativepackage 'libc6' 'amd64,sparc,armel' '1' 'stable' 'Multi-Arch: same'
 buildsimplenativepackage 'libc6-i386' 'amd64' '1' 'stable' 'Conflicts: libc6:sparc'
 buildsimplenativepackage 'libc6-i386' 'amd64' '1' 'stable' 'Conflicts: libc6:sparc'