Blame SOURCES/BZ-1927971-let-scl_source-behave-with-errexit.patch

8d733e
From a8113846229a567321ca4347b07263936307b940 Mon Sep 17 00:00:00 2001
8d733e
From: "James E. Flemer" <james.flemer@ndpgroup.com>
8d733e
Date: Tue, 16 Feb 2021 02:48:27 -0700
8d733e
Subject: [PATCH] Let scl_source behave when "-e"/errexit is set (#35)
8d733e
8d733e
Jenkins pipelines, among other things, use `set -e` (aka bash `errexit`) to abort on "errors". So when `source scl_source` is used in a pipeline, the way the exit code from `scl_enabled` is checked via `$?` causes an unintended abort of the pipeline. (Workaround is to use `set +e; source scl_source ...; set -e`.)
8d733e
8d733e
This trivial change to `scl_source` simply changes how the value of `scl_enalbed` is checked to be friendly to `errexit`.
8d733e
---
8d733e
 shell/scl_source | 3 +--
8d733e
 1 file changed, 1 insertion(+), 2 deletions(-)
8d733e
8d733e
diff --git a/shell/scl_source b/shell/scl_source
8d733e
index 5822955..30b8baf 100755
8d733e
--- a/shell/scl_source
8d733e
+++ b/shell/scl_source
8d733e
@@ -47,8 +47,7 @@ for arg in "$@"; do
8d733e
     done
8d733e
 
8d733e
     # Now check if the collection isn't already enabled
8d733e
-    /usr/bin/scl_enabled $arg > /dev/null 2> /dev/null
8d733e
-    if [ $? -ne 0 ]; then
8d733e
+    if ! /usr/bin/scl_enabled $arg > /dev/null 2> /dev/null; then
8d733e
         _scls+=($arg)
8d733e
         _scl_prefixes+=($_scl_prefix)
8d733e
     fi;
8d733e
-- 
8d733e
2.29.2
8d733e