Revert "Fixed menuconfig with new async runner"

I did not test this well enough, sorry! This introduced problems
such as interactive shell not working anymore (#40), cryptsetup partion
creating not working anymore etc.

This reverts commit f39c1dae69.
This commit is contained in:
Oliver Smith 2017-06-02 21:33:29 +02:00
parent 06a5c653fe
commit 7d6365b473
No known key found for this signature in database
GPG Key ID: 5AE7F5513E0885CB
4 changed files with 14 additions and 18 deletions

View File

@ -55,7 +55,7 @@ def menuconfig(args, pkgname, arch):
cmd += [key + "=" + value]
cmd += ["abuild", "-d", "menuconfig"]
logging.info("(native) run menuconfig")
pmb.chroot.user(args, cmd, "native", "/home/user/build", log=False, passthrough=True)
pmb.chroot.user(args, cmd, "native", "/home/user/build", log=False)
# Update config + checksums
logging.info("copy kernel config back to aport-folder")

View File

@ -41,7 +41,7 @@ def executables_absolute_path():
def root(args, cmd, suffix="native", working_dir="/", log=True,
auto_init=True, return_stdout=False, check=True, passthrough=False):
auto_init=True, return_stdout=False, check=True):
"""
Run a command inside a chroot as root.
@ -82,4 +82,4 @@ def root(args, cmd, suffix="native", working_dir="/", log=True,
# Run the command
return pmb.helpers.run.core(args, cmd_full, log_message, log,
return_stdout, check, passthrough)
return_stdout, check)

View File

@ -20,7 +20,7 @@ import pmb.chroot.root
def user(args, cmd, suffix="native", working_dir="/", log=True,
auto_init=True, return_stdout=False, check=True, passthrough=False):
auto_init=True, return_stdout=False, check=True):
"""
Run a command inside a chroot as "user"
@ -29,4 +29,4 @@ def user(args, cmd, suffix="native", working_dir="/", log=True,
"""
cmd = ["su", "user", "-c", " ".join(cmd)]
return pmb.chroot.root(args, cmd, suffix, working_dir, log,
auto_init, return_stdout, check, passthrough)
auto_init, return_stdout, check)

View File

@ -19,7 +19,6 @@ along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
import logging
import asyncio
import locale
import subprocess
@asyncio.coroutine
@ -78,7 +77,7 @@ def _execute(loop, args, cmd, log_message, log, return_stdout, check=True):
return return_code
def core(args, cmd, log_message, log, return_stdout, check=True, passthrough=False):
def core(args, cmd, log_message, log, return_stdout, check=True):
logging.debug(log_message)
"""
Run the command and write the output to the log.
@ -87,18 +86,15 @@ def core(args, cmd, log_message, log, return_stdout, check=True, passthrough=Fal
:param log: send output to log instead of stdout
:param return_stdout: return the stdout from the called process
"""
if passthrough:
result = subprocess.check_call(cmd)
else:
loop = asyncio.get_event_loop()
loop.set_debug(False)
task = _execute(loop, args, cmd, log_message, log, return_stdout, check)
result = loop.run_until_complete(task)
loop = asyncio.get_event_loop()
loop.set_debug(False)
task = _execute(loop, args, cmd, log_message, log, return_stdout, check)
result = loop.run_until_complete(task)
return result
def user(args, cmd, log=True, working_dir=None, return_stdout=False,
check=True, passthrough=False):
check=True):
"""
:param working_dir: defaults to args.work
"""
@ -106,13 +102,13 @@ def user(args, cmd, log=True, working_dir=None, return_stdout=False,
working_dir = args.work
# TODO: maintain and check against a whitelist
return core(args, cmd, "% " + " ".join(cmd), log, return_stdout, check, passthrough)
return core(args, cmd, "% " + " ".join(cmd), log, return_stdout, check)
def root(args, cmd, log=True, working_dir=None, return_stdout=False,
check=True, passthrough=False):
check=True):
"""
:param working_dir: defaults to args.work
"""
cmd = ["sudo"] + cmd
return user(args, cmd, log, working_dir, return_stdout, check, passthrough)
return user(args, cmd, log, working_dir, return_stdout, check)