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 <nbd@openwrt.org>

SVN-Revision: 41884
This commit is contained in:
Felix Fietkau 2014-07-29 13:30:12 +00:00
parent 8d3f839da7
commit dbb77e39a0
4 changed files with 50 additions and 8 deletions

View File

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

View File

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

View File

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

View File

@ -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 prompt "Release distribution"
default "OpenWrt" if VERSIONOPT 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 prompt "Release repository"
default "http://downloads.openwrt.org/snapshots/trunk/%T/packages" if VERSIONOPT 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