[OpenWrt-Devel] [PATCH 14/15] build: remove obsolete "package feature" feature

Matthias Schiffer mschiffer at universe-factory.net
Mon Jan 8 09:52:27 EST 2018


Package "features" seem to be unused for some time. In any case, custom
Config.in snippets and package PROVIDES are a much more flexible way to
express similar options.

Signed-off-by: Matthias Schiffer <mschiffer at universe-factory.net>
---
 include/package-dumpinfo.mk | 25 -------------------------
 scripts/metadata.pm         | 23 +----------------------
 scripts/package-metadata.pl | 26 --------------------------
 3 files changed, 1 insertion(+), 73 deletions(-)

diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk
index 7cc8f3f6dc..68a66d0769 100644
--- a/include/package-dumpinfo.mk
+++ b/include/package-dumpinfo.mk
@@ -49,29 +49,4 @@ $(Package/$(1)/config)
 ))
 endef
 
-define Feature/Default
-  TARGET_NAME:=
-  TARGET_TITLE:=
-  PRIORITY:=
-  NAME:=
-endef
-
-define Feature
-  $(eval $(Feature/Default))
-  $(eval $(Feature/$(1)))
-  $(if $(DUMP),$(call Dumpinfo/Feature,$(1)))
-endef
-
-define Dumpinfo/Feature
-$(info Feature: $(TARGET_NAME)_$(1)
-Target-Name: $(TARGET_NAME)
-Target-Title: $(TARGET_TITLE)
-Feature-Name: $(NAME)
-$(if $(PRIORITY),Feature-Priority: $(PRIORITY)
-)Feature-Description:
-$(Feature/$(1)/description)
-@@
-)
-endef
-
 endif
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index bf93271749..18d5e5da24 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -2,13 +2,12 @@ package metadata;
 use base 'Exporter';
 use strict;
 use warnings;
-our @EXPORT = qw(%package %vpackage %srcpackage %category %features %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames);
+our @EXPORT = qw(%package %vpackage %srcpackage %category %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames);
 
 our %package;
 our %vpackage;
 our %srcpackage;
 our %category;
-our %features;
 our %overrides;
 our @ignore;
 
@@ -181,7 +180,6 @@ sub clear_packages() {
 	%vpackage = ();
 	%srcpackage = ();
 	%category = ();
-	%features = ();
 	%overrides = ();
 	%usernames = ();
 	%groupnames = ();
@@ -190,7 +188,6 @@ sub clear_packages() {
 sub parse_package_metadata($) {
 	my $file = shift;
 	my $pkg;
-	my $feature;
 	my $src;
 	my $override;
 	my %ignore = map { $_ => 1 } @ignore;
@@ -221,7 +218,6 @@ sub parse_package_metadata($) {
 		};
 		next unless $src;
 		/^Package:\s*(.+?)\s*$/ and do {
-			undef $feature;
 			$pkg = {};
 			$pkg->{src} = $src;
 			$pkg->{name} = $1;
@@ -236,23 +232,6 @@ sub parse_package_metadata($) {
 			$vpackage{$1} or $vpackage{$1} = [];
 			unshift @{$vpackage{$1}}, $pkg;
 		};
-		/^Feature:\s*(.+?)\s*$/ and do {
-			undef $pkg;
-			$feature = {};
-			$feature->{name} = $1;
-			$feature->{priority} = 0;
-		};
-		$feature and do {
-			/^Target-Name:\s*(.+?)\s*$/ and do {
-				$features{$1} or $features{$1} = [];
-				push @{$features{$1}}, $feature unless $src->{ignore};
-			};
-			/^Target-Title:\s*(.+?)\s*$/ and $feature->{target_title} = $1;
-			/^Feature-Priority:\s*(\d+)\s*$/ and $feature->{priority} = $1;
-			/^Feature-Name:\s*(.+?)\s*$/ and $feature->{title} = $1;
-			/^Feature-Description:/ and $feature->{description} = get_multiline(\*FILE, "\t\t\t");
-			next;
-		};
 		/^Build-Depends: \s*(.+)\s*$/ and $src->{builddepends} = [ split /\s+/, $1 ];
 		/^Build-Depends\/(\w+): \s*(.+)\s*$/ and $src->{"builddepends/$1"} = [ split /\s+/, $2 ];
 		/^Build-Types:\s*(.+)\s*$/ and $src->{buildtypes} = [ split /\s+/, $1 ];
diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index 41e7108322..e601a77e1b 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -337,31 +337,6 @@ sub print_package_config_category($) {
 	undef $category{$cat};
 }
 
-sub print_package_features() {
-	keys %features > 0 or return;
-	print "menu \"Package features\"\n";
-	foreach my $n (keys %features) {
-		my @features = sort { $b->{priority} <=> $a->{priority} or $a->{title} cmp $b->{title} } @{$features{$n}};
-		print <<EOF;
-choice
-	prompt "$features[0]->{target_title}"
-	default FEATURE_$features[0]->{name}
-EOF
-
-		foreach my $feature (@features) {
-			print <<EOF;
-	config FEATURE_$feature->{name}
-		bool "$feature->{title}"
-EOF
-			$feature->{description} =~ /\w/ and do {
-				print "\t\thelp\n".$feature->{description}."\n";
-			};
-		}
-		print "endchoice\n"
-	}
-	print "endmenu\n\n";
-}
-
 sub print_package_overrides() {
 	keys %overrides > 0 or return;
 	print "\tconfig OVERRIDE_PKGS\n";
@@ -376,7 +351,6 @@ sub gen_package_config() {
 	if (scalar glob "package/feeds/*/*/image-config.in") {
 	    print "source \"package/feeds/*/*/image-config.in\"\n";
 	}
-	print_package_features();
 	print_package_config_category 'Base system';
 	foreach my $cat (sort {uc($a) cmp uc($b)} keys %category) {
 		print_package_config_category $cat;
-- 
2.15.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list