summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Client/Tools/Portage.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-21 17:52:53 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-21 17:55:44 -0400
commitff8ab8237b0ee72cc5f5936231fdd7d0863138ed (patch)
tree22a34794c3d05682ed068d2813ad74619c2b5dc7 /src/lib/Bcfg2/Client/Tools/Portage.py
parent84c5e7b5ab65b9ba5b936be7432e7b1d5adad179 (diff)
downloadbcfg2-ff8ab8237b0ee72cc5f5936231fdd7d0863138ed.tar.gz
bcfg2-ff8ab8237b0ee72cc5f5936231fdd7d0863138ed.tar.bz2
bcfg2-ff8ab8237b0ee72cc5f5936231fdd7d0863138ed.zip
Client: fix some OSError tracebacks from commands not found
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools/Portage.py')
-rw-r--r--src/lib/Bcfg2/Client/Tools/Portage.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/Portage.py b/src/lib/Bcfg2/Client/Tools/Portage.py
index 6cbcff2e0..d4373c299 100644
--- a/src/lib/Bcfg2/Client/Tools/Portage.py
+++ b/src/lib/Bcfg2/Client/Tools/Portage.py
@@ -29,7 +29,10 @@ class Portage(Bcfg2.Client.Tools.PkgTool):
self._binpkgonly = self.setup.get('portage_binpkgonly', False)
if self._binpkgonly:
self.pkgtool = self._binpkgtool
- self.RefreshPackages()
+ try:
+ self.RefreshPackages()
+ except OSError:
+ raise Bcfg2.Client.Tools.ToolInstantiationError("equery not found")
def RefreshPackages(self):
"""Refresh memory hashes of packages."""
@@ -37,7 +40,8 @@ class Portage(Bcfg2.Client.Tools.PkgTool):
return
self.logger.info('Getting list of installed packages')
self.installed = {}
- for pkg in self.cmd.run("equery -q list '*'").stdout.splitlines():
+ for pkg in self.cmd.run(["equery", "-q",
+ "list", "*"]).stdout.splitlines():
if self._pkg_pattern.match(pkg):
name = self._pkg_pattern.match(pkg).group(1)
version = self._pkg_pattern.match(pkg).group(2)