[source] scripts/package-metadata.pl: fix handling of virtual (PROVIDES) depends

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 1 17:01:43 PDT 2016


jow pushed a commit to source.git, branch master:
https://git.lede-project.org/f64360c7ca8b09e73840b4e633531b372f02bdaf

commit f64360c7ca8b09e73840b4e633531b372f02bdaf
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Thu Oct 13 02:48:32 2016 +0200

    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 at mein.io>
---
 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 f5d28e4..1a4f103 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];
 				}
 			}
 



More information about the lede-commits mailing list