lectrode / xs-update-manjaro

Update script for Manjaro
Other
11 stars 2 forks source link

Allow update on shutdown w/ Plymouth integration #49

Open TobiPeterG opened 2 years ago

TobiPeterG commented 2 years ago

Hey there,

it'd be cool if this script would support the functionality of this script as well, so that there's "one to rule them all".

This means:

This can be accomplished by using a systemd service that a) is started at startup b) has it's dependency services declared c) prevents those from being stopped at shutdown before the script ends A specific implementation of such service can be found at the repo above

Also, it's required to override a systemd script to prevent the script from being killed while running. This has the disadvantage of the system potentially hanging endlessly, should there be any other way, recommendations are always welcome.

The updater would have to support snaps as well, to be completely on function parity with the script above. This could be done by using pamac to update the system. In this case, the progress bar implementation for plymouth is already existing in the script above.

Should I have missed anything, feel free to get in touch! :)

lectrode commented 2 years ago

Comment to track progress of implementation of request.

Current list of prerequisites/tasks to implement the main functionality requested:

The trickiest part seems like the shutdown process. In the past I've setup a desktop shortcut to be the shutdown command (shortcut runs the script in full screen, which is pre-configured to be allowed to run with sudo without a password, and the script eventually shuts down or restarts the computer when finished). Having the script be a part of the shutdown process instead of initiating it might take some doing...

The rest should be relatively easy to implement, just a matter of having time. I'll probably implement some of this before finishing the kernel management, which is already turning out to be adding another 20% of code to the total size of the script - from 54kb to 65kb.