index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2021-04-11 08:44:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-11 08:44:37 +0000 |
commit | 75b6ab396e3913e021ebfc49b626dfefd9eb0924 (patch) | |
tree | ef1fccf6d115807741e6b0bcda4d38a1ac8d6af3 | |
parent | 6fb0f006d0bf93a8436fd85d3f209a0603b3dd1f (diff) | |
parent | c674bbd3024dc79ce1e630a0471a4d4fd52f6df5 (diff) |
-rw-r--r-- | archinstall/lib/exceptions.py | 2 | ||||
-rw-r--r-- | archinstall/lib/installer.py | 16 | ||||
-rw-r--r-- | docs/archinstall/general.rst | 10 |
diff --git a/archinstall/lib/exceptions.py b/archinstall/lib/exceptions.py index a320eef6..49913980 100644 --- a/archinstall/lib/exceptions.py +++ b/archinstall/lib/exceptions.py @@ -18,4 +18,6 @@ class HardwareIncompatibilityError(BaseException): class PermissionError(BaseException): pass class UserError(BaseException): + pass +class ServiceException(BaseException): pass
\ No newline at end of file diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 92e89f26..4ff9e80a 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -178,9 +178,11 @@ class Installer(): if self.enable_service('ntpd'): return True - def enable_service(self, service): - self.log(f'Enabling service {service}', level=LOG_LEVELS.Info) - return self.arch_chroot(f'systemctl enable {service}').exit_code == 0 + def enable_service(self, *services): + for service in services: + self.log(f'Enabling service {service}', level=LOG_LEVELS.Info) + if (output := self.arch_chroot(f'systemctl enable {service}')).exit_code != 0: + raise ServiceException(f"Unable to start service {service}: {output}") def run_command(self, cmd, *args, **kwargs): return sys_command(f'/usr/bin/arch-chroot {self.target} {cmd}') @@ -245,14 +247,12 @@ class Installer(): # If we haven't installed the base yet (function called pre-maturely) if self.helper_flags.get('base', False) is False: def post_install_enable_networkd_resolved(*args, **kwargs): - self.enable_service('systemd-networkd') - self.enable_service('systemd-resolved') - + self.enable_service('systemd-networkd', 'systemd-resolved') self.post_base_install.append(post_install_enable_networkd_resolved) # Otherwise, we can go ahead and enable the services else: - self.enable_service('systemd-networkd') - self.enable_service('systemd-resolved') + self.enable_service('systemd-networkd', 'systemd-resolved') + return True diff --git a/docs/archinstall/general.rst b/docs/archinstall/general.rst index 312c03af..c3913ea9 100644 --- a/docs/archinstall/general.rst +++ b/docs/archinstall/general.rst @@ -91,3 +91,13 @@ Exceptions .. autofunction:: archinstall.ProfileError .. autofunction:: archinstall.SysCallError + +.. autofunction:: archinstall.ProfileNotFound + +.. autofunction:: archinstall.HardwareIncompatibilityError + +.. autofunction:: archinstall.PermissionError + +.. autofunction:: archinstall.UserError + +.. autofunction:: archinstall.ServiceException |