commit:     4fea794c94932a63942c0722183e1c2dffd6ecd2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 12:22:57 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 07:07:10 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=4fea794c

doebuild.py: Override network-sandbox in unpack only for live ebuilds.

Suggested-by: Michał Górny <mgorny <AT> gentoo.org>
Reviewed-by: Zac Medico <zmedico <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 lib/portage/package/ebuild/doebuild.py | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/lib/portage/package/ebuild/doebuild.py 
b/lib/portage/package/ebuild/doebuild.py
index 67867d33e..6f980f87d 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -115,13 +115,6 @@ _ipc_phases = frozenset([
 _global_pid_phases = frozenset([
        'config', 'depend', 'preinst', 'prerm', 'postinst', 'postrm'])
 
-# phases in which networking access is allowed
-_networked_phases = frozenset([
-       # for VCS fetching
-       "unpack",
-       # + for network-bound IPC
-] + list(_ipc_phases))
-
 _phase_func_map = {
        "config": "pkg_config",
        "setup": "pkg_setup",
@@ -156,7 +149,9 @@ def _doebuild_spawn(phase, settings, actionmap=None, 
**kwargs):
                phase in _ipc_phases
        kwargs['mountns'] = 'mount-sandbox' in settings.features
        kwargs['networked'] = 'network-sandbox' not in settings.features or \
-               phase in _networked_phases or \
+               (phase == 'unpack' and \
+               'live' in settings.configdict['pkg'].get('PROPERTIES', 
'').split()) or \
+               phase in _ipc_phases or \
                'network-sandbox' in settings['PORTAGE_RESTRICT'].split()
        kwargs['pidns'] = ('pid-sandbox' in settings.features and
                phase not in _global_pid_phases)

Reply via email to