From bcf4757508f03f7b3e0c5b3b2d15627dbacbd4bd Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 2 Jul 2011 06:49:09 +0000
Subject: [PATCH] add support for hidden packages that get selected/built but
 do not show up in menuconfig

SVN-Revision: 27344
---
 include/package-defaults.mk | 1 +
 include/package-dumpinfo.mk | 1 +
 scripts/metadata.pl         | 4 +++-
 scripts/metadata.pm         | 1 +
 4 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index 1695204b36a..491e401f8c6 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -42,6 +42,7 @@ define Package/Default
   TITLE:=
   KCONFIG:=
   BUILDONLY:=
+  HIDDEN:=
   URL:=
   VARIANT:=
 endef
diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk
index 3f7a83a9790..a297f2336ea 100644
--- a/include/package-dumpinfo.mk
+++ b/include/package-dumpinfo.mk
@@ -45,6 +45,7 @@ Source: $(PKG_SOURCE)
 Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
 $(if $(KCONFIG),Kernel-Config: $(KCONFIG)
 )$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
+)$(if $(HIDDEN),Hidden: $(HIDDEN)
 )Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE))
 $(if $(URL),$(URL)
 )$(MAINTAINER)
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 246520bf789..3acdb16a82f 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -525,10 +525,12 @@ sub print_package_config_category($) {
 			if ($c > 0) {
 				$title .= ("." x $c). " ". $pkg->{title};
 			}
+			$title = "\"$title\"";
 			print "\t";
 			$pkg->{menu} and print "menu";
 			print "config PACKAGE_".$pkg->{name}."\n";
-			print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." \"$title\"\n";
+			$pkg->{hidden} and $title = "";
+			print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n";
 			print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n";
 			foreach my $default (split /\s*,\s*/, $pkg->{default}) {
 				print "\t\tdefault $default\n";
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 6d544c8833c..5efef46924f 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -114,6 +114,7 @@ sub parse_package_metadata($) {
 		};
 		/^Menu-Depends: \s*(.+)\s*$/ and $pkg->{mdepends} = [ split /\s+/, $1 ];
 		/^Depends: \s*(.+)\s*$/ and $pkg->{depends} = [ split /\s+/, $1 ];
+		/^Hidden: \s*(.+)\s*$/ and $pkg->{hidden} = 1;
 		/^Build-Variant: \s*([\w\-]+)\s*/ and $pkg->{variant} = $1;
 		/^Build-Only: \s*(.+)\s*$/ and $pkg->{buildonly} = 1;
 		/^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ];
-- 
GitLab