Changeset 13877


Ignore:
Timestamp:
2009-01-05T21:02:59+01:00 (9 years ago)
Author:
lars
Message:

If a package is part of a virtual dependency and also listed as a normal
dependency ensure that the dependency is always unconditional. Such a case
happens if for example a package has a build dependency and the build dependency
provides a virtual install dependency of the package.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/metadata.pl

    r13813 r13877  
    561561 
    562562                my $hasdeps = 0; 
    563                 my $depline = ""; 
     563                my %deplines; 
    564564                foreach my $deps (@srcdeps) { 
    565565                        my $idx; 
     
    589589                                undef $idx if $idx =~ /^(kernel)|(base-files)$/; 
    590590                                if ($idx) { 
     591                                        my $depline; 
    591592                                        next if $pkg->{src} eq $pkg_dep->{src}; 
    592593                                        next if $dep{$pkg->{src}."->".$idx}; 
    593                                         next if $dep{$pkg->{src}."->($dep)".$idx}; 
     594                                        next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends}; 
    594595                                        my $depstr; 
    595596 
     
    603604                                        if ($condition) { 
    604605                                                if ($condition =~ /^!(.+)/) { 
    605                                                         $depline .= " \$(if \$(CONFIG_$1),,$depstr)"; 
     606                                                        $depline = "\$(if \$(CONFIG_$1),,$depstr)"; 
    606607                                                } else { 
    607                                                         $depline .= " \$(if \$(CONFIG_$condition),$depstr)"; 
     608                                                        $depline = "\$(if \$(CONFIG_$condition),$depstr)"; 
    608609                                                } 
    609610                                        } else { 
    610                                                 $depline .= " $depstr"; 
     611                                                $depline = $depstr; 
     612                                        } 
     613                                        if ($depline) { 
     614                                                $deplines{$idx.$dep} = $depline; 
    611615                                        } 
    612616                                } 
    613617                        } 
    614618                } 
     619                my $depline = join(" ", values %deplines); 
    615620                if ($depline) { 
    616621                        $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n"; 
Note: See TracChangeset for help on using the changeset viewer.