Phoning home in Garuda Update (shocking)

I’m unhappy right now and I want some opinions. Yes the title is (kinda) clickbait to get you to read this and share your opinion.

The problem child

Right now, we currently have a package called garuda-hotfixes which is automatically updated before all other packages. This in theory allows us to apply some level of hotfixes in an emergency before further updates are installed.

The thing is, when this package was created, garuda-update wasn’t the tool it is today. Today, the update script can handle almost every scenario, and can and does replace garuda-hotfixes entirely. The package has not received an update in over 3 years, and the only reason I can not give you a precise number is that the repository for pkgbuilds literally didn’t exist back when it was last updated.

The one (broken) case

There is one thing that garuda-hotfixes does that garuda-update can’t. Garuda System Maintenance, our tray background service, is in theory able to show notifications and update garuda-hotfixes outside of the normal garuda-update cycle.

Back then, this was important because the update script was nowhere near as widely used as it is today. It has truly cemented itself as the one go-to way to update Garuda, which was definitely not the case back then. Nowadays, Garuda System Maintenance’s support for updating keyrings and the hotfixes package has fallen into major disrepair. The feature doesn’t work anymore and does nothing but try and fail to update the keyrings when the system is first installed. It needs to go.

Phoning home every 60 minutes

As it stands right now, Garuda System Maintenance phones home regularly to check the forum for new Announcements > Announcements - Maintenance posts to display them to the user. Additionally, there is another phone home happening that checks if any keyring package has been updated in the Arch Linux repository OR if the hotfixes package has been updated. This can be turned off in the Garuda System Maintenance settings.

What I’m planning to do about it

If it’s not clear yet garuda-hotfixes needs to go. I plan on removing the entirety of the keyring and hotfix updating support from Garuda System Maintenance. This also removes a large part of the “phoning home” that is taking place, and more critically, isolates the phoning home to only the Garuda Linux official infrastructure, in this case the forum, to display new Announcements > Announcements - Maintenance posts.

I also plan on ADDING one “phoning home” part to garuda-update. Currently, if anything happens that prevents garuda-update from updating itself, there is nothing we can do to prevent the need for manual intervention. If a large scale change, like a switch to new Chaotic AUR infrastructure was happening, there would be no way to smoothly allow older systems to recover. Any widespread future issues that might affect a large amount of users can not be countered on a distribution wide way.

I intend to add a bit of “phoning home” that only kicks in when Garuda Update fails to update itself. At which point, the script will reach out to the Garuda Infrastructure and see if any hotfixes are available and if those hotfixes apply to the current garuda-update version. If they do, the hotfix script will be downloaded from the Garuda Infrastructure and the user will receive a prompt asking for yes/no consent on executing the code that was downloaded.

This way, if all normal hotfix application methods are working normally, the new “emergency hotfix” system will do nothing at all. But as soon as something disrupts it, the new system is there to take over and help in a way that garuda-hotfixes never could, even in its prime.

Relief.

I’ve been thinking about how to handle garuda-hotfixes for weeks now and I think I’ve finally found something I’m happy with and I even wrote it down for others to read! I want to know if this at all sounds reasonable to you all compared to the old system or if there’s any room for improvement.

21 Likes

Thank you very much for sharing your thoughts. Very extraordinary. :blue_heart:

To me, it all sounds very logical and well thought out.
Based on my experience with Garuda thus far, I have confidence in you and the team. You will take all necessary and appropriate steps to further improve Garuda.

5 Likes

I like the idea of trimming something that doesn’t work and isn’t needed, especially if it can be done without breaking people’s install.

2 Likes

Your have really well planned idea, I would love to see it happen… :grin: :blush:

garuda-update is a large reason why i have settled and not distohopped in over 2 years. I’m sure you will make the right call, i’m just here for the ride. No worries bra

2 Likes

Take your time it calling to the forum is the least intrusive “call home” feature I’ve seen. As long as there is something that helps users not have to manually fix things It’s a + in my books. Less time spent on telegram saying say same thing a 1,000 times. XD

1 Like

As long as I can work with my old MacBook, it’s fine.
If not, I’ll have to cancel my planned trip.
This has happened to me before. Back then, I could have shot every single coronavirus in the street…

For me, Garude means freedom and independence and thus contributes to my quality of life.

I would accept it without complaint.

I really like how you try to avoid manual intervention if possible.

3 Likes

Automation is my middle name :winking_face_with_tongue:

In all seriousness, I believe manual intervention on a large scale affecting every single user of Garuda Linux has no place in this distribution. There are many other Arch Linux based distributions that expect you to read the forum for announcement posts religiously, just in case something ever comes up. Garuda Linux does not work like that. Any manual intervention that can be automated is generally automated. Any important announcements are directly sent as a notification on the system too. Any not so important notifications are shown at the end of a garuda-update in the changelog, so you can see what our automations did behind the scenes if ever necessary.

11 Likes

Sounds like a solid and balanced approach. I appreciate you trying to minimize the number of home calls, but it makes perfect to make them now and again if all else fails. :victory_hand:

3 Likes

And then people say Garuda’s just a skin :person_facepalming:

Seriously, thank you for your consistent efforts in making the best user experience one could ever dream of in terms of updates on an Arch base.

{Insert E.T. meme, couldn’t find the right one}

8 Likes

Implemented in Garuda Update 5.0.0.

Let’s hope it will never be used! You can now uninstall garuda-hotfixes and it should let you do so.

11 Likes

I had no clue you people were running such magic behind the scenes!

I was aware you are able to push critical fixes but this is next level of thinking.

Very well done! :slight_smile:

2 Likes