DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.17k stars 39 forks source link

latest updates on flathub #266

Closed craigz closed 11 months ago

craigz commented 12 months ago

I'd read about the release of 2.8.1 with great excitement sometime last week. However the discover store on steam deck persists in only showing version 2.8.0. I've done a bit of digging and it appears that the discover store is a front end to flathub.

Sure enough, searching flathub for ProtonUp-Qt locates the same 2.8.0 version: https://flathub.org/apps/net.davidotek.pupgui2

I would assume when flathub gets an update, it will appear for the steam deck in the discover store. As I've got version 2.8.0 installed via that method, I'm not too keen on manually updating and causing some split-brain issues, but I'm less keen on waiting for the update, lol!

I'm not sure what's involved with pushing updates to flathub, but I'd be glad to do whatever legwork would be helpful.

sonic2kk commented 12 months ago

Ah, you're correct, v2.8.1 isn't available on Flathub!

I've done a bit of digging and it appears that the discover store is a front end to flathub.

That is only partially correct. Jargon alert: Discover is a general software manager frontend. It can pull from several different sources. On a Linux Desktop it can interact with most package managers such as pacman and dnf, it can also manage Flatpaks from various sources including Flathub (but custom sources can be added).

Discover is more than just a frontend for Flathub. You can read more about it on KDE's website if you're interested. Many people use Discover without using Flathub at all!

I'm not sure what's involved with pushing updates to flathub, but I'd be glad to do whatever legwork would be helpful.

At a high level, it should just be a case of bumping the commit hash - in very simple terms, an alphanumeric string that points to the version of the code in a specific point-in-time, such as v2.8.1. The specific hash for bumping to v2.8.1 is 3ac6a7b871698d0e72270fc93c750b3cff144dc9. This change has not been done yet.

However there also needs to be some testing done with the Flatpak build to ensure no regressions.

If you'd like to do the work and you're familiar with git, feel free to fork the Flathub repo and bump the commit hash. You'll want to bump it to 3ac6a7b871698d0e72270fc93c750b3cff144dc9, and the specific line you'll want to change is here: https://github.com/flathub/net.davidotek.pupgui2/blob/master/net.davidotek.pupgui2.json#L93

Here is a reference that bumped the version to v2.8.0, you'll want to do the same thing but with a different commit hash: https://github.com/flathub/net.davidotek.pupgui2/commit/7890e73721eda0ed7e954168564e8ee7d2072c2d

Once you've made the change you'll want to open a PR on the Flathub repo, and then a "buildbot" will automatically generate a Flatpak "artefact" based on the content of the PR - In other words, it will create a Flatpak for the purposes of testing that is contained specifically to that PR and not published elsewhere.

Though it is probably not a good idea to test it on a Steam Deck, it's probably better to test it on a Linux Desktop to avoid, as you mentioned, split-brain issues :-) Though someone else should also be able to test, and it wouldn't really be up to you to fix regressions with the Flatpak on SteamOS. It would just mean the regressions would need to be fixed, and the commit hash in the PR would then need to be updated to point to the code at the point-in-time with those fixes.

Once the PR is merged, Flathub will pick up the changes in... some period of time. I think it's a few hours, I'm not particularly sure.


There is no worries if you don't want to do this for any reason, I am only mentioning because you showed some interest, and I want to respect that and give some pointers on what might be required. Not everyone is familiar with git etc, there is no expectations that you have to do this just because you opened this issue. If you have some familiarity with git this shouldn't be too troublesome of a change, just a one-line change (not including a testing effort).

craigz commented 12 months ago

Thanks for the details, my only real contact with flathub has been via the steam deck.

I don't have any other linux desktop to do testing on.

However, I would be unable to actually test it until it gets published to the discover store, where I'd then test on the steam deck.

If there are any regressions, they'd be out there in the wild until someone else steps in to both resolve the issue, and then bump the hash again, reflecting the changed/fixed version.

I don't have any real sense of how common and/or infrequent issues occur with flatpaks, so I can't judge how risky this would actually be. Overall, while I'm confident I could get the PR in, I could see creating extra work in the case of any resulting issues which would be a real drag.

sonic2kk commented 12 months ago

Overall, while I'm confident I could get the PR in, I could see creating extra work in the case of any resulting issues which would be a real drag.

If any issues come in, they wouldn't be your fault, though you'd have to bump the hash in the PR to point to the fixed code once that fix comes in.

To my understanding I don't think issues in the Flatpak is that common. The main issue I can recall was an issue where some newer Python language features were used and these weren't supported by the Python runtime that the Flatpak uses. ProtonUp-Qt Flatpak uses Python 3.8 but I think language features from 3.9 were used in a PR between versions, and it had to be amended before the Flatpak could be bumped. Pretty sure I was responsible for at least one instance of that which is why it comes to mind...

Feel free to get the PR up and it can be tested. Based on a quick skim of the changes that went into this release I don't foresee anything going wrong. 90% of the time it's a straight bump at least from what I recall (I'm just a contributor 🙂)

craigz commented 12 months ago

submitted PR: bump ProtonUp-Qt commit. Build 52664 successful All checks have passed (1 successful check) @flathubbot builds/x86_64 — Build done.

DavidoTek commented 12 months ago

Thanks @ sonic2kk for clarification and @ craigz for creating the PR

However there also needs to be some testing done with the Flatpak build to ensure no regressions.

After a release I wait like 1-2 weeks before releasing on Flathub to ensure there are no problem. A "pre-release" is available as AppImage which is easier to rollback in case of any problems.

craigz commented 11 months ago

I saw my PR merged today and when the discover store in the steam deck desktop mode updated, there was the new ProtonUp-Qt release.

I've updated the app and can confirm it runs as expected. Thanks so much! I believe this issue may now be closed.