diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-09-29 01:21:56 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-09-29 01:21:56 +0000 |
commit | dda0649ef37ceb08df09c0dbc15f27cbdc8285d5 (patch) | |
tree | f98e2082480fdb704253335dac8fd6d0b7376559 | |
parent | b15366186d330d7581ececb5401693674d4ec5e6 (diff) |
add a packaging method that installs files into a subdirectory of bin/ instead of an ipkg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9060 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | include/package-bin.mk | 31 | ||||
-rw-r--r-- | include/package-dumpinfo.mk | 1 | ||||
-rw-r--r-- | include/package.mk | 1 | ||||
-rwxr-xr-x | scripts/metadata.pl | 2 | ||||
-rw-r--r-- | scripts/metadata.pm | 8 |
5 files changed, 42 insertions, 1 deletions
diff --git a/include/package-bin.mk b/include/package-bin.mk new file mode 100644 index 0000000000..6ee7aed621 --- /dev/null +++ b/include/package-bin.mk @@ -0,0 +1,31 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(DUMP),) + define BuildTarget/bin + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),) + compile: install-bin-$(1) + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: skipping $(1) -- package not selected" + endif + endif + + install-bin-$(1): $(STAMP_BUILT) + rm -rf $(BIN_DIR)/$(1) + $(INSTALL_DIR) $(BIN_DIR)/$(1) + $(call Package/$(1)/install,$(BIN_DIR)/$(1)) + + clean-$(1): + rm -rf $(BIN_DIR)/$(1) + + clean: clean-$(1) + .PHONY: install-bin-$(1) + endef +endif diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk index bc075e1bc0..e29e113241 100644 --- a/include/package-dumpinfo.mk +++ b/include/package-dumpinfo.mk @@ -28,6 +28,7 @@ ifneq ($(DUMP),) echo "Category: $(CATEGORY)"; \ echo "Title: $(TITLE)"; \ echo "Maintainer: $(MAINTAINER)"; \ + echo "Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))"; \ $(if $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \ echo -n "Description: "; \ getvar $(call shvar,Package/$(1)/description); \ diff --git a/include/package.mk b/include/package.mk index bf82c60458..9f45a441aa 100644 --- a/include/package.mk +++ b/include/package.mk @@ -25,6 +25,7 @@ include $(INCLUDE_DIR)/quilt.mk include $(INCLUDE_DIR)/package-defaults.mk include $(INCLUDE_DIR)/package-dumpinfo.mk include $(INCLUDE_DIR)/package-ipkg.mk +include $(INCLUDE_DIR)/package-bin.mk override MAKEFLAGS= export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME) diff --git a/scripts/metadata.pl b/scripts/metadata.pl index f3d6e9df2c..aa5df6fb9d 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -361,7 +361,7 @@ sub print_package_config_category($) { print "\t"; $pkg->{menu} and print "menu"; print "config PACKAGE_".$pkg->{name}."\n"; - print "\t\ttristate \"$title\"\n"; + 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 f90446298a..ff39e346ea 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -63,6 +63,7 @@ sub parse_package_metadata($) { $pkg->{depends} = []; $pkg->{builddepends} = []; $pkg->{subdir} = $subdir; + $pkg->{tristate} = 1; $package{$1} = $pkg; push @{$srcpackage{$src}}, $pkg; }; @@ -88,6 +89,13 @@ sub parse_package_metadata($) { push @{$category{$1}->{$src}}, $pkg; }; /^Description: \s*(.*)\s*$/ and $pkg->{description} = "\t\t $1\n". get_multiline(*FILE, "\t\t "); + /^Type: \s*(.+)\s*$/ and do { + $pkg->{type} = [ split /\s+/, $1 ]; + undef $pkg->{tristate}; + foreach my $type (@{$pkg->{type}}) { + $type =~ /ipkg/ and $pkg->{tristate} = 1; + } + }; /^Config: \s*(.*)\s*$/ and $pkg->{config} = "$1\n".get_multiline(*FILE); /^Prereq-Check:/ and $pkg->{prereq} = 1; /^Preconfig:\s*(.+)\s*$/ and do { |