summaryrefslogtreecommitdiffstats
path: root/support/scripts/gen-manual-lists.py
diff options
context:
space:
mode:
Diffstat (limited to 'support/scripts/gen-manual-lists.py')
-rw-r--r--support/scripts/gen-manual-lists.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/support/scripts/gen-manual-lists.py b/support/scripts/gen-manual-lists.py
index e234ef1106..a3b5aea8c0 100644
--- a/support/scripts/gen-manual-lists.py
+++ b/support/scripts/gen-manual-lists.py
@@ -279,13 +279,30 @@ class Buildroot:
pkg_list.append(re.sub(r"(.*?)\.mk", r"\1", file_))
setattr(self, "_package_list", pkg_list)
for pkg in getattr(self, "_package_list"):
- if pattern.match(pkg):
- return True
+ if type == 'real':
+ if pattern.match(pkg) and not self._exists_virt_symbol(pkg):
+ return True
return False
def _is_real_package(self, symbol):
return self._is_package(symbol, 'real')
+ def _exists_virt_symbol(self, pkg_name):
+ """ Return True if a symbol exists that defines the package as
+ a virtual package, False otherwise
+
+ :param pkg_name: The name of the package, for which to check if
+ a symbol exists defining it as a virtual package
+
+ """
+ virt_pattern = "BR2_PACKAGE_HAS_" + pkg_name + "$"
+ virt_pattern = re.sub("_", ".", virt_pattern)
+ virt_pattern = re.compile(virt_pattern, re.IGNORECASE)
+ for sym in self.config:
+ if virt_pattern.match(sym.get_name()):
+ return True
+ return False
+
def _get_pkg_name(self, symbol):
""" Return the package name of the specified symbol.
OpenPOWER on IntegriCloud