lib.distros.*.Distro: Align PM prototypes

Make all backend package manager prototypes have the same arguments:

	yum(self, args: list[str], verbose: bool=True, sudo: bool=True)

This also implies having them behave equally verbose, unless
otherwise specified by the caller. This changes the default for
Debian.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-03-16 11:07:41 +01:00
commit 824de4eca4
3 changed files with 9 additions and 6 deletions

View file

@ -12,12 +12,14 @@ if TYPE_CHECKING:
class Distro(Base): 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'] cmd = ['/usr/bin/pacman']
if not self.interactive: if not self.interactive:
cmd.extend(['--noconfirm']) cmd.extend(['--noconfirm'])
cmd.extend(args) 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): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)

View file

@ -16,14 +16,16 @@ if TYPE_CHECKING:
class Distro(Base): 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'] cmd = ['/usr/bin/apt-get']
mod_env = None mod_env = None
if not self.interactive: if not self.interactive:
cmd.extend(['--yes', '--quiet']) cmd.extend(['--yes', '--quiet'])
mod_env = { 'DEBIAN_FRONTEND': 'noninteractive' } mod_env = { 'DEBIAN_FRONTEND': 'noninteractive' }
cmd.extend(args) 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): async def dpkg(self, *args, **kwargs):
return await run_dpkg(*args, ec=self.ctx, **kwargs) return await run_dpkg(*args, ec=self.ctx, **kwargs)

View file

@ -19,8 +19,7 @@ class Distro(Base):
cmd.extend(['--non-interactive', '--gpg-auto-import-keys', '--no-gpg-checks']) cmd.extend(['--non-interactive', '--gpg-auto-import-keys', '--no-gpg-checks'])
cmd.extend(args) cmd.extend(args)
if sudo: if sudo:
# Run sudo --login in case /etc/profile modifies ZYPP_CONF return await self.sudo(cmd, verbose=verbose)
return await self.sudo(cmd, opts=['--login'], verbose=verbose)
return await self.run(cmd, verbose=verbose) return await self.run(cmd, verbose=verbose)
async def rpm(self, *args, **kwargs) -> Result: async def rpm(self, *args, **kwargs) -> Result: