build: remove obsolete "package feature" feature
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@universe-factory.net>
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
@@ -237,23 +233,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 ];
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user