Extract custom-commands function into general.py
This commit is contained in:
parent
11c9632322
commit
5652ba20ae
|
|
@ -366,3 +366,13 @@ def pid_exists(pid: int):
|
||||||
return any(subprocess.check_output(['/usr/bin/ps', '--no-headers', '-o', 'pid', '-p', str(pid)]).strip())
|
return any(subprocess.check_output(['/usr/bin/ps', '--no-headers', '-o', 'pid', '-p', str(pid)]).strip())
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def run_custom_user_commands(commands):
|
||||||
|
for index, command in enumerate(commands):
|
||||||
|
log(f'Executing custom command "{command}" ...', fg='yellow')
|
||||||
|
with open(f"/mnt/var/tmp/user-command.{index}.sh", "w") as temp_script:
|
||||||
|
temp_script.write(command)
|
||||||
|
execution_output = SysCommand(f"arch-chroot /mnt bash /var/tmp/user-command.{index}.sh")
|
||||||
|
log(execution_output)
|
||||||
|
os.unlink(f"/mnt/var/tmp/user-command.{index}.sh")
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,9 @@ import os
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import archinstall
|
import archinstall
|
||||||
from archinstall.lib.general import SysCommand
|
from archinstall.lib.general import run_custom_user_commands
|
||||||
from archinstall.lib.hardware import has_uefi
|
from archinstall.lib.hardware import has_uefi
|
||||||
from archinstall.lib.networking import check_mirror_reachable
|
from archinstall.lib.networking import check_mirror_reachable
|
||||||
from archinstall.lib.profiles import Profile
|
|
||||||
|
|
||||||
if archinstall.arguments.get('help'):
|
if archinstall.arguments.get('help'):
|
||||||
print("See `man archinstall` for help.")
|
print("See `man archinstall` for help.")
|
||||||
|
|
@ -378,14 +377,8 @@ def perform_installation(mountpoint):
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
# If the user provided custom commands to be run post-installation, execute them now.
|
# If the user provided custom commands to be run post-installation, execute them now.
|
||||||
if len(archinstall.arguments['custom-commands']):
|
if archinstall.arguments.get('custom-commands', None):
|
||||||
for index, command in enumerate(archinstall.arguments['custom-commands']):
|
run_custom_user_commands(archinstall.arguments['custom-commands'])
|
||||||
archinstall.log(f'Executing custom command "{command}" ...', fg='yellow')
|
|
||||||
with open(f"/mnt/var/tmp/user-command.{index}.sh", "w") as temp_script:
|
|
||||||
temp_script.write(command)
|
|
||||||
execution_output = SysCommand(f"arch-chroot /mnt bash /var/tmp/user-command.{index}.sh")
|
|
||||||
archinstall.log(execution_output)
|
|
||||||
os.unlink(f"/mnt/var/tmp/user-command.{index}.sh")
|
|
||||||
|
|
||||||
installation.log("For post-installation tips, see https://wiki.archlinux.org/index.php/Installation_guide#Post-installation", fg="yellow")
|
installation.log("For post-installation tips, see https://wiki.archlinux.org/index.php/Installation_guide#Post-installation", fg="yellow")
|
||||||
if not archinstall.arguments.get('silent'):
|
if not archinstall.arguments.get('silent'):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue