Bug#495431: Bogus missing-dep-for-interpreter errors with ocamlrun
Package: lintian
Version: 1.24.3
Severity: normal
Tags: patch
Hi,
Lintian reports missing-dep-for-interpreter for many OCaml-related packages:
http://lintian.debian.org/tags/missing-dep-for-interpreter.html
This is because packages that need ocamlrun usually depend on a
virtual package providing it (embedding the ABI version in its name).
I've thought of several ways to fix this:
1. Take into account virtual packages in Dep::implies
2. Allow usage of regular expressions for dependencies in %interpreters
3. Add special case for ocamlrun before issuing missing-dep-for-interpreter
Attached is a patch implementing solution 3.
Cheers,
--
Stephane Glondu
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.25-2-686-bigmem (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages lintian depends on:
ii binutils 2.18.1~cvs20080103-7 The GNU assembler, linker and bina
ii diffstat 1.45-2 produces graph of changes introduc
ii dpkg-dev 1.14.20 Debian package development tools
ii file 4.25-1 Determines file type using "magic"
ii gettext 0.17-3 GNU Internationalization utilities
ii intltool-debian 0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii libdigest-sha-perl 5.47-1 Perl extension for SHA-1/224/256/3
ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output
ii libtimedate-perl 1.1600-9 Time and date functions for Perl
ii liburi-perl 1.35.dfsg.1-1 Manipulates and accesses URI strin
ii man-db 2.5.2-2 on-line manual pager
ii perl [libdigest-sha 5.10.0-11.1 Larry Wall's Practical Extraction
lintian recommends no packages.
Versions of packages lintian suggests:
pn binutils-multiarch <none> (no description available)
pn libtext-template-perl <none> (no description available)
ii man-db 2.5.2-2 on-line manual pager
-- no debconf information
diff --git a/checks/scripts b/checks/scripts
index e54ec62..40238c9 100644
--- a/checks/scripts
+++ b/checks/scripts
@@ -336,6 +336,8 @@ for my $filename (sort keys %{$info->scripts}) {
# Initialization files for csh.
} elsif ($base eq 'fish' && $filename =~ m,^./etc/fish.d/,) {
# Initialization files for fish.
+ } elsif ($base eq 'ocamlrun' && Dep::unparse($deps{all}) =~ /\Wocaml(-base)?(-nox)?-\d\.[\d.]+/) {
+ # ABI-versioned virtual packages for ocaml
} else {
tag('missing-dep-for-interpreter', "$base => $depends",
"($filename)");
Reply to: