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

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: