add a packaging method that installs files into a subdirectory of bin/ instead of an ipkg

SVN-Revision: 9060
This commit is contained in:
Felix Fietkau 2007-09-29 01:21:56 +00:00
parent 03543ec4a4
commit 97b6135462
5 changed files with 42 additions and 1 deletions

31
include/package-bin.mk Normal file
View file

@ -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

View file

@ -28,6 +28,7 @@ ifneq ($(DUMP),)
echo "Category: $(CATEGORY)"; \ echo "Category: $(CATEGORY)"; \
echo "Title: $(TITLE)"; \ echo "Title: $(TITLE)"; \
echo "Maintainer: $(MAINTAINER)"; \ 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 $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \
echo -n "Description: "; \ echo -n "Description: "; \
getvar $(call shvar,Package/$(1)/description); \ getvar $(call shvar,Package/$(1)/description); \

View file

@ -25,6 +25,7 @@ include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/package-defaults.mk include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk include $(INCLUDE_DIR)/package-dumpinfo.mk
include $(INCLUDE_DIR)/package-ipkg.mk include $(INCLUDE_DIR)/package-ipkg.mk
include $(INCLUDE_DIR)/package-bin.mk
override MAKEFLAGS= override MAKEFLAGS=
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME) export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)

View file

@ -361,7 +361,7 @@ sub print_package_config_category($) {
print "\t"; print "\t";
$pkg->{menu} and print "menu"; $pkg->{menu} and print "menu";
print "config PACKAGE_".$pkg->{name}."\n"; 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"; print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n";
foreach my $default (split /\s*,\s*/, $pkg->{default}) { foreach my $default (split /\s*,\s*/, $pkg->{default}) {
print "\t\tdefault $default\n"; print "\t\tdefault $default\n";

View file

@ -63,6 +63,7 @@ sub parse_package_metadata($) {
$pkg->{depends} = []; $pkg->{depends} = [];
$pkg->{builddepends} = []; $pkg->{builddepends} = [];
$pkg->{subdir} = $subdir; $pkg->{subdir} = $subdir;
$pkg->{tristate} = 1;
$package{$1} = $pkg; $package{$1} = $pkg;
push @{$srcpackage{$src}}, $pkg; push @{$srcpackage{$src}}, $pkg;
}; };
@ -88,6 +89,13 @@ sub parse_package_metadata($) {
push @{$category{$1}->{$src}}, $pkg; push @{$category{$1}->{$src}}, $pkg;
}; };
/^Description: \s*(.*)\s*$/ and $pkg->{description} = "\t\t $1\n". get_multiline(*FILE, "\t\t "); /^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); /^Config: \s*(.*)\s*$/ and $pkg->{config} = "$1\n".get_multiline(*FILE);
/^Prereq-Check:/ and $pkg->{prereq} = 1; /^Prereq-Check:/ and $pkg->{prereq} = 1;
/^Preconfig:\s*(.+)\s*$/ and do { /^Preconfig:\s*(.+)\s*$/ and do {