aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2019-05-18 14:53:31 -0700
committerZac Medico <zmedico@gentoo.org>2019-05-18 14:56:37 -0700
commit8084f01891f4110894054f999acc21b7a3899833 (patch)
treebe6b11c7ae7c3fd06b928672ac33d0368a100af2
parentRecognize riscv ABIs (bug 686194) (diff)
downloadgentoo-portage-8084f01891f4110894054f999acc21b7a3899833.tar.xz
gentoo-portage-8084f01891f4110894054f999acc21b7a3899833.zip
Use _safe_loop where applicable
Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--lib/_emerge/PollScheduler.py6
-rw-r--r--lib/_emerge/depgraph.py4
-rw-r--r--lib/portage/dbapi/vartree.py19
-rw-r--r--lib/portage/emaint/modules/sync/sync.py6
-rw-r--r--lib/portage/package/ebuild/_spawn_nofetch.py6
-rw-r--r--lib/portage/package/ebuild/doebuild.py19
6 files changed, 25 insertions, 35 deletions
diff --git a/lib/_emerge/PollScheduler.py b/lib/_emerge/PollScheduler.py
index 569879b36..e90830885 100644
--- a/lib/_emerge/PollScheduler.py
+++ b/lib/_emerge/PollScheduler.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
try:
@@ -7,6 +7,7 @@ except ImportError:
import dummy_threading as threading
import portage
+from portage.util.futures import asyncio
from portage.util._async.SchedulerInterface import SchedulerInterface
from portage.util._eventloop.EventLoop import EventLoop
from portage.util._eventloop.global_event_loop import global_event_loop
@@ -38,8 +39,7 @@ class PollScheduler(object):
elif main:
self._event_loop = global_event_loop()
else:
- self._event_loop = (portage._internal_caller and
- global_event_loop() or EventLoop(main=False))
+ self._event_loop = asyncio._safe_loop()
self._sched_iface = SchedulerInterface(self._event_loop,
is_background=self._is_background)
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index 32b2d7da3..3e99ac077 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -47,6 +47,7 @@ from portage.util import cmp_sort_key, writemsg, writemsg_stdout
from portage.util import ensure_dirs
from portage.util import writemsg_level, write_atomic
from portage.util.digraph import digraph
+from portage.util.futures import asyncio
from portage.util._async.TaskScheduler import TaskScheduler
from portage.util._eventloop.EventLoop import EventLoop
from portage.util._eventloop.global_event_loop import global_event_loop
@@ -605,8 +606,7 @@ class depgraph(object):
self._select_atoms = self._select_atoms_highest_available
self._select_package = self._select_pkg_highest_available
- self._event_loop = (portage._internal_caller and
- global_event_loop() or EventLoop(main=False))
+ self._event_loop = asyncio._safe_loop()
self._select_atoms_parent = None
diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
index 63389f9a3..e2fce7736 100644
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2018 Gentoo Foundation
+# Copyright 1998-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
from __future__ import division, unicode_literals
@@ -58,6 +58,7 @@ from portage.exception import CommandNotFound, \
InvalidData, InvalidLocation, InvalidPackageName, \
FileNotFound, PermissionDenied, UnsupportedAPIException
from portage.localization import _
+from portage.util.futures import asyncio
from portage import abssymlink, _movefile, bsd_chflags
@@ -1406,8 +1407,7 @@ class vardbapi(dbapi):
# Do work via the global event loop, so that it can be used
# for indication of progress during the search (bug #461412).
- event_loop = (portage._internal_caller and
- global_event_loop() or EventLoop(main=False))
+ event_loop = asyncio._safe_loop()
root = self._vardb._eroot
def search_pkg(cpv, search_future):
@@ -1998,8 +1998,7 @@ class dblink(object):
if self._scheduler is None:
# We create a scheduler instance and use it to
# log unmerge output separately from merge output.
- self._scheduler = SchedulerInterface(portage._internal_caller and
- global_event_loop() or EventLoop(main=False))
+ self._scheduler = SchedulerInterface(asyncio._safe_loop())
if self.settings.get("PORTAGE_BACKGROUND") == "subprocess":
if self.settings.get("PORTAGE_BACKGROUND_UNMERGE") == "1":
self.settings["PORTAGE_BACKGROUND"] = "1"
@@ -5141,9 +5140,7 @@ class dblink(object):
paths = tuple(paths)
proc = SyncfsProcess(paths=paths,
- scheduler=(self._scheduler or
- portage._internal_caller and global_event_loop() or
- EventLoop(main=False)))
+ scheduler=(self._scheduler or asyncio._safe_loop()))
proc.start()
returncode = proc.wait()
@@ -5168,8 +5165,7 @@ class dblink(object):
self.lockdb()
self.vartree.dbapi._bump_mtime(self.mycpv)
if self._scheduler is None:
- self._scheduler = SchedulerInterface(portage._internal_caller and
- global_event_loop() or EventLoop(main=False))
+ self._scheduler = SchedulerInterface(asyncio._safe_loop())
try:
retval = self.treewalk(mergeroot, myroot, inforoot, myebuild,
cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes,
@@ -5375,8 +5371,7 @@ def merge(mycat, mypkg, pkgloc, infloc,
merge_task = MergeProcess(
mycat=mycat, mypkg=mypkg, settings=settings,
treetype=mytree, vartree=vartree,
- scheduler=(scheduler or portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=(scheduler or asyncio._safe_loop()),
background=background, blockers=blockers, pkgloc=pkgloc,
infloc=infloc, myebuild=myebuild, mydbapi=mydbapi,
prev_mtimes=prev_mtimes, logfile=settings.get('PORTAGE_LOG_FILE'),
diff --git a/lib/portage/emaint/modules/sync/sync.py b/lib/portage/emaint/modules/sync/sync.py
index ebdc362e1..e28c42336 100644
--- a/lib/portage/emaint/modules/sync/sync.py
+++ b/lib/portage/emaint/modules/sync/sync.py
@@ -1,4 +1,4 @@
-# Copyright 2014-2017 Gentoo Foundation
+# Copyright 2014-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import logging
@@ -14,6 +14,7 @@ from portage._global_updates import _global_updates
from portage.sync.controller import SyncManager
from portage.util import writemsg_level
from portage.util.digraph import digraph
+from portage.util.futures import asyncio
from portage.util._async.AsyncScheduler import AsyncScheduler
from portage.util._eventloop.global_event_loop import global_event_loop
from portage.util._eventloop.EventLoop import EventLoop
@@ -232,8 +233,7 @@ class SyncRepos(object):
sync_scheduler = SyncScheduler(emerge_config=self.emerge_config,
selected_repos=selected_repos, sync_manager=sync_manager,
max_jobs=max_jobs,
- event_loop=global_event_loop() if portage._internal_caller else
- EventLoop(main=False))
+ event_loop=asyncio._safe_loop())
sync_scheduler.start()
sync_scheduler.wait()
diff --git a/lib/portage/package/ebuild/_spawn_nofetch.py b/lib/portage/package/ebuild/_spawn_nofetch.py
index bbfd5b72b..980d7f629 100644
--- a/lib/portage/package/ebuild/_spawn_nofetch.py
+++ b/lib/portage/package/ebuild/_spawn_nofetch.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2013 Gentoo Foundation
+# Copyright 2010-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import tempfile
@@ -11,6 +11,7 @@ from portage.elog import elog_process
from portage.package.ebuild.config import config
from portage.package.ebuild.doebuild import doebuild_environment
from portage.package.ebuild.prepare_build_dirs import prepare_build_dirs
+from portage.util.futures import asyncio
from portage.util._async.SchedulerInterface import SchedulerInterface
from portage.util._eventloop.EventLoop import EventLoop
from portage.util._eventloop.global_event_loop import global_event_loop
@@ -117,8 +118,7 @@ def spawn_nofetch(portdb, ebuild_path, settings=None, fd_pipes=None):
nofetch = SpawnNofetchWithoutBuilddir(background=False,
portdb=portdb,
ebuild_path=ebuild_path,
- scheduler=SchedulerInterface(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=SchedulerInterface(asyncio._safe_loop()),
fd_pipes=fd_pipes, settings=settings)
nofetch.start()
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py
index cf95dc406..bea5535bd 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -82,6 +82,7 @@ from portage.util import ( apply_recursive_permissions,
from portage.util.cpuinfo import get_cpu_count
from portage.util.lafilefixer import rewrite_lafile
from portage.util.compression_probe import _compressors
+from portage.util.futures import asyncio
from portage.util.path import first_existing
from portage.util.socks5 import get_socks5_proxy
from portage.versions import _pkgsplit
@@ -198,8 +199,7 @@ def _spawn_phase(phase, settings, actionmap=None, returnpid=False,
# The logfile argument is unused here, since EbuildPhase uses
# the PORTAGE_LOG_FILE variable if set.
ebuild_phase = EbuildPhase(actionmap=actionmap, background=False,
- phase=phase, scheduler=SchedulerInterface(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ phase=phase, scheduler=SchedulerInterface(asyncio._safe_loop()),
settings=settings, **kwargs)
ebuild_phase.start()
@@ -830,8 +830,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
if not returnpid and \
'PORTAGE_BUILDDIR_LOCKED' not in mysettings:
builddir_lock = EbuildBuildDir(
- scheduler=(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=asyncio._safe_loop(),
settings=mysettings)
builddir_lock.scheduler.run_until_complete(
builddir_lock.async_lock())
@@ -957,8 +956,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
if builddir_lock is None and \
'PORTAGE_BUILDDIR_LOCKED' not in mysettings:
builddir_lock = EbuildBuildDir(
- scheduler=(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=asyncio._safe_loop(),
settings=mysettings)
builddir_lock.scheduler.run_until_complete(
builddir_lock.async_lock())
@@ -982,8 +980,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
if not returnpid and \
'PORTAGE_BUILDDIR_LOCKED' not in mysettings:
builddir_lock = EbuildBuildDir(
- scheduler=(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=asyncio._safe_loop(),
settings=mysettings)
builddir_lock.scheduler.run_until_complete(
builddir_lock.async_lock())
@@ -1331,8 +1328,7 @@ def _prepare_env_file(settings):
"""
env_extractor = BinpkgEnvExtractor(background=False,
- scheduler=(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=asyncio._safe_loop(),
settings=settings)
if env_extractor.dest_env_exists():
@@ -1658,8 +1654,7 @@ def spawn(mystring, mysettings, debug=False, free=False, droppriv=False,
proc = EbuildSpawnProcess(
background=False, args=mystring,
- scheduler=SchedulerInterface(portage._internal_caller and
- global_event_loop() or EventLoop(main=False)),
+ scheduler=SchedulerInterface(asyncio._safe_loop()),
spawn_func=spawn_func,
settings=mysettings, **keywords)