]> git.donarmstrong.com Git - wannabuild.git/blobdiff - bin/wanna-build
fix previous commit: dont set values already set on the database
[wannabuild.git] / bin / wanna-build
index 7d3678ac4663abf5f2c601ab9b722473ff3c34fd..0908b927db4db90d2f4e4503d0271cf71fb7965b 100755 (executable)
@@ -2377,6 +2377,8 @@ sub parse_all_v3 {
             }
             $pkg->{'package'}  = $name;
         }
+        $pkg->{'version'} ||= "";
+        $pkg->{'state'} ||= "";
         my $logstr = sprintf("merge-v3 %s %s_%s", $vars->{'time'}, $name, $pkgs->{'version'}).
             ($pkgs->{'binnmu'} ? ";b".$pkgs->{'binnmu'} : "").
             sprintf(" (%s, %s, previous: %s", $vars->{'arch'}, $vars->{'suite'}, $pkg->{'version'}//"").
@@ -2386,9 +2388,9 @@ sub parse_all_v3 {
         if (isin($pkgs->{'status'}, qw (installed related)) && $pkgs->{'version'} eq $pkg->{'version'} && ($pkgs->{'binnmu'}//0) < int($pkg->{'binary_nmu_version'}//0)) {
                 $pkgs->{'status'} = 'out-of-date';
         }
-        if (isin($pkgs->{'status'}, qw (installed related auto-not-for-us))) {
+        if (isin($pkgs->{'status'}, qw <installed related auto-not-for-us not-for-us>)) {
             my $change = 0;
-            my $tstate = {'installed' => 'Installed', 'related' => 'Installed', 'auto-not-for-us' => 'Auto-Not-For-Us'}->{$pkgs->{'status'}};
+            my $tstate = {'installed' => 'Installed', 'related' => 'Installed', 'auto-not-for-us' => 'Auto-Not-For-Us', 'not-for-us' => 'Auto-Not-For-Us'}->{$pkgs->{'status'}};
             next if isin( $pkg->{'state'}, qw<Not-For-Us Failed Failed-Removed Dep-Wait Dep-Wait-Removed>) && isin( $tstate, qw<Auto-Not-For-Us>);
             # if the package is currently current, the status is Installed, not not-for-us
             if ($pkg->{'state'} ne $tstate) {
@@ -2408,8 +2410,15 @@ sub parse_all_v3 {
                     $change++;
                 }
             }
-            if (isin($pkgs->{'status'}, qw (related)) and $pkg->{'notes'} ne "related") {
-                $pkg->{'notes'} = "related";
+            if (isin($pkgs->{'status'}, qw <related not-for-us>)) {
+                my $tnotes = {'related' => 'related', 'not-for-us' => 'packages-arch-specific'}->{$pkgs->{'status'}};
+                if ($pkg->{'notes'} && $pkg->{'notes'} ne $tnotes) {
+                    $pkg->{'notes'} = $tnotes;
+                    $change++;
+                }
+            }
+            if ($pkgs->{'notes'} && (($pkg->{'notes'}//"") ne $pkgs->{'notes'})) {
+                $pkg->{'notes'} = $pkgs->{'notes'};
                 $change++;
             }
             if ($change) {