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

[SCM] Debian package checker branch, master, updated. 2.2.6-51-gda155b5



The following commit has been merged in the master branch:
commit 3d6c03dd85eea50c92e960624b68e3a0773411d6
Author: Raphael Geissert <atomo64@gmail.com>
Date:   Sun Mar 1 16:24:24 2009 -0600

    Move known architectures into data
    
    Move the list of known architectures to data/fields and add a simple
    script to refresh it.

diff --git a/checks/fields b/checks/fields
index e014556..b7903a2 100644
--- a/checks/fields
+++ b/checks/fields
@@ -35,33 +35,7 @@ use Lintian::Check qw(check_maintainer);
 use Lintian::Relation ();
 use Lintian::Relation::Version qw(versions_compare);
 
-# From /usr/share/dpkg/cputable, included here to make lintian results
-# consistent no matter what dpkg one has installed.
-our %all_cpus = map { $_ => 1 }
-    ('i386', 'ia64', 'alpha', 'amd64', 'armeb', 'arm', 'hppa', 'm32r', 'm68k',
-     'mips', 'mipsel', 'powerpc', 'ppc64', 's390', 's390x', 'sh3', 'sh3eb',
-     'sh4', 'sh4eb', 'sparc');
-
-# From /usr/share/dpkg/triplettable, included here to make lintian results
-# consistent no matter what dpkg one has installed.  This lists all of the
-# foo-<cpu> rules.  Note that linux is not present in the current dpkg and
-# hence is not present here.
-our %all_oses = map { $_ => 1 }
-    ('kfreebsd', 'knetbsd', 'hurd', 'freebsd', 'openbsd', 'netbsd', 'darwin',
-     'solaris');
-
-# Yes, this includes combinations that are rather unlikely to ever exist, like
-# hurd-sh3, but the chances of those showing up as errors are rather low and
-# this reduces the necessary updating.
-#
-# armel and lpia are special cases, so handle them separately here.  (They're
-# handled separately in /usr/share/dpkg/triplettable.)  any and all are also
-# special cases.
-our %known_archs = map { $_ => 1 }
-    grep { !$known_archs{$_} }
-        (keys %all_cpus,
-         map { my $os = $_; map { "$os-$_" } keys %all_cpus } keys %all_oses),
-    ('armel', 'lpia', 'any', 'all');
+our $KNOWN_ARCHS = Lintian::Data->new ('fields/architectures');
 
 our %known_archive_parts = map { $_ => 1 }
     ('non-free', 'contrib');
@@ -333,7 +307,7 @@ if (not defined $info->field('architecture')) {
 	}
 
 	for my $arch (@archs) {
-		tag "unknown-architecture", "$arch" unless $known_archs{$arch};
+		tag "unknown-architecture", "$arch" unless $KNOWN_ARCHS->known($arch);
 	}
 
 	if ($type eq "binary") {
@@ -796,7 +770,7 @@ if ($type eq "source") {
 					my ($d_pkg, $d_version, $d_arch, $rest, $part_d_orig) = @$part_d;
 
 					for my $arch (@{$d_arch->[0]}) {
-						if (!$known_archs{$arch}) {
+						if (!$KNOWN_ARCHS->known($arch)) {
 							tag "invalid-arch-string-in-source-relation", "$arch [$field: $part_d_orig]"
 						}
 					}
diff --git a/data/fields/architectures b/data/fields/architectures
new file mode 100644
index 0000000..183194a
--- /dev/null
+++ b/data/fields/architectures
@@ -0,0 +1,187 @@
+# List of known architectures as provided by dpkg-architecture
+# Last updated: 2009-03-01
+
+all
+alpha
+amd64
+any
+arm
+armeb
+armel
+darwin-alpha
+darwin-amd64
+darwin-arm
+darwin-armeb
+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
+freebsd-alpha
+freebsd-amd64
+freebsd-arm
+freebsd-armeb
+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
+hppa
+hurd-alpha
+hurd-amd64
+hurd-arm
+hurd-armeb
+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
+i386
+ia64
+kfreebsd-alpha
+kfreebsd-amd64
+kfreebsd-arm
+kfreebsd-armeb
+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
+knetbsd-alpha
+knetbsd-amd64
+knetbsd-arm
+knetbsd-armeb
+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
+lpia
+m32r
+m68k
+mips
+mipsel
+netbsd-alpha
+netbsd-amd64
+netbsd-arm
+netbsd-armeb
+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
+openbsd-alpha
+openbsd-amd64
+openbsd-arm
+openbsd-armeb
+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
+powerpc
+ppc64
+s390
+s390x
+sh3
+sh3eb
+sh4
+sh4eb
+solaris-alpha
+solaris-amd64
+solaris-arm
+solaris-armeb
+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
+sparc
diff --git a/private/refresh-archs b/private/refresh-archs
new file mode 100755
index 0000000..3c6c179
--- /dev/null
+++ b/private/refresh-archs
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+####################
+#    Copyright (C) 2009 by Raphael Geissert <atomo64@gmail.com>
+#
+#
+#    This file is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This file is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this file.  If not, see <http://www.gnu.org/licenses/>.
+####################
+
+set -e
+
+if [ -z "$1" ]; then
+    printf "Usage: %s path/to/lintian/data\n" \
+        "$(basename "$0")"
+    exit 0
+fi
+
+f="$(mktemp)"
+
+cat > "$f" <<EOF
+# List of known architectures as provided by dpkg-architecture
+# Last updated: $(date -u +'%Y-%m-%d')
+
+EOF
+
+export LANG=C
+{ echo "any"; echo "all";
+  dpkg-architecture -L; } | sort >> "$f"
+
+mv "$f" "$1"/fields/architectures

-- 
Debian package checker


Reply to: