From ff8ab8237b0ee72cc5f5936231fdd7d0863138ed Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 21 Mar 2013 17:52:53 -0400 Subject: Client: fix some OSError tracebacks from commands not found --- src/lib/Bcfg2/Client/Tools/Portage.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/lib/Bcfg2/Client/Tools/Portage.py') 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) -- cgit v1.2.3-1-g7c22