[dpdk-dev] [PATCH 2/3] version: adjust printing for new version scheme

Bruce Richardson bruce.richardson at intel.com
Mon Dec 21 14:26:23 CET 2015


Since we are now using a year-month numbering scheme, adjust
the printing of the version to always use 2-digits for YY.MM
format.
Also omit the patch version unless there is a patch version present,
since patches for releases are rare on DPDK. This means that the
final release of 16.04 will report as 16.04, rather than 16.04.0.
Release candidates for it will similarly report as 16.04-rcX.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 lib/librte_eal/common/include/rte_version.h | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_version.h b/lib/librte_eal/common/include/rte_version.h
index f1c7b98..7feea73 100644
--- a/lib/librte_eal/common/include/rte_version.h
+++ b/lib/librte_eal/common/include/rte_version.h
@@ -55,12 +55,12 @@ extern "C" {
 /**
  * Major version number i.e. the x in x.y.z
  */
-#define RTE_VER_MAJOR 16
+#define RTE_REL_YEAR 16
 
 /**
  * Minor version number i.e. the y in x.y.z
  */
-#define RTE_VER_MINOR 4
+#define RTE_REL_MONTH 4
 
 /**
  * Patch level number i.e. the z in x.y.z
@@ -88,8 +88,8 @@ extern "C" {
  * All version numbers in one to compare with RTE_VERSION_NUM()
  */
 #define RTE_VERSION RTE_VERSION_NUM( \
-			RTE_VER_MAJOR, \
-			RTE_VER_MINOR, \
+			RTE_REL_YEAR, \
+			RTE_REL_MONTH, \
 			RTE_VER_PATCH_LEVEL, \
 			RTE_VER_PATCH_RELEASE)
 
@@ -102,20 +102,19 @@ static inline const char *
 rte_version(void)
 {
 	static char version[32];
+	int pos;
 	if (version[0] != 0)
 		return version;
-	if (strlen(RTE_VER_SUFFIX) == 0)
-		snprintf(version, sizeof(version), "%s %d.%d.%d",
+
+	pos = snprintf(version, sizeof(version), "%s %02d.%02d",
 			RTE_VER_PREFIX,
-			RTE_VER_MAJOR,
-			RTE_VER_MINOR,
+			RTE_REL_YEAR,
+			RTE_REL_MONTH);
+	if (RTE_VER_PATCH_LEVEL > 0)
+		pos += snprintf(version + pos, sizeof(version) - pos, ".%d",
 			RTE_VER_PATCH_LEVEL);
-	else
-		snprintf(version, sizeof(version), "%s %d.%d.%d%s%d",
-			RTE_VER_PREFIX,
-			RTE_VER_MAJOR,
-			RTE_VER_MINOR,
-			RTE_VER_PATCH_LEVEL,
+	if (strlen(RTE_VER_SUFFIX) > 0)
+		pos += snprintf(version + pos, sizeof(version) - pos, "%s%d",
 			RTE_VER_SUFFIX,
 			RTE_VER_PATCH_RELEASE < 16 ?
 				RTE_VER_PATCH_RELEASE :
-- 
2.5.0



More information about the dev mailing list