[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 2.5.4-83-g209aa06



The following commit has been merged in the master branch:
commit 209aa06979ba6d3dd788c7fd4c07164c28131f5e
Author: Niels Thykier <niels@thykier.net>
Date:   Sun Jan 8 10:11:55 2012 +0100

    Corrected any-CPU wildcards for some archs
    
    This is done by mapping architecture names to their "DEB_HOST_ARCH_OS"
    and "DEB_HOST_ARCH_CPU" values and using those to determine the
    wildcards.
    
    Previously architecture wildcards were determined from the Debian
    arch by splitting the architecture by "-" and using the result to
    define "OS-any" and "any-CPU".
    
    This relies on the assumption that the CPU wildcard has the exact same
    CPU name as the Debian arch.  Unfortunately, this assumption is
    invalid for some cases (e.g. armel and lpia)[1].
    
    [1] This can be confirmed by using dpkg-architecture:
    
     $ dpkg-architecture -aarmel -iany-armel && echo yes
     $ dpkg-architecture -aarmel -iany-arm && echo yes
     yes
    
     $ dpkg-architecture -alpia -iany-lpia && echo yes
     $ dpkg-architecture -alpia -iany-i386 && echo yes
     yes
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/data/common/architectures b/data/common/architectures
index 60ebf11..9830f39 100644
--- a/data/common/architectures
+++ b/data/common/architectures
@@ -1,276 +1,275 @@
 # List of known architectures as provided by dpkg-architecture
-# Last updated: 2011-04-07
-# With: Debian dpkg-architecture version 1.16.0.1.
+# (excluding "all" and "any", which are handled specially)
+# Last updated: 2012-01-08
+# With: Debian dpkg-architecture version 1.16.1.2.
 
-all
-alpha
-amd64
-any
-arm
-armeb
-armel
-armhf
-avr32
-darwin-alpha
-darwin-amd64
-darwin-arm
-darwin-armeb
-darwin-avr32
-darwin-hppa
-darwin-i386
-darwin-ia64
-darwin-m32r
-darwin-m68k
-darwin-mips
-darwin-mipsel
-darwin-powerpc
-darwin-ppc64
-darwin-s390
-darwin-s390x
-darwin-sh3
-darwin-sh3eb
-darwin-sh4
-darwin-sh4eb
-darwin-sparc
-darwin-sparc64
-freebsd-alpha
-freebsd-amd64
-freebsd-arm
-freebsd-armeb
-freebsd-avr32
-freebsd-hppa
-freebsd-i386
-freebsd-ia64
-freebsd-m32r
-freebsd-m68k
-freebsd-mips
-freebsd-mipsel
-freebsd-powerpc
-freebsd-ppc64
-freebsd-s390
-freebsd-s390x
-freebsd-sh3
-freebsd-sh3eb
-freebsd-sh4
-freebsd-sh4eb
-freebsd-sparc
-freebsd-sparc64
-hppa
-hurd-alpha
-hurd-amd64
-hurd-arm
-hurd-armeb
-hurd-avr32
-hurd-hppa
-hurd-i386
-hurd-ia64
-hurd-m32r
-hurd-m68k
-hurd-mips
-hurd-mipsel
-hurd-powerpc
-hurd-ppc64
-hurd-s390
-hurd-s390x
-hurd-sh3
-hurd-sh3eb
-hurd-sh4
-hurd-sh4eb
-hurd-sparc
-hurd-sparc64
-i386
-ia64
-kfreebsd-alpha
-kfreebsd-amd64
-kfreebsd-arm
-kfreebsd-armeb
-kfreebsd-avr32
-kfreebsd-hppa
-kfreebsd-i386
-kfreebsd-ia64
-kfreebsd-m32r
-kfreebsd-m68k
-kfreebsd-mips
-kfreebsd-mipsel
-kfreebsd-powerpc
-kfreebsd-ppc64
-kfreebsd-s390
-kfreebsd-s390x
-kfreebsd-sh3
-kfreebsd-sh3eb
-kfreebsd-sh4
-kfreebsd-sh4eb
-kfreebsd-sparc
-kfreebsd-sparc64
-knetbsd-alpha
-knetbsd-amd64
-knetbsd-arm
-knetbsd-armeb
-knetbsd-avr32
-knetbsd-hppa
-knetbsd-i386
-knetbsd-ia64
-knetbsd-m32r
-knetbsd-m68k
-knetbsd-mips
-knetbsd-mipsel
-knetbsd-powerpc
-knetbsd-ppc64
-knetbsd-s390
-knetbsd-s390x
-knetbsd-sh3
-knetbsd-sh3eb
-knetbsd-sh4
-knetbsd-sh4eb
-knetbsd-sparc
-knetbsd-sparc64
-kopensolaris-alpha
-kopensolaris-amd64
-kopensolaris-arm
-kopensolaris-armeb
-kopensolaris-avr32
-kopensolaris-hppa
-kopensolaris-i386
-kopensolaris-ia64
-kopensolaris-m32r
-kopensolaris-m68k
-kopensolaris-mips
-kopensolaris-mipsel
-kopensolaris-powerpc
-kopensolaris-ppc64
-kopensolaris-s390
-kopensolaris-s390x
-kopensolaris-sh3
-kopensolaris-sh3eb
-kopensolaris-sh4
-kopensolaris-sh4eb
-kopensolaris-sparc
-kopensolaris-sparc64
-lpia
-m32r
-m68k
-mips
-mipsel
-netbsd-alpha
-netbsd-amd64
-netbsd-arm
-netbsd-armeb
-netbsd-avr32
-netbsd-hppa
-netbsd-i386
-netbsd-ia64
-netbsd-m32r
-netbsd-m68k
-netbsd-mips
-netbsd-mipsel
-netbsd-powerpc
-netbsd-ppc64
-netbsd-s390
-netbsd-s390x
-netbsd-sh3
-netbsd-sh3eb
-netbsd-sh4
-netbsd-sh4eb
-netbsd-sparc
-netbsd-sparc64
-openbsd-alpha
-openbsd-amd64
-openbsd-arm
-openbsd-armeb
-openbsd-avr32
-openbsd-hppa
-openbsd-i386
-openbsd-ia64
-openbsd-m32r
-openbsd-m68k
-openbsd-mips
-openbsd-mipsel
-openbsd-powerpc
-openbsd-ppc64
-openbsd-s390
-openbsd-s390x
-openbsd-sh3
-openbsd-sh3eb
-openbsd-sh4
-openbsd-sh4eb
-openbsd-sparc
-openbsd-sparc64
-powerpc
-powerpcspe
-ppc64
-s390
-s390x
-sh3
-sh3eb
-sh4
-sh4eb
-solaris-alpha
-solaris-amd64
-solaris-arm
-solaris-armeb
-solaris-avr32
-solaris-hppa
-solaris-i386
-solaris-ia64
-solaris-m32r
-solaris-m68k
-solaris-mips
-solaris-mipsel
-solaris-powerpc
-solaris-ppc64
-solaris-s390
-solaris-s390x
-solaris-sh3
-solaris-sh3eb
-solaris-sh4
-solaris-sh4eb
-solaris-sparc
-solaris-sparc64
-sparc
-sparc64
-uclibc-linux-alpha
-uclibc-linux-amd64
-uclibc-linux-arm
-uclibc-linux-armeb
-uclibc-linux-armel
-uclibc-linux-avr32
-uclibc-linux-hppa
-uclibc-linux-i386
-uclibc-linux-ia64
-uclibc-linux-m32r
-uclibc-linux-m68k
-uclibc-linux-mips
-uclibc-linux-mipsel
-uclibc-linux-powerpc
-uclibc-linux-ppc64
-uclibc-linux-s390
-uclibc-linux-s390x
-uclibc-linux-sh3
-uclibc-linux-sh3eb
-uclibc-linux-sh4
-uclibc-linux-sh4eb
-uclibc-linux-sparc
-uclibc-linux-sparc64
-uclinux-alpha
-uclinux-amd64
-uclinux-arm
-uclinux-armeb
-uclinux-armel
-uclinux-avr32
-uclinux-hppa
-uclinux-i386
-uclinux-ia64
-uclinux-m32r
-uclinux-m68k
-uclinux-mips
-uclinux-mipsel
-uclinux-powerpc
-uclinux-ppc64
-uclinux-s390
-uclinux-s390x
-uclinux-sh3
-uclinux-sh3eb
-uclinux-sh4
-uclinux-sh4eb
-uclinux-sparc
-uclinux-sparc64
+alpha || linux alpha
+amd64 || linux amd64
+arm || linux arm
+armeb || linux armeb
+armel || linux arm
+armhf || linux arm
+avr32 || linux avr32
+darwin-alpha || darwin alpha
+darwin-amd64 || darwin amd64
+darwin-arm || darwin arm
+darwin-armeb || darwin armeb
+darwin-avr32 || darwin avr32
+darwin-hppa || darwin hppa
+darwin-i386 || darwin i386
+darwin-ia64 || darwin ia64
+darwin-m32r || darwin m32r
+darwin-m68k || darwin m68k
+darwin-mips || darwin mips
+darwin-mipsel || darwin mipsel
+darwin-powerpc || darwin powerpc
+darwin-ppc64 || darwin ppc64
+darwin-s390 || darwin s390
+darwin-s390x || darwin s390x
+darwin-sh3 || darwin sh3
+darwin-sh3eb || darwin sh3eb
+darwin-sh4 || darwin sh4
+darwin-sh4eb || darwin sh4eb
+darwin-sparc || darwin sparc
+darwin-sparc64 || darwin sparc64
+freebsd-alpha || freebsd alpha
+freebsd-amd64 || freebsd amd64
+freebsd-arm || freebsd arm
+freebsd-armeb || freebsd armeb
+freebsd-avr32 || freebsd avr32
+freebsd-hppa || freebsd hppa
+freebsd-i386 || freebsd i386
+freebsd-ia64 || freebsd ia64
+freebsd-m32r || freebsd m32r
+freebsd-m68k || freebsd m68k
+freebsd-mips || freebsd mips
+freebsd-mipsel || freebsd mipsel
+freebsd-powerpc || freebsd powerpc
+freebsd-ppc64 || freebsd ppc64
+freebsd-s390 || freebsd s390
+freebsd-s390x || freebsd s390x
+freebsd-sh3 || freebsd sh3
+freebsd-sh3eb || freebsd sh3eb
+freebsd-sh4 || freebsd sh4
+freebsd-sh4eb || freebsd sh4eb
+freebsd-sparc || freebsd sparc
+freebsd-sparc64 || freebsd sparc64
+hppa || linux hppa
+hurd-alpha || hurd alpha
+hurd-amd64 || hurd amd64
+hurd-arm || hurd arm
+hurd-armeb || hurd armeb
+hurd-avr32 || hurd avr32
+hurd-hppa || hurd hppa
+hurd-i386 || hurd i386
+hurd-ia64 || hurd ia64
+hurd-m32r || hurd m32r
+hurd-m68k || hurd m68k
+hurd-mips || hurd mips
+hurd-mipsel || hurd mipsel
+hurd-powerpc || hurd powerpc
+hurd-ppc64 || hurd ppc64
+hurd-s390 || hurd s390
+hurd-s390x || hurd s390x
+hurd-sh3 || hurd sh3
+hurd-sh3eb || hurd sh3eb
+hurd-sh4 || hurd sh4
+hurd-sh4eb || hurd sh4eb
+hurd-sparc || hurd sparc
+hurd-sparc64 || hurd sparc64
+i386 || linux i386
+ia64 || linux ia64
+kfreebsd-alpha || kfreebsd alpha
+kfreebsd-amd64 || kfreebsd amd64
+kfreebsd-arm || kfreebsd arm
+kfreebsd-armeb || kfreebsd armeb
+kfreebsd-avr32 || kfreebsd avr32
+kfreebsd-hppa || kfreebsd hppa
+kfreebsd-i386 || kfreebsd i386
+kfreebsd-ia64 || kfreebsd ia64
+kfreebsd-m32r || kfreebsd m32r
+kfreebsd-m68k || kfreebsd m68k
+kfreebsd-mips || kfreebsd mips
+kfreebsd-mipsel || kfreebsd mipsel
+kfreebsd-powerpc || kfreebsd powerpc
+kfreebsd-ppc64 || kfreebsd ppc64
+kfreebsd-s390 || kfreebsd s390
+kfreebsd-s390x || kfreebsd s390x
+kfreebsd-sh3 || kfreebsd sh3
+kfreebsd-sh3eb || kfreebsd sh3eb
+kfreebsd-sh4 || kfreebsd sh4
+kfreebsd-sh4eb || kfreebsd sh4eb
+kfreebsd-sparc || kfreebsd sparc
+kfreebsd-sparc64 || kfreebsd sparc64
+knetbsd-alpha || knetbsd alpha
+knetbsd-amd64 || knetbsd amd64
+knetbsd-arm || knetbsd arm
+knetbsd-armeb || knetbsd armeb
+knetbsd-avr32 || knetbsd avr32
+knetbsd-hppa || knetbsd hppa
+knetbsd-i386 || knetbsd i386
+knetbsd-ia64 || knetbsd ia64
+knetbsd-m32r || knetbsd m32r
+knetbsd-m68k || knetbsd m68k
+knetbsd-mips || knetbsd mips
+knetbsd-mipsel || knetbsd mipsel
+knetbsd-powerpc || knetbsd powerpc
+knetbsd-ppc64 || knetbsd ppc64
+knetbsd-s390 || knetbsd s390
+knetbsd-s390x || knetbsd s390x
+knetbsd-sh3 || knetbsd sh3
+knetbsd-sh3eb || knetbsd sh3eb
+knetbsd-sh4 || knetbsd sh4
+knetbsd-sh4eb || knetbsd sh4eb
+knetbsd-sparc || knetbsd sparc
+knetbsd-sparc64 || knetbsd sparc64
+kopensolaris-alpha || kopensolaris alpha
+kopensolaris-amd64 || kopensolaris amd64
+kopensolaris-arm || kopensolaris arm
+kopensolaris-armeb || kopensolaris armeb
+kopensolaris-avr32 || kopensolaris avr32
+kopensolaris-hppa || kopensolaris hppa
+kopensolaris-i386 || kopensolaris i386
+kopensolaris-ia64 || kopensolaris ia64
+kopensolaris-m32r || kopensolaris m32r
+kopensolaris-m68k || kopensolaris m68k
+kopensolaris-mips || kopensolaris mips
+kopensolaris-mipsel || kopensolaris mipsel
+kopensolaris-powerpc || kopensolaris powerpc
+kopensolaris-ppc64 || kopensolaris ppc64
+kopensolaris-s390 || kopensolaris s390
+kopensolaris-s390x || kopensolaris s390x
+kopensolaris-sh3 || kopensolaris sh3
+kopensolaris-sh3eb || kopensolaris sh3eb
+kopensolaris-sh4 || kopensolaris sh4
+kopensolaris-sh4eb || kopensolaris sh4eb
+kopensolaris-sparc || kopensolaris sparc
+kopensolaris-sparc64 || kopensolaris sparc64
+lpia || linux i386
+m32r || linux m32r
+m68k || linux m68k
+mips || linux mips
+mipsel || linux mipsel
+netbsd-alpha || netbsd alpha
+netbsd-amd64 || netbsd amd64
+netbsd-arm || netbsd arm
+netbsd-armeb || netbsd armeb
+netbsd-avr32 || netbsd avr32
+netbsd-hppa || netbsd hppa
+netbsd-i386 || netbsd i386
+netbsd-ia64 || netbsd ia64
+netbsd-m32r || netbsd m32r
+netbsd-m68k || netbsd m68k
+netbsd-mips || netbsd mips
+netbsd-mipsel || netbsd mipsel
+netbsd-powerpc || netbsd powerpc
+netbsd-ppc64 || netbsd ppc64
+netbsd-s390 || netbsd s390
+netbsd-s390x || netbsd s390x
+netbsd-sh3 || netbsd sh3
+netbsd-sh3eb || netbsd sh3eb
+netbsd-sh4 || netbsd sh4
+netbsd-sh4eb || netbsd sh4eb
+netbsd-sparc || netbsd sparc
+netbsd-sparc64 || netbsd sparc64
+openbsd-alpha || openbsd alpha
+openbsd-amd64 || openbsd amd64
+openbsd-arm || openbsd arm
+openbsd-armeb || openbsd armeb
+openbsd-avr32 || openbsd avr32
+openbsd-hppa || openbsd hppa
+openbsd-i386 || openbsd i386
+openbsd-ia64 || openbsd ia64
+openbsd-m32r || openbsd m32r
+openbsd-m68k || openbsd m68k
+openbsd-mips || openbsd mips
+openbsd-mipsel || openbsd mipsel
+openbsd-powerpc || openbsd powerpc
+openbsd-ppc64 || openbsd ppc64
+openbsd-s390 || openbsd s390
+openbsd-s390x || openbsd s390x
+openbsd-sh3 || openbsd sh3
+openbsd-sh3eb || openbsd sh3eb
+openbsd-sh4 || openbsd sh4
+openbsd-sh4eb || openbsd sh4eb
+openbsd-sparc || openbsd sparc
+openbsd-sparc64 || openbsd sparc64
+powerpc || linux powerpc
+powerpcspe || linux powerpc
+ppc64 || linux ppc64
+s390 || linux s390
+s390x || linux s390x
+sh3 || linux sh3
+sh3eb || linux sh3eb
+sh4 || linux sh4
+sh4eb || linux sh4eb
+solaris-alpha || solaris alpha
+solaris-amd64 || solaris amd64
+solaris-arm || solaris arm
+solaris-armeb || solaris armeb
+solaris-avr32 || solaris avr32
+solaris-hppa || solaris hppa
+solaris-i386 || solaris i386
+solaris-ia64 || solaris ia64
+solaris-m32r || solaris m32r
+solaris-m68k || solaris m68k
+solaris-mips || solaris mips
+solaris-mipsel || solaris mipsel
+solaris-powerpc || solaris powerpc
+solaris-ppc64 || solaris ppc64
+solaris-s390 || solaris s390
+solaris-s390x || solaris s390x
+solaris-sh3 || solaris sh3
+solaris-sh3eb || solaris sh3eb
+solaris-sh4 || solaris sh4
+solaris-sh4eb || solaris sh4eb
+solaris-sparc || solaris sparc
+solaris-sparc64 || solaris sparc64
+sparc || linux sparc
+sparc64 || linux sparc64
+uclibc-linux-alpha || linux alpha
+uclibc-linux-amd64 || linux amd64
+uclibc-linux-arm || linux arm
+uclibc-linux-armeb || linux armeb
+uclibc-linux-armel || linux arm
+uclibc-linux-avr32 || linux avr32
+uclibc-linux-hppa || linux hppa
+uclibc-linux-i386 || linux i386
+uclibc-linux-ia64 || linux ia64
+uclibc-linux-m32r || linux m32r
+uclibc-linux-m68k || linux m68k
+uclibc-linux-mips || linux mips
+uclibc-linux-mipsel || linux mipsel
+uclibc-linux-powerpc || linux powerpc
+uclibc-linux-ppc64 || linux ppc64
+uclibc-linux-s390 || linux s390
+uclibc-linux-s390x || linux s390x
+uclibc-linux-sh3 || linux sh3
+uclibc-linux-sh3eb || linux sh3eb
+uclibc-linux-sh4 || linux sh4
+uclibc-linux-sh4eb || linux sh4eb
+uclibc-linux-sparc || linux sparc
+uclibc-linux-sparc64 || linux sparc64
+uclinux-alpha || uclinux alpha
+uclinux-amd64 || uclinux amd64
+uclinux-arm || uclinux arm
+uclinux-armeb || uclinux armeb
+uclinux-armel || uclinux arm
+uclinux-avr32 || uclinux avr32
+uclinux-hppa || uclinux hppa
+uclinux-i386 || uclinux i386
+uclinux-ia64 || uclinux ia64
+uclinux-m32r || uclinux m32r
+uclinux-m68k || uclinux m68k
+uclinux-mips || uclinux mips
+uclinux-mipsel || uclinux mipsel
+uclinux-powerpc || uclinux powerpc
+uclinux-ppc64 || uclinux ppc64
+uclinux-s390 || uclinux s390
+uclinux-s390x || uclinux s390x
+uclinux-sh3 || uclinux sh3
+uclinux-sh3eb || uclinux sh3eb
+uclinux-sh4 || uclinux sh4
+uclinux-sh4eb || uclinux sh4eb
+uclinux-sparc || uclinux sparc
+uclinux-sparc64 || uclinux sparc64
diff --git a/lib/Lintian/Architecture.pm b/lib/Lintian/Architecture.pm
index e7c417f..8f9057e 100644
--- a/lib/Lintian/Architecture.pm
+++ b/lib/Lintian/Architecture.pm
@@ -67,23 +67,16 @@ The following methods are exportable:
 
 # Setup code
 
-my $ARCH_RAW = Lintian::Data->new ('common/architectures');
+my $ARCH_RAW = Lintian::Data->new ('common/architectures', qr/\s*+\Q||\E\s*+/o,
+                                   sub { return [split /\s++/o, $_[1]]});
 
-# Generate the list of valid architecture wildcards.  We can ignore all
-# architectures not containing a - for our purposes and transform any
-# architecture like foo-bar into any-bar and foo-any.  Putting this in a hash
-# will then clean up all the duplicates.
+# Generate the list of valid architecture wildcards.
 my $ARCH_WILDCARDS = {};
 
 foreach my $archstr ($ARCH_RAW->all) {
     my ($os, $arch);
     next if $archstr eq 'all' or $archstr eq 'any';
-    ($os, $arch) = split /-/, $archstr;
-    unless ($arch) {
-        # Linux archs do not have a "linux-" prefix like other architectures
-        $arch = $os;
-        $os = 'linux';
-    }
+    ($os, $arch) = @{ $ARCH_RAW->value($archstr) };
     # map $os-any (e.g. "linux-any") and any-$arch (e.g. "any-amd64") to
     # the relevant architectures.
     $ARCH_WILDCARDS->{"$os-any"}->{$archstr} = 1;
diff --git a/private/refresh-archs b/private/refresh-archs
index c8357bd..5398477 100755
--- a/private/refresh-archs
+++ b/private/refresh-archs
@@ -36,12 +36,21 @@ f="$(mktemp)"
 
 cat > "$f" <<EOF
 # List of known architectures as provided by dpkg-architecture
+# (excluding "all" and "any", which are handled specially)
 # Last updated: $(date -u +'%Y-%m-%d')
 # With: $dpkg_version
 
 EOF
-{ echo "any"; echo "all";
-  dpkg-architecture -L; } | sort >> "$f"
+
+{
+# Map an Debian arch (e.g. i386) to the "(OS, CPU)" tuple
+for archstr in $(dpkg-architecture -L); do
+    os="$(dpkg-architecture -a"$archstr" -qDEB_HOST_ARCH_OS 2>/dev/null)"
+    cpu="$(dpkg-architecture -a"$archstr" -qDEB_HOST_ARCH_CPU 2>/dev/null)"
+
+    printf "%s || %s %s\n" "$archstr" "$os" "$cpu"
+done
+} | sort >> "$f"
 
 mv "$f" "$1"/common/architectures
 

-- 
Debian package checker


Reply to: