You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Distrobox is using OCI containers very differently than they are meant to. Normally you would just use podman etc. commands to update a container, and also for rebasing to the next release.
This does not work with this model, as the base image is minimal and mostly used for doing manual overwrites to it. Everything included is also likely included in something like Fedora atomic desktops.
As context I would also like to separate the home directories by default, so I will integrate this requirement in the idea.
distrobox system-upgrade NAME should work like this:
Enter the box.
cd ~
`if $PWD == "/home/$USER" or "/var/home/$USER"
Create a backup dir mkdir ~/DISTROBOX-$NAME-BACKUP
Use one of a set of different commands to somehow get all the manually installed apps (there has to be a way right? Something else than history | grep dnf install
Save those apps to a variable
Use podman pull or whatever used container tool, get the version and name of the used OCI image
Fetch all images, somehow separate the numbers and calculate to only show higher values than the current release version
Display a dialog
Upgrading $NAME, choose a version:
1
2
3
Use a read prompt (or something more elegant, like Ratatui) to let the user choose an option
Remove or directly upgrade the used OCI container, discarding all local differences (if needed by removal and reinstallation) (keep the name)
Enter it
Reinstall the packages using the package manager defined above
Copy or move the backup .config or entire home to this boxes home, also using a variable from above maybe
Display a nice finished notification!
What do you think? This is pretty complex, btw using topgrade from within the box should require no dependencies and make things a loot easier. (Ublue uses that in their updater so support is pretty much guaranteed).
Cheers!
The text was updated successfully, but these errors were encountered:
yea that indeed is a use-case to cover, but I'm still not convinced by either me accumulating commands, nor using external dependencies 😅
Ideally an user would use distrobox-assemble and have manifests, that would just require to re-create the container to pull the :latest image and be done with it
Distrobox is using OCI containers very differently than they are meant to. Normally you would just use podman etc. commands to update a container, and also for rebasing to the next release.
This does not work with this model, as the base image is minimal and mostly used for doing manual overwrites to it. Everything included is also likely included in something like Fedora atomic desktops.
As context I would also like to separate the home directories by default, so I will integrate this requirement in the idea.
distrobox system-upgrade NAME
should work like this:cd ~
mkdir ~/DISTROBOX-$NAME-BACKUP
else
(user is using a different home)break
/etc/os-release
or/etc/lsb_release
for distrobox-upgrade #744history | grep dnf install
What do you think? This is pretty complex, btw using topgrade from within the box should require no dependencies and make things a loot easier. (Ublue uses that in their updater so support is pretty much guaranteed).
Cheers!
The text was updated successfully, but these errors were encountered: