Author: rra
Date: 2007-12-04 06:25:34 +0100 (Tue, 04 Dec 2007)
New Revision: 1033

Modified:
   trunk/checks/fields
Log:
Parse and stash the parsed dependency field while reading them.  This
doesn't make much difference currently but may be useful later.  (Done
as part of a change that I ended up doing another way.)


Modified: trunk/checks/fields
===================================================================
--- trunk/checks/fields 2007-12-04 04:37:21 UTC (rev 1032)
+++ trunk/checks/fields 2007-12-04 05:25:34 UTC (rev 1033)
@@ -375,7 +375,7 @@
        close IN;
 }
 if (($type eq "binary") || ($type eq 'udeb')) {
-       my (%deps, %fields);
+       my (%deps, %fields, %parsed);
        for my $field (qw(depends pre-depends recommends suggests conflicts 
provides replaces)) {
                if (open(FH, '<', "fields/$field")) {
                        #Get data and clean it
@@ -383,6 +383,7 @@
                        unfold($field, \$data);
                        $data =~ s/^\s*(.+?)\s*$/$1/;
                        $fields{$field} = $data;
+                       $parsed{$field} = Dep::parse ($data);
 
                        my (@seen_libstdcs, @seen_tcls, @seen_tclxs, @seen_tks, 
@seen_tkxs, @seen_libpngs);
 
@@ -484,11 +485,10 @@
        # dependency fields.
        if ($fields{conflicts}) {
                for my $field (qw(depends pre-depends recommends suggests)) {
-                       next unless $fields{$field};
-                       my $depend = Dep::parse($fields{$field});
+                       next unless $parsed{$field};
                        for my $conflict (split /\s*,\s*/, $fields{conflicts}) {
                                tag "conflicts-with-dependency", $conflict
-                                   if Dep::implies($depend, 
Dep::parse($conflict));
+                                   if Dep::implies($parsed{$field}, 
Dep::parse($conflict));
                        }
                }
        }
@@ -497,7 +497,7 @@
                my $d_pkg = $deps{$d_pkg_name};
                if (scalar @$d_pkg > 1) {
                        #Allow things like Depends: package1 (>= 1.3), package1 
(<= 5.2)
-                       unless ((scalar @$d_pkg == 2) && 
+                       unless ((scalar @$d_pkg == 2) &&
                                (($d_pkg->[0]->[1]->[0] =~ />=|>>|>/ && 
$d_pkg->[1]->[1]->[0] =~ /<=|<<|</) or
                                 ($d_pkg->[0]->[1]->[0] =~ /<=|<<|</ && 
$d_pkg->[1]->[1]->[0] =~ />=|>>|>/))) {
                                my @relations;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to