base-files: add extra version configuration options for OEM manufacturer info
authorFelix Fietkau <nbd@openwrt.org>
Tue, 29 Jul 2014 13:30:12 +0000 (13:30 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 29 Jul 2014 13:30:12 +0000 (13:30 +0000)
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

include/version.mk
package/base-files/Makefile
package/base-files/files/etc/device_info [new file with mode: 0644]
package/base-files/image-config.in

index 575398b..a84065d 100644 (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'
index 5faa439..76a4dab 100644 (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
diff --git a/package/base-files/files/etc/device_info b/package/base-files/files/etc/device_info
new file mode 100644 (file)
index 0000000..da2c4a3
--- /dev/null
@@ -0,0 +1,3 @@
+DEVICE_MANUFACTURER="%M"
+DEVICE_PRODUCT="%P"
+DEVICE_REVISION="%h"
index a9eb78c..66134aa 100644 (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