Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-01-25 00:09:34 +0100
committerAnton Hvornum <anton@hvornum.se>2021-01-25 00:09:34 +0100
commit435d2f687eda1548e56270787b11f024e2a8e08d (patch)
treea3f21df670cc7450c2a91ac26b71229860578664
parent9a94a632bfdcbc71b19ee23055296ad7e43987fa (diff)
Added some more fields to the configuration output, as well as added a better fail safe for the logging output. Any exception during the installation will be caught by __exit__ in Installer(), hopefully.
-rw-r--r--archinstall/lib/general.py6
-rw-r--r--archinstall/lib/installer.py1
-rw-r--r--examples/guided.py5
3 files changed, 9 insertions, 3 deletions
diff --git a/archinstall/lib/general.py b/archinstall/lib/general.py
index 203f5fa9..dc94b063 100644
--- a/archinstall/lib/general.py
+++ b/archinstall/lib/general.py
@@ -245,9 +245,9 @@ class sys_command():#Thread):
self.exit_code = 0
if self.exit_code != 0 and not self.kwargs['suppress_errors']:
- self.log(f"'{self.raw_cmd}' did not exit gracefully, exit code {self.exit_code}.", level=LOG_LEVELS.Error)
- self.log(self.trace_log.decode('UTF-8'), level=LOG_LEVELS.Debug)
- raise SysCallError(f"'{self.raw_cmd}' did not exit gracefully, exit code {self.exit_code}.\n{self.trace_log.decode('UTF-8')}")
+ #self.log(self.trace_log.decode('UTF-8'), level=LOG_LEVELS.Debug)
+ #self.log(f"'{self.raw_cmd}' did not exit gracefully, exit code {self.exit_code}.", level=LOG_LEVELS.Error)
+ raise SysCallError(f"{self.trace_log.decode('UTF-8')}\n'{self.raw_cmd}' did not exit gracefully (trace log above), exit code: {self.exit_code}")
self.ended = time.time()
with open(f'{self.cwd}/trace.log', 'wb') as fh:
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index 1218b840..48198635 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -75,6 +75,7 @@ class Installer():
# b''.join(sys_command(f'sync')) # No need to, since the underlaying fs() object will call sync.
# TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager
if len(args) >= 2 and args[1]:
+ self.log(args[1], level=LOG_LEVELS.Error)
raise args[1]
self.genfstab()
diff --git a/examples/guided.py b/examples/guided.py
index 7726d5b9..f6c80969 100644
--- a/examples/guided.py
+++ b/examples/guided.py
@@ -85,6 +85,7 @@ archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', suppress_error
if len(keyboard_language := archinstall.select_language(archinstall.list_keyboard_languages()).strip()):
archinstall.set_keyboard_language(keyboard_language)
+ archinstall.storage['_guided']['keyboard_layout'] = keyboard_language
# Create a storage structure for all our information.
# We'll print this right before the user gets informed about the formatting timer.
@@ -102,6 +103,7 @@ while (disk_password := getpass.getpass(prompt='Enter disk encryption password (
if disk_password != disk_password_verification:
archinstall.log(' * Passwords did not match * ', bg='black', fg='red')
continue
+ archinstall.storage['_guided']['disk_encryption'] = True
break
archinstall.storage['_guided']['harddrive'] = harddrive
@@ -118,7 +120,10 @@ while (root_pw := getpass.getpass(prompt='Enter root password (leave blank to le
archinstall.log(' * Passwords did not match * ', bg='black', fg='red')
continue
+ # Storing things in _guided_hidden helps us avoid printing it
+ # when echoing user configuration: archinstall.storage['_guided']
archinstall.storage['_guided_hidden']['root_pw'] = root_pw
+ archinstall.storage['_guided']['root_unlocked'] = True
break
# Ask for additional users (super-user if root pw was not set)