d-i_build.sh checks the architecture by parsing a hardcoded list of
architecture wildcards. It misses the wildcards of the form <os>-any and
any-<cpu>, 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(-)

diff --git a/bin/d-i_build.sh b/bin/d-i_build.sh
index 3a5f602..f5dc063 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
-- 
1.9.0


-- 
To UNSUBSCRIBE, email to debian-qa-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140225073344.ga9...@grep.be

Reply via email to