From 81051c4fc12865b61759801ab2aa5ad00fe9b432 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Tue, 25 Feb 2014 08:28:04 +0100 Subject: Fix architecture check d-i_build.sh checks the architecture by parsing a hardcoded list of architecture wildcards. It misses the wildcards of the form -any and any-, however, which have been supported since a fair while now. This has caused jenkins to (incorrectly) skip the builds for partman-nbd up until partman-nbd 0.22 (which reverted back to Architecture: all). Rather than trying to expand the hardcoded list, instead use dpkg-architecture's -i option, which checks if the current architecture matches the wildcard architecture specified as an argument to -i. This option has been available since dpkg 1.13.13, i.e., pre-oldstable. --- bin/d-i_build.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/d-i_build.sh b/bin/d-i_build.sh index 3a5f602d..f5dc063e 100755 --- a/bin/d-i_build.sh +++ b/bin/d-i_build.sh @@ -36,12 +36,14 @@ pdebuild_package() { echo "Warning: A source package without debian/control, so no build will be tried." return fi - ARCH=$(dpkg --print-architecture) - EGREP_PATTERN="( all| any| $ARCH)" - if [ ! $(grep "Architecture:" debian/control | egrep "$EGREP_PATTERN" | wc -l ) -gt 0 ] ; then - echo "This package is not to be supposed to be build on $ARCH:" - grep "Architecture:" debian/control - return + ARCH=$(grep 'Architecture:' debian/control | cut -d' ' -f 2) + MYARCH=$(dpkg --print-architecture) + if [ $ARCH != "all" ] ; then + if ! dpkg-architecture -i$ARCH ; then + echo "This package is not to be supposed to be build on $MYARCH:" + grep "Architecture:" debian/control + return + fi fi # # prepare build -- cgit v1.2.3-70-g09d2