add a packaging method that installs files into a subdirectory of bin/ instead of an ipkg
SVN-Revision: 9060
This commit is contained in:
		
							
								
								
									
										31
									
								
								include/package-bin.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								include/package-bin.mk
									
									
									
									
									
										Normal 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 | ||||||
| @@ -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); \ | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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"; | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau