From: Daniel Dickinson <lede@daniel.thecshore.com>
Date: Wed, 18 May 2016 13:07:30 +0000 (-0400)
Subject: base-files: Add standard os-release file
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f954f4337b85bd8d8ad6a589bc63edf48f777ee6;p=lede.git

base-files: Add standard os-release file

/etc/os-release is the standard distribution release information
file, therefore add it (and image configuration options for
fields not previously present in LEDE).  Once it is deemed
reasonable the non-standard openwrt_release, openwrt_version,
and device_info files could be removed (that is with this patch
we consider them deprecated in favour of the standard file).

Signed-off-by: Daniel Dickinson <lede@daniel.thecshore.com>
---

diff --git a/include/version.mk b/include/version.mk
index 88d6245fcd..b54eaab485 100644
--- a/include/version.mk
+++ b/include/version.mk
@@ -12,6 +12,7 @@
 RELEASE:=Reboot
 
 PKG_CONFIG_DEPENDS += \
+	CONFIG_VERSION_BUG_URL \
 	CONFIG_VERSION_NUMBER \
 	CONFIG_VERSION_NICK \
 	CONFIG_VERSION_REPO \
@@ -19,6 +20,7 @@ PKG_CONFIG_DEPENDS += \
 	CONFIG_VERSION_MANUFACTURER \
 	CONFIG_VERSION_MANUFACTURER_URL \
 	CONFIG_VERSION_PRODUCT \
+	CONFIG_VERSION_SUPPORT_URL \
 	CONFIG_VERSION_HWREV \
 
 qstrip_escape=$(subst ','\'',$(call qstrip,$(1)))
@@ -48,6 +50,12 @@ VERSION_MANUFACTURER:=$(if $(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),LEDE)
 VERSION_MANUFACTURER_URL:=$(call qstrip_escape,$(CONFIG_VERSION_MANUFACTURER_URL))
 VERSION_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURER_URL),http://www.lede-project.org/)
 
+VERSION_BUG_URL:=$(call qstrip_escape,$(CONFIG_VERSION_BUG_URL))
+VERSION_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL),https://www.lede-project.org/development.html)
+
+VERSION_SUPPORT_URL:=$(call qstrip_escape,$(CONFIG_VERSION_SUPPORT_URL))
+VERSION_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL),http://lists.infradead.org/mailman/listinfo/lede-dev)
+
 VERSION_PRODUCT:=$(call qstrip_escape,$(CONFIG_VERSION_PRODUCT))
 VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic)
 
@@ -94,6 +102,8 @@ VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \
 	-e 's,%t,$(VERSION_TAINTS),g' \
 	-e 's,%M,$(VERSION_MANUFACTURER),g' \
 	-e 's,%m,$(VERSION_MANUFACTURER_URL),g' \
+	-e 's,%b,$(VERSION_BUG_URL),g' \
+	-e 's,%s,$(VERSION_SUPPORT_URL),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 e51d65ac42..5cfb019080 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -138,11 +138,13 @@ define Package/base-files/install
 
 	$(VERSION_SED) \
 		$(1)/etc/banner \
-		$(1)/etc/openwrt_version
+		$(1)/etc/openwrt_version \
+		$(1)/usr/lib/os-release
 
 	$(VERSION_SED_SCRIPT) \
 		$(1)/etc/openwrt_release \
-		$(1)/etc/device_info
+		$(1)/etc/device_info \
+		$(1)/usr/lib/os-release
 
 	$(SED) "s#%PATH%#$(TARGET_INIT_PATH)#g" \
 		$(1)/sbin/hotplug-call \
diff --git a/package/base-files/files/etc/os-release b/package/base-files/files/etc/os-release
new file mode 120000
index 0000000000..c4c75b419c
--- /dev/null
+++ b/package/base-files/files/etc/os-release
@@ -0,0 +1 @@
+../usr/lib/os-release
\ No newline at end of file
diff --git a/package/base-files/files/usr/lib/os-release b/package/base-files/files/usr/lib/os-release
new file mode 100644
index 0000000000..6c829e0670
--- /dev/null
+++ b/package/base-files/files/usr/lib/os-release
@@ -0,0 +1,17 @@
+NAME="%D"
+VERSION="%V, %N"
+ID="%d"
+ID_LIKE="lede openwrt"
+PRETTY_NAME="%D %N %V"
+VERSION_ID="%v"
+HOME_URL="%m"
+BUG_URL="%b"
+SUPPORT_URL="%s"
+BUILD_ID="%R"
+LEDE_BOARD="%S"
+LEDE_TAINTS="%t"
+LEDE_DEVICE_MANUFACTURER="%M"
+LEDE_DEVICE_MANUFACTURER_URL="%m"
+LEDE_DEVICE_PRODUCT="%P"
+LEDE_DEVICE_REVISION="%h"
+LEDE_RELEASE="%C"
diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in
index ef1d76790a..43d3859301 100644
--- a/package/base-files/image-config.in
+++ b/package/base-files/image-config.in
@@ -148,10 +148,10 @@ menuconfig VERSIONOPT
 	default n
 	help
 		These options allow to override the version information embedded in
-		the /etc/openwrt_version, /etc/openwrt_release, /etc/banner and
-		/etc/opkg.conf files. Usually there is no need to set these, but
-		they're useful for release builds or custom OpenWrt redistributions
-		that should carry custom version tags.
+		the /etc/openwrt_version, /etc/openwrt_release, /etc/banner,
+		/etc/opkg.conf, and /etc/os-release files. Usually there is no need
+		to set these, but they're useful for release builds or custom OpenWrt
+		redistributions that should carry custom version tags.
 
 if VERSIONOPT
 
@@ -216,6 +216,18 @@ if VERSIONOPT
 			This is an URL to the manufacturer's website embedded in /etc/device_info
 			Useful for OEMs building OpenWrt based firmware
 
+	config VERSION_BUG_URL
+		string
+		prompt "Bug reporting URL"
+		help
+			This is an URL to provide users for providing bug reports
+
+	config VERSION_SUPPORT_URL
+		string
+		prompt "Support URL"
+		help
+			This an URL to provide users seeking support
+
 	config VERSION_PRODUCT
 		string
 		prompt "Product name"