From 1a9726b31cc0326ede10a45b02294931d1db7473 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 9 Jan 2009 11:19:07 +0000 Subject: Make die() to show a message indicating the repository that an ebuild came from, and do it during any phase for both ebuilds and binary packages. Now PORTAGE_REPO_NAME is initialized inside config.setcpv() for both ebuilds and binary packages, so it's always available inside ebuild.sh. svn path=/main/trunk/; revision=12402 --- pym/_emerge/__init__.py | 6 +++--- pym/portage/__init__.py | 17 +++++------------ 2 files changed, 8 insertions(+), 15 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 8b7143c16..c2bc09acc 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2521,9 +2521,8 @@ class EbuildBuild(CompositeTask): tree = "porttree" self._tree = tree portdb = root_config.trees[tree].dbapi - settings["EMERGE_FROM"] = pkg.type_name - settings.backup_changes("EMERGE_FROM") - settings.reset() + settings.setcpv(pkg) + settings.configdict["pkg"]["EMERGE_FROM"] = pkg.type_name ebuild_path = portdb.findname(self.pkg.cpv) self._ebuild_path = ebuild_path @@ -3206,6 +3205,7 @@ class Binpkg(CompositeTask): debug = settings.get("PORTAGE_DEBUG") == "1" portage.doebuild_environment(self._ebuild_path, "setup", settings["ROOT"], settings, debug, 1, self._bintree.dbapi) + settings.configdict["pkg"]["EMERGE_FROM"] = pkg.type_name # The prefetcher has already completed or it # could be running now. If it's running now, diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 2c8072878..f5207b8b2 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -917,7 +917,7 @@ class config(object): _env_blacklist = [ "A", "AA", "CATEGORY", "EBUILD_PHASE", "EMERGE_FROM", "PF", "PKGUSE", "PORTAGE_CONFIGROOT", "PORTAGE_IUSE", - "PORTAGE_USE", "ROOT" + "PORTAGE_REPO_NAME", "PORTAGE_USE", "ROOT" ] _environ_whitelist = [] @@ -1921,8 +1921,12 @@ class config(object): else: aux_keys = [k for k in auxdbkeys \ if not k.startswith("UNUSED_")] + aux_keys.append("repository") for k, v in izip(aux_keys, mydb.aux_get(self.mycpv, aux_keys)): pkg_configdict[k] = v + repository = pkg_configdict.pop("repository", None) + if repository is not None: + pkg_configdict["PORTAGE_REPO_NAME"] = repository for k in pkg_configdict: if k != "USE": env_configdict.pop(k, None) @@ -4761,17 +4765,6 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m mysettings["ROOT"] = myroot mysettings["STARTDIR"] = getcwd() - - mysettings["PORTAGE_REPO_NAME"] = "" - # bindbapi has no getRepositories() method - if mydbapi and hasattr(mydbapi, "getRepositories"): - # do we have a origin repository name for the current package - repopath = os.sep.join(pkg_dir.split(os.path.sep)[:-2]) - for reponame in mydbapi.getRepositories(): - if mydbapi.getRepositoryPath(reponame) == repopath: - mysettings["PORTAGE_REPO_NAME"] = reponame - break - mysettings["EBUILD"] = ebuild_path mysettings["O"] = pkg_dir mysettings.configdict["pkg"]["CATEGORY"] = cat -- cgit v1.2.3-1-g7c22