From d77178e8df213160d0fe58c5942507f01e7af2bd Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Thu, 20 Jan 2022 22:52:55 -0800 Subject: bitbake: bitbake: bitbake-worker: Preserve network non-local uid The NIS can't work when network is dissable, so preserve network for it, the error is like: do_ypcall: clnt_call: RPC: Unable to send; errno = Network is unreachable Note, enable nscd on the build machine might be a solution, but that isn't reliable since it depends on whether the network function has been cached or not. (Bitbake rev: 4eafae7904bae6e5c6bc50356e8a9077f2e207fa) Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/bin/bitbake-worker | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bitbake/bin/bitbake-worker') diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 3aaf3c2444..063cf37926 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker @@ -262,8 +262,11 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", ""))) if not the_data.getVarFlag(taskname, 'network', False): - logger.debug("Attempting to disable network") - bb.utils.disable_network(uid, gid) + if bb.utils.is_local_uid(uid): + logger.debug("Attempting to disable network for %s" % taskname) + bb.utils.disable_network(uid, gid) + else: + logger.debug("Skipping disable network for %s since %s is not a local uid." % (taskname, uid)) # exported_vars() returns a generator which *cannot* be passed to os.environ.update() # successfully. We also need to unset anything from the environment which shouldn't be there -- cgit v1.2.3-54-g00ecf