瀏覽代碼

skip virtual targets in status map, better error output

Michael van Elst 22 年之前
父節點
當前提交
5e998af1f1
共有 3 個文件被更改,包括 23 次插入15 次删除
  1. 20 12
      openpkg-tool/openpkg-build.pl
  2. 2 2
      openpkg-tool/openpkg-tool.spec
  3. 1 1
      openpkg-tool/openpkg.1

+ 20 - 12
openpkg-tool/openpkg-build.pl

@@ -1718,14 +1718,14 @@ sub make_dep ($$$$$$$) {
     if ($t = target_has_conflicts($target, $env->{installed}, $env)) {
         target_setstatus($target,'CONFLICT',4);
         push(@$clist,$target);
-        print "# $target->{name} conflicts with ",vsn($t),"\n";
+        pusherr($env,$target,"$target->{name} conflicts with ".vsn($t));
         return;
     }
 
     if ($t = target_has_conflicts($target, $env->{built}, $env)) {
         target_setstatus($target,'CONFLICT',4);
         push(@$clist,$target);
-        print "# $target->{name} conflicts with ",vsn($t),"\n";
+        pusherr($env,$target,"$target->{name} conflicts with ".vsn($t));
         return;
     }
 
@@ -1806,10 +1806,9 @@ sub make_dep ($$$$$$$) {
                 }
                 
                 unless (depend_option($t, $d{$_}, $env)) {
-                    print "# $target->{name} has conflicting requirement\n";
-                    push(@{$env->{fatal}},vsn($target));
-                    target_setstatus($target,'UNDEF',4);
                     push @$clist, $target;
+                    pusherr($env,$target,"$target->{name} has conflicting requirement");
+                    target_setstatus($target,'UNDEF',4);
                     $conflict = 1;
                     next;
                 }
@@ -1823,10 +1822,9 @@ sub make_dep ($$$$$$$) {
 
                 push @deps, $t;
             } else {
-                print "# $target->{name} searches a frood called '$_'\n";
-                push(@{$env->{fatal}},vsn($target));
-                target_setstatus($target,'UNDEF',4);
                 push @$clist, $target;
+                pusherr($env,$target,"$target->{name} searches a frood called '$_'");
+                target_setstatus($target,'UNDEF',4);
                 $conflict = 1;
             }
         }
@@ -2057,6 +2055,15 @@ sub build_deps ($$) {
 # OUTPUT
 #
 
+#
+# remember fatal error
+#
+sub pusherr ($$$) {
+    my($env,$target,$mess) = @_;
+    print "# $mess\n";
+    push @{$env->{fatal}}, vsn($target).": $mess\n";
+}
+
 #
 # compute path to binary RPM from rpm config and target data
 #
@@ -2268,7 +2275,7 @@ sub print_status ($$$$$) {
     my($old,$tag,$new);
 
     foreach (@$list, @$clist) {
-        next unless defined $_->{release};
+        next unless $_->{release} =~ /\S/;
         $map{$_->{name}} = {
             rel    => "$_->{version}-$_->{release}",
             status => $_->{STATUS}
@@ -2276,6 +2283,7 @@ sub print_status ($$$$$) {
     }
     
     foreach (@$bonly) {
+        next unless $_->{release} =~ /\S/;
         $map{$_->{name}} = {
             rel    => "$_->{version}-$_->{release}",
             status => 'TEMP'
@@ -2286,7 +2294,7 @@ sub print_status ($$$$$) {
     foreach $n (keys %$installed) {
         next if $n =~ /::/;
         next if exists $map{$n};
-        next unless grep { $_ ne '-' } keys %{$installed->{$n}};
+        next unless grep { $_ ne '' } keys %{$installed->{$n}};
         $map{$n}->{'status'} = 'OK';
         push @names,$n;
     }
@@ -2294,7 +2302,7 @@ sub print_status ($$$$$) {
     foreach $n (keys %$repository) {
         next if $n =~ /::/;
         next if exists $map{$n};
-        next unless grep { $_ ne '-' } keys %{$repository->{$n}};
+        next unless grep { $_ ne '' } keys %{$repository->{$n}};
         $t = find_target($n, $repository);
         $map{$n}->{'status'} = 'NEW';
         $map{$n}->{'rel'}    = vs($t);
@@ -2434,7 +2442,7 @@ if ($opt_L) {
     } else {
         if (@{$env->{fatal}}) {
             die "FATAL: errors occured while building:\n",
-                join (',', @{$env->{fatal}}),
+                @{$env->{fatal}},
                 "\n";
         }
 

+ 2 - 2
openpkg-tool/openpkg-tool.spec

@@ -32,8 +32,8 @@ Packager:     The OpenPKG Project
 Distribution: OpenPKG [PLUS]
 Group:        Bootstrapping
 License:      GPL
-Version:      20030715
-Release:      20030717
+Version:      20030718
+Release:      20030718
 
 #   list of sources
 Source0:      openpkg.sh

+ 1 - 1
openpkg-tool/openpkg.1

@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "OPENPKG 1"
-.TH OPENPKG 1 "2003-06-25" "openpkg-tool" "OpenPKG Maintainance"
+.TH OPENPKG 1 "2003-07-16" "openpkg-tool" "OpenPKG Maintainance"
 .SH "NAME"
 \&\fBopenpkg\fR \- \fBOpenPKG\fR maintainance utility
 .SH "VERSION"