MINOR: version: report the version status in "haproxy -v"
As discussed on Discourse here:
https://discourse.haproxy.org/t/haproxy-branch-support-lifetime/4466
it's not always easy for end users to know the lifecycle of the version
they are using. This patch introduces a "Status" line in the output of
"haproxy -vv" indicating whether it's a development, stable, long-term
supported version, possibly with an estimated end of life for the branch
when it can be anticipated (e.g. for stable versions). This field should
be adjusted when creating a major release to reflect the new status.
It may make sense to backport this to other branches to clarify the
situation.
diff --git a/include/common/version.h b/include/common/version.h
index 248c22e..fd5c954 100644
--- a/include/common/version.h
+++ b/include/common/version.h
@@ -36,6 +36,12 @@
#define PRODUCT_BRANCH "2.1"
#endif
+#ifdef CONFIG_PRODUCT_STATUS
+#define PRODUCT_STATUS CONFIG_PRODUCT_STATUS
+#else
+#define PRODUCT_STATUS "Status: development branch - not safe for use in production."
+#endif
+
#ifdef CONFIG_PRODUCT_URL
#define PRODUCT_URL CONFIG_PRODUCT_URL
#else
diff --git a/src/haproxy.c b/src/haproxy.c
index 699a1fe..32d9d33 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -543,7 +543,8 @@
static void display_version()
{
- printf("HA-Proxy version %s %s - https://haproxy.org/\n", haproxy_version, haproxy_date);
+ printf("HA-Proxy version %s %s - https://haproxy.org/\n"
+ PRODUCT_STATUS "\n", haproxy_version, haproxy_date);
}
static void display_build_opts()