aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2016-10-13 02:48:32 +0200
committerJo-Philipp Wich <jo@mein.io>2016-11-02 01:01:34 +0100
commitf64360c7ca8b09e73840b4e633531b372f02bdaf (patch)
treef27e1be166c8f1412deaa2a34d985e6851d22c87
parentb7f7e9fe424bc80bf89d3ebb18adcac412e4047f (diff)
downloadupstream-f64360c7ca8b09e73840b4e633531b372f02bdaf.tar.gz
upstream-f64360c7ca8b09e73840b4e633531b372f02bdaf.tar.bz2
upstream-f64360c7ca8b09e73840b4e633531b372f02bdaf.zip
scripts/package-metadata.pl: fix handling of virtual (PROVIDES) depends
Currently the code emitting dependencies for provide candidates is overwriting the specification calculated by the previous conditional dependency handling code, rendering dependencies on virtual PROVIDES packages in conjunction with conditional dependencies unusable. Instead of overwriting, append the PROVIDES dependency spec in order to fix using DEPENDS on virtual provider packages in conjunction with conditions. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rwxr-xr-xscripts/package-metadata.pl4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index f5d28e41a3..1a4f103810 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -179,9 +179,9 @@ sub mconf_depends {
my @vdeps = @$vdep;
$depend = shift @vdeps;
if (@vdeps > 1) {
- $condition = '!('.join("||", map { "PACKAGE_".$_ } @vdeps).')';
+ $condition = ($condition ? "$condition && " : '') . '!('.join("||", map { "PACKAGE_".$_ } @vdeps).')';
} elsif (@vdeps > 0) {
- $condition = '!PACKAGE_'.$vdeps[0];
+ $condition = ($condition ? "$condition && " : '') . '!PACKAGE_'.$vdeps[0];
}
}