Make it possible to roll back upgrades
Adapted from postmarketos#18, where the default app format is discussed:
Unlike flatpak, the apk packages + appstream approach does not make it possible to roll back apps conveniently after an upgrade went wrong. Because updating an app may have updated depending libraries at the same time, and other programs may depend on the new library.
But I argue that this is not something we should optimize for. I propose a rollback of the whole (package manager maintained) system with btrfs and snapshots. Snapper seems to be the appropriate tool, and it is packaged in Alpine. I have not tested it personally.
I imagine that we would allow bringing up a rollback menu during boot with some key combination. If activated, it allows booting into a previous btrfs snapshot.
So this is just the bare bones idea, but what do you think about it, before we get into all the details and edge cases?
EDIT: How about, we make this all optional, in case postmarketOS is running with a downstream kernel where btfs isn't running stable. Or in case users just don't need this feature for their use case.