diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-10-22 07:05:14 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-10-22 07:32:55 -0700 |
commit | c5d52b6b4a5a9664745196b5137f22154258c895 (patch) | |
tree | 438ac55df21f63becb7c966c6514246cc2e1f545 | |
parent | b06fbd6f15ceff4ae361fdb04420e78861af6c97 (diff) | |
download | portage-c5d52b6b4a5a9664745196b5137f22154258c895.tar.gz portage-c5d52b6b4a5a9664745196b5137f22154258c895.tar.bz2 portage-c5d52b6b4a5a9664745196b5137f22154258c895.zip |
EbuildFetchonly: remove redundant tmpdir code
This tempdir stuff is handled by spawn_nofetch() now.
-rw-r--r-- | pym/_emerge/EbuildFetchonly.py | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/pym/_emerge/EbuildFetchonly.py b/pym/_emerge/EbuildFetchonly.py index 8e02c2a77..39a0b6fe2 100644 --- a/pym/_emerge/EbuildFetchonly.py +++ b/pym/_emerge/EbuildFetchonly.py @@ -1,8 +1,7 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from _emerge.SlotObject import SlotObject -import shutil import portage from portage import os from portage.elog.messages import eerror @@ -21,44 +20,17 @@ class EbuildFetchonly(SlotObject): settings.setcpv(pkg) debug = settings.get("PORTAGE_DEBUG") == "1" - if 'fetch' in pkg.metadata.restrict: - rval = self._execute_with_builddir() - else: - rval = portage.doebuild(ebuild_path, "fetch", - settings["ROOT"], settings, debug=debug, - listonly=self.pretend, fetchonly=1, fetchall=self.fetch_all, - mydbapi=portdb, tree="porttree") + rval = portage.doebuild(ebuild_path, "fetch", + settings["ROOT"], settings, debug=debug, + listonly=self.pretend, fetchonly=1, fetchall=self.fetch_all, + mydbapi=portdb, tree="porttree") - if rval != os.EX_OK: - msg = "Fetch failed for '%s'" % (pkg.cpv,) - eerror(msg, phase="unpack", key=pkg.cpv) + if rval != os.EX_OK: + msg = "Fetch failed for '%s'" % (pkg.cpv,) + eerror(msg, phase="unpack", key=pkg.cpv) return rval - def _execute_with_builddir(self): - # To spawn pkg_nofetch requires PORTAGE_BUILDDIR for - # ensuring sane $PWD (bug #239560) and storing elog - # messages. Use a private temp directory, in order - # to avoid locking the main one. - settings = self.settings - global_tmpdir = settings["PORTAGE_TMPDIR"] - from tempfile import mkdtemp - try: - private_tmpdir = mkdtemp("", "._portage_fetch_.", global_tmpdir) - except OSError as e: - if e.errno != portage.exception.PermissionDenied.errno: - raise - raise portage.exception.PermissionDenied(global_tmpdir) - settings["PORTAGE_TMPDIR"] = private_tmpdir - settings.backup_changes("PORTAGE_TMPDIR") - try: - retval = self._execute() - finally: - settings["PORTAGE_TMPDIR"] = global_tmpdir - settings.backup_changes("PORTAGE_TMPDIR") - shutil.rmtree(private_tmpdir) - return retval - def _execute(self): settings = self.settings pkg = self.pkg |