From 0a8c061ab405e244a187b4615654ecca2e538156 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Thu, 10 Jun 2021 21:00:33 +0200 Subject: Fixed format detection on commands, should be using exit codes instead? --- archinstall/lib/disk.py | 12 +++--------- archinstall/lib/installer.py | 8 ++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'archinstall/lib') diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py index 4fb3d1e0..8e9d0d3f 100644 --- a/archinstall/lib/disk.py +++ b/archinstall/lib/disk.py @@ -437,13 +437,13 @@ class Partition: log(f'Formatting {path} -> {filesystem}', level=logging.INFO) if filesystem == 'btrfs': - if b'UUID' not in (mkfs := SysCommand(f'/usr/bin/mkfs.btrfs -f {path}')): + if 'UUID:' not in (mkfs := SysCommand(f'/usr/bin/mkfs.btrfs -f {path}').decode('UTF-8')): raise DiskError(f'Could not format {path} with {filesystem} because: {mkfs}') self.filesystem = filesystem elif filesystem == 'fat32': - mkfs = SysCommand(f'/usr/bin/mkfs.vfat -F32 {path}') - if (b'mkfs.fat' not in mkfs and b'mkfs.vfat' not in mkfs) or b'command not found' in mkfs: + mkfs = SysCommand(f'/usr/bin/mkfs.vfat -F32 {path}').decode('UTF-8') + if ('mkfs.fat' not in mkfs and 'mkfs.vfat' not in mkfs) or 'command not found' in mkfs: raise DiskError(f"Could not format {path} with {filesystem} because: {mkfs}") self.filesystem = filesystem @@ -619,12 +619,6 @@ class Filesystem: else: partition['device_instance'].format(partition['filesystem']['format'], allow_formatting=partition.get('format', False)) - def mount_ordered_layout(self, layout :dict): - mountpoints = {} - for partition in layout['partitions']: - print(partition) - exit(0) - def find_partition(self, mountpoint): for partition in self.blockdevice: if partition.target_mountpoint == mountpoint or partition.mountpoint == mountpoint: diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index da6f6a9b..b62b9595 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -122,6 +122,14 @@ class Installer: return True + def mount_ordered_layout(self, layout :dict): + mountpoints = {} + for partition in layout['partitions']: + mountpoints[partition['mountpoint']] = partition['device_instance'] + + for mountpoint in sorted(mountpoints.keys()): + mountpoints[mountpoint].mount(f"{self.target}{mountpoint}") + def mount(self, partition, mountpoint, create_mountpoint=True): if create_mountpoint and not os.path.isdir(f'{self.target}{mountpoint}'): os.makedirs(f'{self.target}{mountpoint}') -- cgit v1.2.3-70-g09d2