From 118d782bb10186e07939ee784d1f737142dcf9ee Mon Sep 17 00:00:00 2001
From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Date: Thu, 3 Sep 2015 13:07:19 -0400
Subject: [PATCH] build: fix buildinfo data computation

This patch fixes buildinfo data computation
in case of git failures.

Issue: #79930
Change-Id: Iccce40bb724ebfef73c068b96bfd59b7effbf777
---
 globals.mak       | 8 ++++----
 src/buildinfo.cpp | 4 +++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/globals.mak b/globals.mak
index 7d95ebce52..9e0b4844c5 100644
--- a/globals.mak
+++ b/globals.mak
@@ -18,8 +18,8 @@ if BUILD_GSM
 GSMCODEC=-DHAVE_GSM_CODEC
 endif
 
-RING_DIRTY_REPO ?= $(shell git diff-index --quiet HEAD || echo dirty)
-RING_REVISION ?= $(shell git log -1 --format="%h" --abbrev=10)
+RING_DIRTY_REPO:=$(shell git diff-index --quiet HEAD 2>/dev/null || echo dirty)
+RING_REVISION:=$(shell git log -1 --format="%h" --abbrev=10 2>/dev/null)
 
 # Preprocessor flags
 AM_CPPFLAGS = \
@@ -32,8 +32,8 @@ AM_CPPFLAGS = \
 	-DPREFIX=\"$(prefix)\" \
 	-DPROGSHAREDIR=\"${datadir}/ring\" \
 	-DENABLE_TRACE \
-	-DRING_REVISION=\"${RING_REVISION}\" \
-	-DRING_DIRTY_REPO=\"${RING_DIRTY_REPO}\" \
+	-DRING_REVISION=\"$(RING_REVISION)\" \
+	-DRING_DIRTY_REPO=\"$(RING_DIRTY_REPO)\" \
 	$(SPEEXCODEC) \
 	$(GSMCODEC) \
 	$(OPUSCODEC)
diff --git a/src/buildinfo.cpp b/src/buildinfo.cpp
index 8ca73e22f4..45f0cbb95f 100644
--- a/src/buildinfo.cpp
+++ b/src/buildinfo.cpp
@@ -40,7 +40,9 @@ namespace DRing {
 const char*
 version() noexcept
 {
-    return RING_DIRTY_REPO[0] ? PACKAGE_VERSION "-" RING_REVISION "-" RING_DIRTY_REPO : PACKAGE_VERSION "-" RING_REVISION;
+    return RING_REVISION[0] and RING_DIRTY_REPO[0] ?
+        PACKAGE_VERSION "-" RING_REVISION "-" RING_DIRTY_REPO :
+        (RING_REVISION[0] ? PACKAGE_VERSION "-" RING_REVISION : PACKAGE_VERSION);
 }
 
 } // namespace DRing
-- 
GitLab