Bug#587998: edos-distcheck: Please support architecture wildcards
Package: edos-distcheck
Version: 1.4.2-11
Severity: important
Dear edos-distcheck maintainers,
edos-debcheck is used by the Debian wanna-build database, used
by the build dæmons to check which packages need rebuilding.
However, it appears that edos-debcheck can't yet cope with
architecture wildcards which are now permitted in package
dependencies and build-dependencies and are supported by
dpkg, sbuild and associated tools. [I didn't see any use of
dpkg-architecture in the sources.]
Please could you consider adding support for architecture
wildcards with dpkg-architecture? edos-debcheck support is the
last remaining tool needing support, which is blocking use of
wildcards in Debian.
References:
http://lists.debian.org/debian-wb-team/2010/07/msg00007.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501230
Support is very simple. When you get an architecture in
square brackets in a dependency such as
grub [i386]
libfreeimage-dev [!linux-any]
libpng12-dev [any-i386]
you call dpkg-architecture to query if the wildcard matches
the host architecture. You need to handle the '!' (not) case
yourself. If the host architecture and dependency architecture
are a straight match, you can skip calling dpkg-architecture if you
want a small optimisation, or else you just ask dpkg-architecture:
Is [linux-any] needed on an amd64 arch?
% dpkg-architecture -aamd64 -ilinux-any
% echo $?
0
(yes, it matches)
Is [linux-any] needed on a hurd-i386 arch?
% dpkg-architecture -ahurd-i386 -ilinux-any
% echo $?
1
(no, it doesn't match)
Is [any-i386] needed on a hurd-i386 arch?
% dpkg-architecture -ahurd-i386 '-iany-i386'
% echo $?
0
(yes, it matches)
I'm sure you get the idea!
The list thread link above has the patch written for wanna-build
in it which might be useful as an example of how it could be done.
Many thanks,
Roger Leigh
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (550, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Reply to: