Bug#322291: lintian: invalid-arch-string-in-source-relation triggers on amd64
Package: lintian
Version: 1.23.10
Severity: normal
Tags: patch
(Bug severity because this is an incorrect error.)
A Build-Depends entry like:
libopenafs-dev [alpha amd64 hppa i386 ia64 powerpc s390 sparc]
triggers invalid-arch-string-in-source-relation because of amd64. The
reported information also refers the user to policy 5.6.7, which is the
section on the Package field. I assume that 5.6.8 was intended.
The attached patch (against 1.23.11) downgrades a non-standard
architecture in a source dependency to info, following the precedent of
the Architecture field.
I didn't repeat the architecture list from non-standard-architecture
in the new non-standard-arch-in-source-relation tag; it seemed like yet
one more thing to keep in sync and didn't seem particularly necessary
there.
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.4.30
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Versions of packages lintian depends on:
ii binutils 2.16.1-2 The GNU assembler, linker and bina
ii diffstat 1.39-1 produces graph of changes introduc
ii file 4.12-1 Determines file type using "magic"
ii gettext 0.14.5-2 GNU Internationalization utilities
ii intltool-debian 0.30+20040213 Help i18n of RFC822 compliant conf
ii man-db 2.4.3-1 The on-line manual pager
ii perl [libdigest-md5-perl] 5.8.7-3 Larry Wall's Practical Extraction
lintian recommends no packages.
-- no debconf information
diff -rupN lintian-1.23.11.orig/checks/fields lintian-1.23.11/checks/fields
--- lintian-1.23.11.orig/checks/fields 2005-07-11 06:08:12.000000000 -0700
+++ lintian-1.23.11/checks/fields 2005-08-09 23:28:57.000000000 -0700
@@ -448,8 +448,11 @@ if ($type eq "source") {
my ($d_pkg, $d_version, $d_arch, $rest, $part_d_orig) = @$part_d;
for my $arch (@{$d_arch->[0]}) {
- tag "invalid-arch-string-in-source-relation", "$arch [$field: $part_d_orig]"
- unless ($known_archs{$arch} || $arch eq "any" || $arch eq "all");
+ if ($non_standard_archs{$arch}) {
+ tag "non-standard-arch-in-source-relation", "$arch [$field: $part_d_orig]";
+ } elsif (!$known_archs{$arch} && $arch ne "any" && $arch ne "all") {
+ tag "invalid-arch-string-in-source-relation", "$arch [$field: $part_d_orig]"
+ }
}
tag "depends-on-build-essential-package-without-using-version", "$d_pkg [$field: $part_d_orig]"
diff -rupN lintian-1.23.11.orig/checks/fields.desc lintian-1.23.11/checks/fields.desc
--- lintian-1.23.11.orig/checks/fields.desc 2005-06-27 02:10:02.000000000 -0700
+++ lintian-1.23.11/checks/fields.desc 2005-08-09 23:23:49.000000000 -0700
@@ -379,11 +379,16 @@ Info: The package declares a depends on
Tag: invalid-arch-string-in-source-relation
Type: error
-Ref: policy 5.6.7
+Ref: policy 5.6.8
Info: The architecture string in the source relation does not follow policy.
A common cause of this is a comma in the arch, i.e. [i386, m68k], it should
be [i386 m68k].
+Tag: non-standard-arch-in-source-relation
+Type: info
+Info: The architecture string in the source relation is one of the
+ architectures still waiting to be included in the archive.
+
Tag: depends-on-build-essential-package-without-using-version
Type: error
Info: The package declares a depends on a build essential package without
Reply to: