diff -up galera-25.3.20/garb/files/garb.service.p2 galera-25.3.20/garb/files/garb.service
--- galera-25.3.20/garb/files/garb.service.p2 2017-05-02 18:18:12.000000000 +0200
+++ galera-25.3.20/garb/files/garb.service 2017-06-24 23:19:57.458471374 +0200
@@ -10,8 +10,8 @@ Alias=garbd.service
[Service]
User=nobody
-EnvironmentFile=/etc/sysconfig/garb
-ExecStart=/usr/bin/garb-systemd start
+EnvironmentFile=@sysconfdir@/sysconfig/garb
+ExecStart=@bindir@/garbd-systemd start
# Use SIGINT because with the default SIGTERM
# garbd fails to reliably transition to 'destroyed' state
diff -up galera-25.3.20/garb/files/garb.sh.p2 galera-25.3.20/garb/files/garb.sh
--- galera-25.3.20/garb/files/garb.sh.p2 2017-05-02 18:18:12.000000000 +0200
+++ galera-25.3.20/garb/files/garb.sh 2017-06-24 23:12:52.329066055 +0200
@@ -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
@@ -29,10 +29,10 @@ _SYSTEMCTL_SKIP_REDIRECT=true
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() {
@@ -45,9 +45,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
@@ -154,6 +154,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-25.3.20/garb/files/garb-systemd.p2 galera-25.3.20/garb/files/garb-systemd
--- galera-25.3.20/garb/files/garb-systemd.p2 2017-05-02 18:18:12.000000000 +0200
+++ galera-25.3.20/garb/files/garb-systemd 2017-06-24 23:06:12.176684549 +0200
@@ -2,7 +2,7 @@
#
-config=/etc/sysconfig/garb
+config=@sysconfdir@/sysconfig/garb
log_failure() {
echo " ERROR! $@"
@@ -12,7 +12,7 @@ log_failure() {
program_start() {
echo "Starting garbd"
- /usr/bin/garbd "$@"
+ scl enable @scl@ -- @bindir@/garbd "$@"
}