From dbb77e39a07a86b18ecc4ce27bb2841e0a099c9d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 29 Jul 2014 13:30:12 +0000 Subject: [PATCH] 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 SVN-Revision: 41884 --- include/version.mk | 16 ++++++++++- package/base-files/Makefile | 3 +- package/base-files/files/etc/device_info | 3 ++ package/base-files/image-config.in | 36 ++++++++++++++++++++---- 4 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 package/base-files/files/etc/device_info diff --git a/include/version.mk b/include/version.mk index 575398bc20..a84065d1dd 100644 --- a/include/version.mk +++ b/include/version.mk @@ -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' diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 5faa439454..76a4dabe0e 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -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 diff --git a/package/base-files/files/etc/device_info b/package/base-files/files/etc/device_info new file mode 100644 index 0000000000..da2c4a3b9d --- /dev/null +++ b/package/base-files/files/etc/device_info @@ -0,0 +1,3 @@ +DEVICE_MANUFACTURER="%M" +DEVICE_PRODUCT="%P" +DEVICE_REVISION="%h" diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in index a9eb78c4f9..66134aad3c 100644 --- a/package/base-files/image-config.in +++ b/package/base-files/image-config.in @@ -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