From f928a4b72cbdcf1ea4ec09267e184016e8c91f45 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Thu, 20 Jun 2019 18:25:43 +0000 Subject: probihiting recursion bombs regarding git pull --- archinstall.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'archinstall.py') diff --git a/archinstall.py b/archinstall.py index df0525cd..1f5edcee 100644 --- a/archinstall.py +++ b/archinstall.py @@ -262,8 +262,7 @@ def update_git(): if os.path.isfile('/root/archinstall/README.md'): 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)') - output = simple_command('(cd /root/archinstall; git pull)') + output = simple_command('(cd /root/archinstall; git reset --hard origin/$(git branch | grep "*" | cut -d\' \' -f 2); git pull)') if b'error:' in output: print('[N] Could not update git source for some reason.') @@ -271,17 +270,17 @@ def update_git(): # 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' if output != b'Already up to date': - print(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) + if not 'rebooted' in args: + ## Reboot the script (in same context) + print('[N] Rebooting the script') + os.execv('/usr/bin/python3', ['archinstall.py', '--rebooted'] + 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