Move the revision info to the VERSION_CODE variable and default VERSION_NUMBER to the release branch version or to CURRENT for master branch builds.
Also introduce a new menuconfig option CONFIG_VERSION_CODE which allows users to override the revision value put into VERSION_CODE and adjust the template files used by the base-files package to accomodate for the changed semantics. After this commit, the relevent files will look like the examples given below: # cat /etc/openwrt_version r2398+1 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='CURRENT' DISTRIB_REVISION='r2398+1' DISTRIB_CODENAME='reboot' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Reboot CURRENT r2398+1' DISTRIB_TAINTS='no-all override # cat /usr/lib/os-release NAME="LEDE" VERSION="CURRENT, Reboot" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Reboot CURRENT" VERSION_ID="current" HOME_URL="http://www.lede-project.org/" BUG_URL="https://www.lede-project.org/development.html" SUPPORT_URL="http://lists.infradead.org/mailman/listinfo/lede-dev" BUILD_ID="r2398+1" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://www.lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Reboot CURRENT r2398+1" On a release branch, those files would look like: # cat /etc/openwrt_version r2399 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='16.12-CURRENT' DISTRIB_REVISION='r2399' DISTRIB_CODENAME='test_release' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Test Release 16.12-CURRENT r2399' DISTRIB_TAINTS='no-all override # cat /usr/lib/os-release NAME="LEDE" VERSION="16.12-CURRENT, Test Release" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Test Release 16.12-CURRENT" VERSION_ID="16.12-current" HOME_URL="http://www.lede-project.org/" BUG_URL="https://www.lede-project.org/development.html" SUPPORT_URL="http://lists.infradead.org/mailman/listinfo/lede-dev" BUILD_ID="r2399" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://www.lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Test Release 16.12-CURRENT r2399" On a release tag, those files would look like: # cat /etc/openwrt_version r2500 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='17.02.1' DISTRIB_REVISION='r2500' DISTRIB_CODENAME='mighty_unicorn' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Mighty Unicorn 17.02.1 r2500' DISTRIB_TAINTS='no-all override # cat /usr/lib/os-release NAME="LEDE" VERSION="17.02.1, Mighty Unicorn" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Mighty Unicorn 17.02.1" VERSION_ID="17.02.1" HOME_URL="http://www.lede-project.org/" BUG_URL="https://www.lede-project.org/development.html" SUPPORT_URL="http://lists.infradead.org/mailman/listinfo/lede-dev" BUILD_ID="r2500" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://www.lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Mighty Unicorn 17.02.1 r2500" Signed-off-by: Jo-Philipp Wich <j...@mein.io> --- include/version.mk | 7 ++++--- package/base-files/files/etc/banner | 2 +- package/base-files/files/etc/openwrt_release | 4 ++-- package/base-files/files/etc/openwrt_version | 2 +- package/base-files/files/usr/lib/os-release | 2 +- package/base-files/image-config.in | 8 ++++++++ 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/include/version.mk b/include/version.mk index 4beaca6..c5ada64 100644 --- a/include/version.mk +++ b/include/version.mk @@ -15,6 +15,7 @@ RELEASE:=Reboot PKG_CONFIG_DEPENDS += \ CONFIG_VERSION_BUG_URL \ CONFIG_VERSION_NUMBER \ + CONFIG_VERSION_CODE \ CONFIG_VERSION_NICK \ CONFIG_VERSION_REPO \ CONFIG_VERSION_DIST \ @@ -30,10 +31,10 @@ qstrip_escape=$(subst ','\'',$(call qstrip,$(1))) sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1)))) VERSION_NUMBER:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER)) -VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),$(REVISION)) +VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),CURRENT) -VERSION_CODE:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER)) -VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),HEAD) +VERSION_CODE:=$(call qstrip_escape,$(CONFIG_VERSION_CODE)) +VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION)) VERSION_NICK:=$(call qstrip_escape,$(CONFIG_VERSION_NICK)) VERSION_NICK:=$(if $(VERSION_NICK),$(VERSION_NICK),$(RELEASE)) diff --git a/package/base-files/files/etc/banner b/package/base-files/files/etc/banner index 66dc14b..4ec646a 100644 --- a/package/base-files/files/etc/banner +++ b/package/base-files/files/etc/banner @@ -5,6 +5,6 @@ /________/ LE \ |____|___|___/|___| lede-project.org \ \ DE / \ LE \ / ----------------------------------------------------------- - \ DE \ / %N (%C, %R) + \ DE \ / %N (%V, %C) \________\/ ----------------------------------------------------------- diff --git a/package/base-files/files/etc/openwrt_release b/package/base-files/files/etc/openwrt_release index 9b2a40c..46ad632 100644 --- a/package/base-files/files/etc/openwrt_release +++ b/package/base-files/files/etc/openwrt_release @@ -1,7 +1,7 @@ DISTRIB_ID='%D' -DISTRIB_RELEASE='%C' +DISTRIB_RELEASE='%V' DISTRIB_REVISION='%R' DISTRIB_CODENAME='%n' DISTRIB_TARGET='%S' -DISTRIB_DESCRIPTION='%D %N %V' +DISTRIB_DESCRIPTION='%D %N %V %C' DISTRIB_TAINTS='%t' diff --git a/package/base-files/files/etc/openwrt_version b/package/base-files/files/etc/openwrt_version index 4b14f59..48157ed 100644 --- a/package/base-files/files/etc/openwrt_version +++ b/package/base-files/files/etc/openwrt_version @@ -1 +1 @@ -%V +%C diff --git a/package/base-files/files/usr/lib/os-release b/package/base-files/files/usr/lib/os-release index 6c829e0..79b08d1 100644 --- a/package/base-files/files/usr/lib/os-release +++ b/package/base-files/files/usr/lib/os-release @@ -14,4 +14,4 @@ LEDE_DEVICE_MANUFACTURER="%M" LEDE_DEVICE_MANUFACTURER_URL="%m" LEDE_DEVICE_PRODUCT="%P" LEDE_DEVICE_REVISION="%h" -LEDE_RELEASE="%C" +LEDE_RELEASE="%D %N %V %C" diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in index 43d3859..21a1245 100644 --- a/package/base-files/image-config.in +++ b/package/base-files/image-config.in @@ -175,6 +175,14 @@ if VERSIONOPT prompt "Release version number" help This is the release version number embedded in the image. + If unspecified, it defaults to HEAD for the master branch + or to the base version on release branches. + + config VERSION_CODE + string + prompt "Release version code" + help + This is the release version code embedded in the image. If unspecified, it defaults to the svn or git-svn revision of the build tree. -- 2.9.3 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev