summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/Packages/Yum.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Plugins/Packages/Yum.py')
-rw-r--r--src/lib/Server/Plugins/Packages/Yum.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py
index be5a68aa1..9ce462c78 100644
--- a/src/lib/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Server/Plugins/Packages/Yum.py
@@ -111,10 +111,24 @@ class YumCollection(Collection):
if has_pulp and self.has_pulp_sources:
_setup_pulp(self.config)
+ self._helper = None
+
@property
def helper(self):
- return self.config.get("yum", "helper",
- default="/usr/sbin/bcfg2-yum-helper")
+ try:
+ return self.config.get("yum", "helper")
+ except:
+ pass
+
+ if not self._helper:
+ # first see if bcfg2-yum-helper is in PATH
+ try:
+ Popen(['bcfg2-yum-helper'],
+ stdin=PIPE, stdout=PIPE, stderr=PIPE).wait()
+ self._helper = 'bcfg2-yum-helper'
+ except OSError:
+ self._helper = "/usr/sbin/bcfg2-yum-helper"
+ return self._helper
@property
def use_yum(self):