# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ from _emerge.SpawnProcess import SpawnProcess try: import portage except ImportError: from os import path as osp import sys sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")) import portage class BinpkgExtractorAsync(SpawnProcess): __slots__ = ("image_dir", "pkg", "pkg_path") _shell_binary = portage.const.BASH_BINARY def _start(self): self.args = [self._shell_binary, "-c", "bzip2 -dqc -- %s | tar -xp -C %s -f -" % \ (portage._shell_quote(self.pkg_path), portage._shell_quote(self.image_dir))] self.env = self.pkg.root_config.settings.environ() SpawnProcess._start(self)