Blob Blame History Raw
diff -up galera-26.4.6/garb/files/garb.service.p2 galera-26.4.6/garb/files/garb.service
--- galera-26.4.6/garb/files/garb.service.p2	2021-01-04 16:45:52.260966357 +0100
+++ galera-26.4.6/garb/files/garb.service	2021-01-04 16:46:50.010572463 +0100
@@ -12,7 +12,7 @@ Alias=garbd.service
 
 [Service]
 User=nobody
-ExecStart=/usr/bin/garb-systemd start
+ExecStart=@bindir@/garb-systemd start
 
 # Use SIGINT because with the default SIGTERM
 # garbd fails to reliably transition to 'destroyed' state
diff -up galera-26.4.6/garb/files/garb.sh.p2 galera-26.4.6/garb/files/garb.sh
--- galera-26.4.6/garb/files/garb.sh.p2	2020-10-22 12:19:37.000000000 +0200
+++ galera-26.4.6/garb/files/garb.sh	2021-01-04 16:42:19.943738004 +0100
@@ -5,7 +5,7 @@
 # init.d script for garbd
 #
 # chkconfig: - 99 01
-# config: /etc/sysconfig/garb | /etc/default/garb
+# config: @sysconfdir@/sysconfig/garb | @sysconfdir@/default/garb
 
 ### BEGIN INIT INFO
 # Provides:          garb
@@ -25,10 +25,10 @@
 if [ -f /etc/redhat-release ]; then
 	. /etc/init.d/functions
 	. /etc/sysconfig/network
-	config=/etc/sysconfig/garb
+	config=@sysconfdir@/sysconfig/garb
 else
 	. /lib/lsb/init-functions
-	config=/etc/default/garb
+	config=@sysconfdir@/default/garb
 fi
 
 log_failure() {
@@ -41,9 +41,9 @@ log_failure() {
 	fi
 }
 
-PIDFILE=/var/run/garbd
+PIDFILE=/var/run/@scl_prefix@garbd
 
-prog=$(which garbd)
+prog="$(scl enable @scl@ -- which garbd)"
 
 program_start() {
 	local rcode
@@ -150,6 +150,19 @@ restart() {
 	start
 }
 
+# We have to re-enable SCL environment, because /sbin/service
+# clears almost all environment variables.
+# Since X_SCLS is cleared as well, we lose information about other
+# collections enabled.
+source @scl_scripts@/garbd-service-environment
+source scl_source enable $@scl_upper@_SCLS_ENABLED
+
+# we want start daemon only inside "scl enable" invocation
+if ! scl_enabled @scl@ ; then
+    echo "Collection @scl@ has to be listed in @scl_scripts@/garbd-service-environment"
+    exit 1
+fi
+
 # See how we were called.
 case "$1" in
   start)
diff -up galera-26.4.6/garb/files/garb-systemd.p2 galera-26.4.6/garb/files/garb-systemd
--- galera-26.4.6/garb/files/garb-systemd.p2	2021-01-04 16:42:19.943738004 +0100
+++ galera-26.4.6/garb/files/garb-systemd	2021-01-04 16:44:07.793869930 +0100
@@ -4,7 +4,7 @@
 if [[ -f /etc/debian_version ]]; then
   config=/etc/default/garb
 else
-  config=/etc/sysconfig/garb
+  config=@sysconfdir@/sysconfig/garb
 fi
 
 log_failure() {
@@ -13,7 +13,7 @@ log_failure() {
 
 program_start() {
   echo "Starting garbd"
-  /usr/bin/garbd "$@"
+  scl enable @scl@ -- @bindir@/garbd "$@"
 }
 
 start() {