diff --git a/bauh/gems/arch/controller.py b/bauh/gems/arch/controller.py index 7dd1328b..06939bc0 100644 --- a/bauh/gems/arch/controller.py +++ b/bauh/gems/arch/controller.py @@ -2315,7 +2315,7 @@ class ArchManager(SoftwareManager): self.logger.info("Checking for possible conflicts with '{}'".format(context.name)) _, output = context.handler.handle_simple(pacman.install_as_process(pkgpaths=pkgpaths, - root_password=None, + root_password=context.root_password, pkgdir=context.project_dir or '.', file=bool(context.install_files), simulate=True), diff --git a/bauh/gems/arch/pacman.py b/bauh/gems/arch/pacman.py index 0f4ced85..4907cf3a 100644 --- a/bauh/gems/arch/pacman.py +++ b/bauh/gems/arch/pacman.py @@ -151,7 +151,9 @@ def install_as_process(pkgpaths: Iterable[str], root_password: Optional[str], fi cmd = ['pacman', '-U'] if file else ['pacman', '-S'] cmd.extend(pkgpaths) - if not simulate: + if simulate: + cmd.append('--confirm') + else: cmd.append('--noconfirm') cmd.append('-dd') @@ -162,7 +164,7 @@ def install_as_process(pkgpaths: Iterable[str], root_password: Optional[str], fi cmd.append('--asdeps') return SimpleProcess(cmd=cmd, - root_password=None if simulate else root_password, + root_password=root_password, cwd=pkgdir, error_phrases={"error: failed to prepare transaction", 'error: failed to commit transaction', 'error: target not found'}, shell=True)