diff --git a/src/python/jw/pkg/lib/distros/arch/Distro.py b/src/python/jw/pkg/lib/distros/arch/Distro.py index c9a72e9d..c8bc5ecf 100644 --- a/src/python/jw/pkg/lib/distros/arch/Distro.py +++ b/src/python/jw/pkg/lib/distros/arch/Distro.py @@ -12,12 +12,14 @@ if TYPE_CHECKING: class Distro(Base): - async def pacman(self, args: list[str]) -> Result: + async def pacman(self, args: list[str], verbose: bool=True, sudo: bool=True) -> Result: cmd = ['/usr/bin/pacman'] if not self.interactive: cmd.extend(['--noconfirm']) cmd.extend(args) - return await self.sudo(cmd) + if sudo: + return await self.sudo(cmd, verbose=verbose) + return await self.run(cmd, verbose=verbose) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/src/python/jw/pkg/lib/distros/debian/Distro.py b/src/python/jw/pkg/lib/distros/debian/Distro.py index b865e1f1..5e147860 100644 --- a/src/python/jw/pkg/lib/distros/debian/Distro.py +++ b/src/python/jw/pkg/lib/distros/debian/Distro.py @@ -16,14 +16,16 @@ if TYPE_CHECKING: class Distro(Base): - async def apt_get(self, args: list[str]): + async def apt_get(self, args: list[str], verbose: bool=True, sudo: bool=True): cmd = ['/usr/bin/apt-get'] mod_env = None if not self.interactive: cmd.extend(['--yes', '--quiet']) mod_env = { 'DEBIAN_FRONTEND': 'noninteractive' } cmd.extend(args) - return await self.sudo(cmd, mod_env=mod_env) + if sudo: + return await self.sudo(cmd, verbose=verbose, mod_env=mod_env) + return await self.run(cmd, verbose=verbose) async def dpkg(self, *args, **kwargs): return await run_dpkg(*args, ec=self.ctx, **kwargs) diff --git a/src/python/jw/pkg/lib/distros/suse/Distro.py b/src/python/jw/pkg/lib/distros/suse/Distro.py index 7b35273a..cf33ed16 100644 --- a/src/python/jw/pkg/lib/distros/suse/Distro.py +++ b/src/python/jw/pkg/lib/distros/suse/Distro.py @@ -19,8 +19,7 @@ class Distro(Base): cmd.extend(['--non-interactive', '--gpg-auto-import-keys', '--no-gpg-checks']) cmd.extend(args) if sudo: - # Run sudo --login in case /etc/profile modifies ZYPP_CONF - return await self.sudo(cmd, opts=['--login'], verbose=verbose) + return await self.sudo(cmd, verbose=verbose) return await self.run(cmd, verbose=verbose) async def rpm(self, *args, **kwargs) -> Result: