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

Bug#749103: lintian: check for invalid dependency fields (including versions)



Package: lintian
Severity: wishlist

qd 2.3.7-2.1 from squeeze has an invalid version number g++ (>= s4.1)

http://http.debian.net/debian/pool/main/q/qd/qd_2.3.7-2.1.dsc

Please check that each of the dependency fields (Depends, Recommends
etc) is valid and check that the version number in each of these fields
is valid. I think that this tag should be on the ftpmaster reject list
so we eliminate this issue. This can be done using this code:

use Dpkg::Deps;
use Dpkg::Version;
my $deps_string = 'cdbs (>= 0.4.23-1.1) | foo | bar, debhelper (>= 7) | foo, quilt, autotools-dev, g++ (>= s4.1), gfortran (>= 4.1), automake, autoconf, libtool';
my $deps = deps_parse($deps_string);
print "invalid-field $deps\n" if !defined $deps;
foreach my $dep ($deps->get_deps()) {
        if ($dep->isa('Dpkg::Deps::Simple')) {
                print "invalid-version-in-dep $dep->{package} ($dep->{relation} $dep->{version})\n"
                        if defined $dep->{version} && !version_check($dep->{version});
        } else {
                foreach my $subdep ($dep->get_deps()) {
                        print "invalid-version-in-dep $subdep->{package} ($subdep->{relation} $subdep->{version})\n"
                                if defined $subdep->{version} && !version_check($subdep->{version});
                }
        }
}

-- 
bye,
pabs

http://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: