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>

Backport of r41884

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@41967 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
blogic 2014-08-03 11:15:37 +00:00
parent 17419452a6
commit 249b39bd20
4 changed files with 50 additions and 8 deletions

View File

@ -12,7 +12,10 @@ PKG_CONFIG_DEPENDS += \
CONFIG_VERSION_NUMBER \
CONFIG_VERSION_NICK \
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:=$(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:=$(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
$(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,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),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) \
$(1)/etc/banner \
$(1)/etc/openwrt_version \
$(1)/etc/openwrt_release
$(1)/etc/openwrt_release \
$(1)/etc/device_info
mkdir -p $(1)/CONTROL
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
that should carry custom version tags.
if VERSIONOPT
config VERSION_DIST
string
prompt "Release distribution" if VERSIONOPT
default "OpenWrt" if VERSIONOPT
prompt "Release distribution"
default "OpenWrt"
help
This is the name of the release distribution.
If unspecified, it defaults to OpenWrt.
config VERSION_NICK
string
prompt "Release version nickname" if VERSIONOPT
prompt "Release version nickname"
help
This is the release codename embedded in the image.
If unspecified, it defaults to the name of source branch.
config VERSION_NUMBER
string
prompt "Release version number" if VERSIONOPT
prompt "Release version number"
help
This is the release version number embedded in the image.
If unspecified, it defaults to the svn or git-svn revision
@ -167,8 +169,8 @@ menuconfig VERSIONOPT
config VERSION_REPO
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
This is the repository address embedded in the image, it defaults
to the trunk snapshot repo; the url may contain the following placeholders:
@ -184,6 +186,28 @@ menuconfig VERSIONOPT
%T .. Target 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
bool "Package signing options" if IMAGEOPT
default n