Blame SOURCES/0001-update-grafana-cli-script-with-distro-specific-paths.patch

05d305
From 2ad9b1bd641eab2daae9c461656a56c8c2688485 Mon Sep 17 00:00:00 2001
05d305
From: Andreas Gerstmayr <agerstmayr@redhat.com>
05d305
Date: Wed, 22 Jun 2022 16:57:52 +0200
05d305
Subject: [PATCH] update grafana-cli script with distro-specific paths and
05d305
 switch to grafana user
05d305
05d305
3d91f6
diff --git a/packaging/wrappers/grafana-cli b/packaging/wrappers/grafana-cli
05d305
index dafa075a2c..eda358c425 100755
3d91f6
--- a/packaging/wrappers/grafana-cli
3d91f6
+++ b/packaging/wrappers/grafana-cli
3d91f6
@@ -5,18 +5,19 @@
3d91f6
 # the system-wide Grafana configuration that was bundled with the package as we
3d91f6
 # use the binary.
3d91f6
 
3d91f6
-DEFAULT=/etc/default/grafana
3d91f6
+DEFAULT=/etc/sysconfig/grafana-server
3d91f6
 
3d91f6
 GRAFANA_HOME=/usr/share/grafana
3d91f6
 CONF_DIR=/etc/grafana
3d91f6
 DATA_DIR=/var/lib/grafana
3d91f6
 PLUGINS_DIR=/var/lib/grafana/plugins
3d91f6
 LOG_DIR=/var/log/grafana
3d91f6
+LIBEXEC_DIR=/usr/libexec/grafana
3d91f6
 
3d91f6
 CONF_FILE=$CONF_DIR/grafana.ini
3d91f6
 PROVISIONING_CFG_DIR=$CONF_DIR/provisioning
3d91f6
 
3d91f6
-EXECUTABLE=$GRAFANA_HOME/bin/grafana-cli
3d91f6
+EXECUTABLE=$LIBEXEC_DIR/grafana-cli
3d91f6
 
3d91f6
 if [ ! -x $EXECUTABLE ]; then
3d91f6
  echo "Program not installed or not executable"
05d305
@@ -28,12 +29,21 @@ if [ -f "$DEFAULT" ]; then
3d91f6
   . "$DEFAULT"
3d91f6
 fi
3d91f6
 
05d305
-OPTS="--homepath=${GRAFANA_HOME} \
05d305
-      --config=${CONF_FILE} \
05d305
-      --pluginsDir=${PLUGINS_DIR} \
05d305
-      --configOverrides='cfg:default.paths.provisioning=$PROVISIONING_CFG_DIR \
05d305
-                        cfg:default.paths.data=${DATA_DIR} \
05d305
-                        cfg:default.paths.logs=${LOG_DIR} \
05d305
-                        cfg:default.paths.plugins=${PLUGINS_DIR}'"
05d305
-
05d305
-eval $EXECUTABLE "$OPTS" '$@'
05d305
+OPTS=("--homepath=${GRAFANA_HOME}"
05d305
+      "--config=${CONF_FILE}"
05d305
+      "--pluginsDir=${PLUGINS_DIR}"
05d305
+      "--configOverrides=cfg:default.paths.provisioning=$PROVISIONING_CFG_DIR \
05d305
+                         cfg:default.paths.data=${DATA_DIR} \
05d305
+                         cfg:default.paths.logs=${LOG_DIR} \
05d305
+                         cfg:default.paths.plugins=${PLUGINS_DIR}")
05d305
+
3d91f6
+if [ "$(id -u)" -eq 0 ]; then
3d91f6
+  cd "${GRAFANA_HOME}"
05d305
+  exec runuser -u "${GRAFANA_USER}" -- "$EXECUTABLE" "${OPTS[@]}" "$@"
3d91f6
+elif [ "$(id -u -n)" = "${GRAFANA_USER}" ]; then
3d91f6
+  cd "${GRAFANA_HOME}"
05d305
+  exec "$EXECUTABLE" "${OPTS[@]}" "$@"
3d91f6
+else
3d91f6
+  echo "$0: please run this script as user \"${GRAFANA_USER}\" or root."
3d91f6
+  exit 5
3d91f6
+fi