[source] build: adjust version number handling

LEDE Commits lede-commits at lists.infradead.org
Fri Dec 2 07:04:21 PST 2016


jow pushed a commit to source.git, branch master:
https://git.lede-project.org/5f3c96c28503b8a0aad1514ef144b15e670d338b

commit 5f3c96c28503b8a0aad1514ef144b15e670d338b
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Thu Dec 1 17:40:43 2016 +0100

    build: adjust version number handling
    
    Move the revision info to the VERSION_CODE variable and default VERSION_NUMBER
    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.
    
    While we're at it, also adjust the various URLs to match the current web site.
    
    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://lede-project.org/"
        BUG_URL="http://bugs.lede-project.org/"
        SUPPORT_URL="http://forum.lede-project.org/"
        BUILD_ID="r2398+1"
        LEDE_BOARD="x86/64"
        LEDE_TAINTS="no-all override"
        LEDE_DEVICE_MANUFACTURER="LEDE"
        LEDE_DEVICE_MANUFACTURER_URL="http://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://lede-project.org/"
        BUG_URL="http://bugs.lede-project.org/"
        SUPPORT_URL="http://forum.lede-project.org/"
        BUILD_ID="r2399"
        LEDE_BOARD="x86/64"
        LEDE_TAINTS="no-all override"
        LEDE_DEVICE_MANUFACTURER="LEDE"
        LEDE_DEVICE_MANUFACTURER_URL="http://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://lede-project.org/"
        BUG_URL="http://bugs.lede-project.org/"
        SUPPORT_URL="http://forum.lede-project.org/"
        BUILD_ID="r2500"
        LEDE_BOARD="x86/64"
        LEDE_TAINTS="no-all override"
        LEDE_DEVICE_MANUFACTURER="LEDE"
        LEDE_DEVICE_MANUFACTURER_URL="http://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 <jo at mein.io>
    Acked-by: Felix Fietkau <nbd at nbd.name>
---
 include/version.mk                           | 13 +++++++------
 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           | 23 ++++++++++++++++-------
 6 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/include/version.mk b/include/version.mk
index 4beaca6..a21bf25 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))
@@ -49,13 +50,13 @@ VERSION_MANUFACTURER:=$(call qstrip_escape,$(CONFIG_VERSION_MANUFACTURER))
 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_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURER_URL),http://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_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL),http://bugs.lede-project.org/)
 
 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_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL),http://forum.lede-project.org/)
 
 VERSION_PRODUCT:=$(call qstrip_escape,$(CONFIG_VERSION_PRODUCT))
 VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic)
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..4610c2b 100644
--- a/package/base-files/image-config.in
+++ b/package/base-files/image-config.in
@@ -175,8 +175,17 @@ 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
-			of the build tree.
+			If unspecified, it defaults to CURRENT for the master branch
+			or to ##.##-CURRENT 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 a revision number describing the
+			repository version of the source, e.g. the number of commits
+			since a branch point or a short Git commit ID.
 
 	config VERSION_REPO
 		string
@@ -185,11 +194,11 @@ if VERSIONOPT
 		help
 			This is the repository address embedded in the image, it defaults
 			to the trunk snapshot repo; the url may contain the following placeholders:
-			 %R .. Revision number
-			 %V .. Release version or revision number, uppercase
-			 %v .. Release version or revision number, lowercase
-			 %C .. Release version or "HEAD", uppercase
-			 %c .. Release version or "head", lowercase
+			 %R .. Repository revision ID
+			 %V .. Configured release version number or "CURRENT", uppercase
+			 %v .. Configured release version number or "current", lowercase
+			 %C .. Configured release revision code or value of %R, uppercase
+			 %c .. Configured release revision code or value of %R, lowercase
 			 %N .. Release name, uppercase
 			 %n .. Release name, lowercase
 			 %D .. Distribution name or "Lede", uppercase



More information about the lede-commits mailing list