From 7502d4bd61ff9a45948505ea56b4a57c7099721c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 13 Jan 2009 02:02:56 +0000 Subject: [PATCH] add support for build-only packages which do not appear in menuconfig SVN-Revision: 14009 --- include/package-defaults.mk | 1 + include/package-dumpinfo.mk | 1 + scripts/metadata.pl | 3 +++ scripts/metadata.pm | 1 + 4 files changed, 6 insertions(+) diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 99371a2241..e0cb6e8995 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -31,6 +31,7 @@ define Package/Default SUBMENUDEP:= TITLE:= KCONFIG:= + BUILDONLY:= endef Build/Patch:=$(Build/Patch/Default) diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk index e29e113241..6f1624aeb1 100644 --- a/include/package-dumpinfo.mk +++ b/include/package-dumpinfo.mk @@ -30,6 +30,7 @@ ifneq ($(DUMP),) echo "Maintainer: $(MAINTAINER)"; \ echo "Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))"; \ $(if $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \ + $(if $(BUILDONLY),echo "Build-Only: $(BUILDONLY)";) \ echo -n "Description: "; \ getvar $(call shvar,Package/$(1)/description); \ $(if $(URL),echo;echo "$(URL)";) \ diff --git a/scripts/metadata.pl b/scripts/metadata.pl index f000e9db9a..da29fdd895 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -398,6 +398,7 @@ sub mconf_depends { $depend = $2; } next if $seen->{$depend}; + next if $package{$depend} and $package{$depend}->{buildonly}; $seen->{$depend} = 1; if ($vdep = $package{$depend}->{vdepends}) { $depend = join("||", map { "PACKAGE_".$_ } @$vdep); @@ -442,6 +443,7 @@ sub print_package_config_category($) { foreach my $spkg (sort {uc($a) cmp uc($b)} keys %spkg) { foreach my $pkg (@{$spkg{$spkg}}) { + next if $pkg->{buildonly}; my $menu = $pkg->{submenu}; if ($menu) { $menu_dep{$menu} or $menu_dep{$menu} = $pkg->{submenudep}; @@ -543,6 +545,7 @@ sub gen_package_mk() { $config = "\$(CONFIG_PACKAGE_$name)" } if ($config) { + $pkg->{buildonly} and $config = ""; print "package-$config += $pkg->{subdir}$pkg->{src}\n"; $pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n"; } diff --git a/scripts/metadata.pm b/scripts/metadata.pm index a527d68f8f..9486c66cb3 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -88,6 +88,7 @@ sub parse_package_metadata($) { } }; /^Depends: \s*(.+)\s*$/ and $pkg->{depends} = [ split /\s+/, $1 ]; + /^Build-Only: \s*(.+)\s*$/ and $pkg->{buildonly} = 1; /^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ]; /^Category: \s*(.+)\s*$/ and do { $pkg->{category} = $1;