diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-21 17:52:53 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-21 17:55:44 -0400 |
commit | ff8ab8237b0ee72cc5f5936231fdd7d0863138ed (patch) | |
tree | 22a34794c3d05682ed068d2813ad74619c2b5dc7 /src/lib/Bcfg2/Client/Tools/Portage.py | |
parent | 84c5e7b5ab65b9ba5b936be7432e7b1d5adad179 (diff) | |
download | bcfg2-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.py | 8 |
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) |