From f64360c7ca8b09e73840b4e633531b372f02bdaf Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 13 Oct 2016 02:48:32 +0200 Subject: [PATCH] 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 --- scripts/package-metadata.pl | 4 ++-- 1 file 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]; } }