remove update on exit (with flag to not do that)
This commit is contained in:
parent
e14cc419a0
commit
cba45e457e
1 changed files with 13 additions and 6 deletions
19
akshara
19
akshara
|
@ -458,10 +458,8 @@ command_map = {'help': 'help',
|
|||
'daemon': daemon}
|
||||
parser.add_argument('command', choices=command_map.keys(),
|
||||
help=argparse.SUPPRESS)
|
||||
parser.add_argument('pkg', action='store', type=str,
|
||||
nargs='*', help=argparse.SUPPRESS)
|
||||
parser.add_argument('--headless',
|
||||
action='store_true', help=argparse.SUPPRESS)
|
||||
parser.add_argument('--keep-files-on-error',
|
||||
action='store_true', help="keep working files on error")
|
||||
parser.add_argument('-v', '--version', action='version',
|
||||
version=f'%(prog)s {__version}', help=argparse.SUPPRESS)
|
||||
|
||||
|
@ -484,11 +482,20 @@ try:
|
|||
parser.parse_args(['--version'])
|
||||
elif command == update_system:
|
||||
exec('touch', '/var/lib/.akshara-system-lock')
|
||||
system_lock = fasteners.InterProcessLock('/var/lib/.akshara-system-lock')
|
||||
system_lock = fasteners.InterProcessLock(
|
||||
'/var/lib/.akshara-system-lock')
|
||||
info('attempting to acquire system lock')
|
||||
with system_lock:
|
||||
command()
|
||||
else:
|
||||
command()
|
||||
except KeyboardInterrupt:
|
||||
except:
|
||||
error('aborting')
|
||||
# remove update and akshara stuff if the program errors (either exited by the user or an error) and is updating
|
||||
if command == update_system and not args.keep_files_on_error:
|
||||
exec('umount', '-rf', '/.new_rootfs/')
|
||||
exec('rmdir', '/.new_rootfs/')
|
||||
exec('rm', '-rf', '/.update_rootfs')
|
||||
exec('rm', '-f', '/.update')
|
||||
else:
|
||||
print("--keep-files-on-error specified, not deleting files (/.new_rootfs/, /.update_rootfs/, /.update)")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue