steamdeck-linux / decker

A Package Restore Helper for the Steam Deck.
GNU General Public License v3.0
33 stars 1 forks source link

Update Survivability and automatic restore after Update #5

Closed NightHammer1000 closed 2 years ago

NightHammer1000 commented 2 years ago

Hi.

Pretty excited about this Tool. Flatpak is annoying as all hell.

Just a few questions. Are you looking into ways to survive SteamOS Updates and Restoring the Packages afterwards automatically?

I know of one SteamOS Mod that can do that: https://gitlab.com/popsulfr/steamos-btrfs

It would be great to keep manual interaction to a minimum.

moxvallix commented 2 years ago

Yeah, this tool copies entries from the Pacman database, and package files from the cache, to a directory in the home partition. When "Restore" is run, the Pacman database entries are restored, then each cached package is re-installed from it's cached package file.

When you install a package through this tool, that package is "registered" by Decker, as well as all it's dependencies that are not already installed (so we don't cache system packages and waste space). Only packages installed through Decker can be restored.

"Patches" can also be registered, by pointing to a file (not folder currently) in the filesystem. Upon restore, those files will be restored to the correct place in the filesystem, with matching file permissions.

As for restoring automatically, I might make it optional that Decker could hook itself into the Autorun scripts, and automatically check if packages need to be restored upon login to Desktop Mode.

Currently, the tool is still in development, on the babushka-dev branch. The bash script in the main branch was made so that I could get others to test if the basic concept would work, as I don't have a SteamDeck yet. However, if you wanted to test out an Alpha version, https://send.vis.ee/download/65edc7cf927d6a4c/#M_wAtJ2mCtzGyJnCZCGNOA.