]> git.donarmstrong.com Git - wannabuild.git/commitdiff
WB::QD: Comment the code a bit more.
authorPhilipp Kern <pkern@debian.org>
Mon, 11 Jul 2011 10:28:54 +0000 (12:28 +0200)
committerPhilipp Kern <pkern@debian.org>
Mon, 11 Jul 2011 10:28:54 +0000 (12:28 +0200)
lib/WB/QD.pm

index 015f8a42afd5c14c8a77d587986ba140a0612231..83527bc5f9775010f7cdfd7654621d12a954566b 100644 (file)
@@ -76,16 +76,28 @@ sub readsourcebins {
             /^Source:\s*(\S+)\s+\((\S+)\)$/mi and $p->{'source'} = $1 and $p->{'version'} = $2;
 
             # consider packages as non-existant if it's all but outdated
             /^Source:\s*(\S+)\s+\((\S+)\)$/mi and $p->{'source'} = $1 and $p->{'version'} = $2;
 
             # consider packages as non-existant if it's all but outdated
+            # arch:all and ver(binary) < ver(source) => skip
             next if $p->{'arch'} eq 'all' && $srcs->{$p->{'source'}} && $srcs->{$p->{'source'}}->{'version'} && vercmp($srcs->{$p->{'source'}}->{'version'}, $p->{'version'}) > 0;
             next if $p->{'arch'} eq 'all' && $srcs->{$p->{'source'}} && $srcs->{$p->{'source'}}->{'version'} && vercmp($srcs->{$p->{'source'}}->{'version'}, $p->{'version'}) > 0;
+            # not for the current architecture or arch:all => skip
             next unless $p->{'arch'} eq 'all' || $p->{'arch'} eq ${arch};
             next unless $p->{'arch'} eq 'all' || $p->{'arch'} eq ${arch};
-            $binary->{$p->{'binary'}} = { 'version' => $p->{'version'}, 'arch' => $p->{'arch'}} unless $binary->{$p->{'binary'}} and vercmp($binary->{$p->{'binary'}}->{'version'}, $p->{'version'}) < 0;
+            # register the binary if there isn't a newer one in the hash yet
+            $binary->{$p->{'binary'}} = { 'version' => $p->{'version'}, 'arch' => $p->{'arch'}}
+                unless $binary->{$p->{'binary'}} and vercmp($binary->{$p->{'binary'}}->{'version'}, $p->{'version'}) < 0;
 
             #next if $pas->{$p->{'binary'}} && pasignore($pas->{$p->{'binary'}}, $arch);
 
             #next if $pas->{$p->{'binary'}} && pasignore($pas->{$p->{'binary'}}, $arch);
+
+            # only continue if it's arch-specific...
             next if $p->{'arch'} eq 'all';
             next if $p->{'arch'} eq 'all';
+
+            # annotate the source package if present, continue otherwise
             next unless $srcs->{$p->{'source'}};
             next unless $srcs->{$p->{'source'}};
+
             $srcs->{$p->{'source'}}->{'compiled'} = 1;
             $srcs->{$p->{'source'}}->{'compiled'} = 1;
+
+            # TODO: ???
             next unless $srcs->{$p->{'source'}}->{'version'} eq $p->{'version'};
             $srcs->{$p->{'source'}}->{'installed'} = 1;
             next unless $srcs->{$p->{'source'}}->{'version'} eq $p->{'version'};
             $srcs->{$p->{'source'}}->{'installed'} = 1;
+
             next unless $p->{'binnmu'};
             next if ($srcs->{$p->{'source'}}->{'binnmu'}) && ($srcs->{$p->{'source'}}->{'binnmu'} > $p->{'binnmu'});
             $srcs->{$p->{'source'}}->{'binnmu'} = $p->{'binnmu'};
             next unless $p->{'binnmu'};
             next if ($srcs->{$p->{'source'}}->{'binnmu'}) && ($srcs->{$p->{'source'}}->{'binnmu'} > $p->{'binnmu'});
             $srcs->{$p->{'source'}}->{'binnmu'} = $p->{'binnmu'};