From fdf01f0cf68081218993422885082ac2937f1608 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Thu, 11 Apr 2019 21:26:43 +0200 Subject: Skipping re-exec for when git repo is already up to date --- archinstall.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'archinstall.py') diff --git a/archinstall.py b/archinstall.py index 4fc31fe2..27d415cc 100644 --- a/archinstall.py +++ b/archinstall.py @@ -173,6 +173,7 @@ class sys_command(): exit_code = os.waitpid(self.pid, 0)[1] if exit_code != 0: print('[E] Command "{}" exited with status code:'.format(self.cmd[0]), exit_code) + exit(1) def simple_command(cmd, opts=None, *args, **kwargs): if not opts: opts = {} @@ -206,22 +207,22 @@ def update_git(): os.remove('/root/archinstall/README.md') output = simple_command('(cd /root/archinstall; git reset --hard origin/$(git branch | grep "*" | cut -d\' \' -f 2); git pull)') - print(output) if b'error:' in output: print('[N] Could not update git source for some reason.') return # b'From github.com:Torxed/archinstall\n 339d687..80b97f3 master -> origin/master\nUpdating 339d687..80b97f3\nFast-forward\n README.md | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n' - tmp = re.findall(b'[0-9]+ file changed', output) - print(tmp) - if len(tmp): - num_changes = int(tmp[0].split(b' ',1)[0]) - if(num_changes): - ## Reboot the script (in same context) - print('[N] Rebooting the script') - os.execv('/usr/bin/python3', ['archinstall.py'] + sys.argv) - extit(1) + if not b'Already up to date' in output: + tmp = re.findall(b'[0-9]+ file changed', output) + print(tmp) + if len(tmp): + num_changes = int(tmp[0].split(b' ',1)[0]) + if(num_changes): + ## Reboot the script (in same context) + print('[N] Rebooting the script') + os.execv('/usr/bin/python3', ['archinstall.py'] + sys.argv) + extit(1) def device_state(name): # Based out of: https://askubuntu.com/questions/528690/how-to-get-list-of-all-non-removable-disk-device-names-ssd-hdd-and-sata-ide-onl/528709#528709 -- cgit v1.2.3-70-g09d2