Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solus >=4.5: Consider providing an upgrade path from MATE to XFCE installs #1134

Closed
joebonrichie opened this issue Dec 24, 2023 · 3 comments · Fixed by #1186
Closed

Solus >=4.5: Consider providing an upgrade path from MATE to XFCE installs #1134

joebonrichie opened this issue Dec 24, 2023 · 3 comments · Fixed by #1186
Labels
Help Wanted Priority: Wishlist It would be nice to have Topic: Platform Integration Integration of various components within Solus

Comments

@joebonrichie
Copy link
Contributor

joebonrichie commented Dec 24, 2023

Consider providing an upgrade path from MATE to XFCE to allow the user to continue using their existing install as MATE is deprecated from 4.4 and no longer provided from 4.5.

This could be done with a simple GUI wrapper around :

  1. Packagekit
  2. Comar

Packagekit pros:

  • Offline install support so the DE doesn't break under you

Comar pros

  • Itś what solus-sc uses so you can pull inspiration from there

The GUI wrapper would simply uninstall mate desktop packages and branding and replace it with xfce + branding.

@joebonrichie joebonrichie added Topic: Platform Integration Integration of various components within Solus Priority: Wishlist It would be nice to have Help Wanted labels Dec 24, 2023
@github-project-automation github-project-automation bot moved this to Triage in Solus Dec 24, 2023
@sheepman4267
Copy link
Member

I propose approaching this in stages, so the automated update path is something like this:

  1. GUI tool loads, shows help text about the process. Click through to install XFCE and change the default session. We can add this as a rundep of MATE, so it automatically gets installed (and auto-launched on login to pester the user).
  2. Reboot, loading XFCE. Make sure it works and there isn't some edge case happening.
  3. GUI tool prompts on startup to remove both itself and MATE from the system if XFCE is already running.

This not only prevents the DE from breaking while the system is still running (no matter PackageKit or Comar or whatever), but also provides a GUI fallback should there be some strange hardware or software incompatibility resulting in completely broken XFCE on first boot. We test as much as we can, but we can't test every configuration, and edge cases happen. I'd hate to have a user attempt the upgrade path on their only matrix-capable device, somehow end up with a borked graphical environment due to an edge case, and have no way to ask us for support.

I would still propose doing this with PackageKit, as that's likely the mechanism we'll want to use going forward (post-Solus 5 especially) should we have to do anything else like this in the future. If we build this with an API which will still be relevant in the future, that allows for at least slightly more time and care to be taken in the construction of this tool. However, to save on number of reboots (and therefore user time), I'd propose not using offline installs.

I envision this GUI tool being written to read a list of packages to remove, and a list of packages to install replacing them. This list would live in a GitHub repo along with the tool itself. When a new set of packages is replaced, we fork the repo, update the package lists, and package it again under a new name (and set as a rundep of whatever package we're dealing with). Hopefully we won't have to do this often, but it seems wise to write the tool with the possibility in mind.

@WetGeek
Copy link

WetGeek commented Dec 30, 2023

Thinking back to my Solus 4.4 Xfce VM, it seemed pretty easy to install the Xfce desktop and remove the Budgie desktop. Would it be just as simple to apply that to converting a MATE edition to an Xfce edition? Seems like they're both built on the GNOME stack, like the Bdugie edition I converted to Xfce a long time ago. Couldn't a simple script do that? Or just some printed instructions for the user?

joebonrichie added a commit that referenced this issue Jan 4, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
joebonrichie added a commit that referenced this issue Jan 18, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
joebonrichie added a commit that referenced this issue Jan 18, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
joebonrichie added a commit that referenced this issue Mar 18, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
joebonrichie added a commit that referenced this issue Apr 29, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
joebonrichie added a commit that referenced this issue Apr 29, 2024
**Summary**
- Provides an upgrade path for existing MATE installs
- Resolves #1134.
davidjharder added a commit that referenced this issue Apr 29, 2024
**Summary**

- Provides an upgrade path for existing MATE installs
- Resolves #1134.

**Test Plan**

- Run tool on MATE vm and install XFCE in non US locale
- Run tool on MATE vm and install Budgie in non US locale

**Checklist**

- [x] Package was built and tested against unstable
@github-project-automation github-project-automation bot moved this from Triage to Done in Solus Apr 29, 2024
@sebo505
Copy link

sebo505 commented Apr 30, 2024

@joebonrichie Hey Joey, I am testing the tool in regard of german translation (de_DE). What would I need to do to let transition fail on purpose to check error messages? I can think of not giving enough disk space and cutting internet-connection during download. I did the latter while it was downloading Budgie. No error messages here. After a short while, it just went from Downloading... to Finished and stopped there. Is this desired behaviour? After restarting tool, I could restart the download and tool would then install Budgie.
Then I have reset VM and started from beginning.
After successful installation of Budgie or XFCE, tool again just says Finished. (Just to be clear: translation was fine. Tool originally printed Beendet here and before. I refer here to original english strings for comprehension.)
I had to figure out myself that it's time to close the window and reboot.
I have never seen this dialog {DE} Successfully installed, please reboot to continue.
After reboot, if you then login to MATE anyways, transition-tool autostarts.
It does not autostart however for removal of MATE if you login to Budgie/XFCE. Here you have to start it manually to proceed.
Also, after installation of XFCE and removal of MATE, this dialog appears: Successfully Completed Transition to {} We hope you enjoy using your new desktop environment.
This dialog however does not appear after installation of Budgie and removal of MATE. Here, it just says Finished and you have again to figure out yourself to just close the window.

If you rerun transition tool after removal of MATE you get an error dialog that says: Logout and login to the MATE session first to continue This string is actually in english. That is the only time I have seen a non-translated string.
All german translations also have been correct.

Apart of my above comments, tool works great.

David edit: This comment moved to new issue here getsolus/solus-mate-transition-tool#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help Wanted Priority: Wishlist It would be nice to have Topic: Platform Integration Integration of various components within Solus
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants