[buildd-tools-devel] edos-distcheck: Please support architecture wildcards

Roger Leigh rleigh at debian.org
Sat Jul 3 19:05:40 UTC 2010


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



More information about the Buildd-tools-devel mailing list