metadata.pl: fix handling of multiple conditional depends that reference the same package (exposed by previous hotplug2 changes), also kill duplicate dependency specs while we're at it

SVN-Revision: 27267
This commit is contained in:
Jo-Philipp Wich 2011-06-23 19:28:16 +00:00
parent 67fc519a3d
commit e745fc762b

View File

@ -696,10 +696,10 @@ sub gen_package_mk() {
my $depstr = "\$(curdir)/$idx$suffix/compile"; my $depstr = "\$(curdir)/$idx$suffix/compile";
my $depline = get_conditional_dep($condition, $depstr); my $depline = get_conditional_dep($condition, $depstr);
if ($depline) { if ($depline) {
$deplines{$dep} = $depline; $deplines{$depline}++;
} }
} }
my $depline = join(" ", values %deplines); my $depline = join(" ", sort keys %deplines);
if ($depline) { if ($depline) {
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/$type/compile += $depline\n"; $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/$type/compile += $depline\n";
} }
@ -756,12 +756,12 @@ sub gen_package_mk() {
} }
$depline = get_conditional_dep($condition, $depstr); $depline = get_conditional_dep($condition, $depstr);
if ($depline) { if ($depline) {
$deplines{$idx.$dep} = $depline; $deplines{$depline}++;
} }
} }
} }
} }
my $depline = join(" ", values %deplines); my $depline = join(" ", sort keys %deplines);
if ($depline) { if ($depline) {
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n"; $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
} }