瀏覽代碼

base-files: add extra version configuration options for OEM manufacturer info

Creates /etc/device_info which will be used to fill in information for
WPS and other protocols that need manufacturer/device information

This helps with creating OpenWrt firmware for OEM or rebranded devices.

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 41884
Felix Fietkau 11 年之前
父節點
當前提交
dbb77e39a0
共有 4 個文件被更改,包括 50 次插入8 次删除
  1. 15 1
      include/version.mk
  2. 2 1
      package/base-files/Makefile
  3. 3 0
      package/base-files/files/etc/device_info
  4. 30 6
      package/base-files/image-config.in

+ 15 - 1
include/version.mk

@@ -12,7 +12,10 @@ PKG_CONFIG_DEPENDS += \
 	CONFIG_VERSION_NUMBER \
 	CONFIG_VERSION_NUMBER \
 	CONFIG_VERSION_NICK \
 	CONFIG_VERSION_NICK \
 	CONFIG_VERSION_REPO \
 	CONFIG_VERSION_REPO \
-	CONFIG_VERSION_DIST
+	CONFIG_VERSION_DIST \
+	CONFIG_VERSION_MANUFACTURER \
+	CONFIG_VERSION_PRODUCT \
+	CONFIG_VERSION_HWREV \
 
 
 VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
 VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
 VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),$(REVISION))
 VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),$(REVISION))
@@ -29,6 +32,14 @@ VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/
 VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
 VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
 VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
 VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
 
 
+VERSION_MANUFACTURER:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER))
+VERSION_MANUFACTURER:=$(if $(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),OpenWrt)
+
+VERSION_PRODUCT:=$(call qstrip,$(CONFIG_VERSION_PRODUCT))
+VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic)
+
+VERSION_HWREV:=$(call qstrip,$(CONFIG_VERSION_HWREV))
+VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),v0)
 
 
 define taint2sym
 define taint2sym
 $(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1))))))
 $(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1))))))
@@ -66,3 +77,6 @@ VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \
 	-e 's,%T,$(BOARD),g' \
 	-e 's,%T,$(BOARD),g' \
 	-e 's,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),g' \
 	-e 's,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),g' \
 	-e 's,%t,$(VERSION_TAINTS),g' \
 	-e 's,%t,$(VERSION_TAINTS),g' \
+	-e 's,%M,$(VERSION_MANUFACTURER),g' \
+	-e 's,%P,$(VERSION_PRODUCT),g' \
+	-e 's,%h,$(VERSION_HWREV),g'

+ 2 - 1
package/base-files/Makefile

@@ -111,7 +111,8 @@ define Package/base-files/install
 	$(VERSION_SED) \
 	$(VERSION_SED) \
 		$(1)/etc/banner \
 		$(1)/etc/banner \
 		$(1)/etc/openwrt_version \
 		$(1)/etc/openwrt_version \
-		$(1)/etc/openwrt_release
+		$(1)/etc/openwrt_release \
+		$(1)/etc/device_info
 
 
 	mkdir -p $(1)/CONTROL
 	mkdir -p $(1)/CONTROL
 	mkdir -p $(1)/dev
 	mkdir -p $(1)/dev

+ 3 - 0
package/base-files/files/etc/device_info

@@ -0,0 +1,3 @@
+DEVICE_MANUFACTURER="%M"
+DEVICE_PRODUCT="%P"
+DEVICE_REVISION="%h"

+ 30 - 6
package/base-files/image-config.in

@@ -142,24 +142,26 @@ menuconfig VERSIONOPT
 		they're useful for release builds or custom OpenWrt redistributions
 		they're useful for release builds or custom OpenWrt redistributions
 		that should carry custom version tags.
 		that should carry custom version tags.
 
 
+if VERSIONOPT
+
 	config VERSION_DIST
 	config VERSION_DIST
 		string
 		string
-		prompt "Release distribution" if VERSIONOPT
-		default "OpenWrt" if VERSIONOPT
+		prompt "Release distribution"
+		default "OpenWrt"
 		help
 		help
 			This is the name of the release distribution.
 			This is the name of the release distribution.
 			If unspecified, it defaults to OpenWrt.
 			If unspecified, it defaults to OpenWrt.
 
 
 	config VERSION_NICK
 	config VERSION_NICK
 		string
 		string
-		prompt "Release version nickname" if VERSIONOPT
+		prompt "Release version nickname"
 		help
 		help
 			This is the release codename embedded in the image.
 			This is the release codename embedded in the image.
 			If unspecified, it defaults to the name of source branch.
 			If unspecified, it defaults to the name of source branch.
 
 
 	config VERSION_NUMBER
 	config VERSION_NUMBER
 		string
 		string
-		prompt "Release version number" if VERSIONOPT
+		prompt "Release version number"
 		help
 		help
 			This is the release version number embedded in the image.
 			This is the release version number embedded in the image.
 			If unspecified, it defaults to the svn or git-svn revision
 			If unspecified, it defaults to the svn or git-svn revision
@@ -167,8 +169,8 @@ menuconfig VERSIONOPT
 
 
 	config VERSION_REPO
 	config VERSION_REPO
 		string
 		string
-		prompt "Release repository" if VERSIONOPT
-		default "http://downloads.openwrt.org/snapshots/trunk/%T/packages" if VERSIONOPT
+		prompt "Release repository"
+		default "http://downloads.openwrt.org/snapshots/trunk/%T/packages"
 		help
 		help
 			This is the repository address embedded in the image, it defaults
 			This is the repository address embedded in the image, it defaults
 			to the trunk snapshot repo; the url may contain the following placeholders:
 			to the trunk snapshot repo; the url may contain the following placeholders:
@@ -184,6 +186,28 @@ menuconfig VERSIONOPT
 			 %T .. Target name
 			 %T .. Target name
 			 %S .. Target/Subtarget name
 			 %S .. Target/Subtarget name
 
 
+	config VERSION_MANUFACTURER
+		string
+		prompt "Manufacturer name"
+		help
+			This is the manufacturer name embedded in /etc/device_info
+			Useful for OEMs building OpenWrt based firmware
+
+	config VERSION_PRODUCT
+		string
+		prompt "Product name"
+		help
+			This is the product name embedded in /etc/device_info
+			Useful for OEMs building OpenWrt based firmware
+
+	config VERSION_HWREV
+		string
+		prompt "Hardware revision"
+		help
+			This is the hardware revision string embedded in /etc/device_info
+			Useful for OEMs building OpenWrt based firmware
+endif
+
 menuconfig SMIMEOPT
 menuconfig SMIMEOPT
 	bool "Package signing options" if IMAGEOPT
 	bool "Package signing options" if IMAGEOPT
         default n
         default n