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

[Question] Does Flatpak automatically update the VLC plugins to new branches? #6

Closed
Perkolator opened this issue Jan 21, 2022 · 5 comments

Comments

@Perkolator
Copy link

Perkolator commented Jan 21, 2022

Sorry, this is not an issue, just a question that I can't find any answer to anywhere else. And the "discussions" isn't enabled in this repo.

Does Flatpak automatically update the VLC plugins to new branches?

This came up when I was subscribing to RSS/Atom feeds to all my installed Flatpak software GitHub commits (e.g. MakeMKV: https://github.com/flathub/com.makemkv.MakeMKV/commits/master.atom). I first thought that the plugins (makemkv and the java menu) weren't updated for a few years because I was looking at the "master" branch. Then I noticed the newer branches.

The master branch not updating anymore is a problem if somebody wants to be notified of updates. Because if I subscribe to the RSS/Atom of the newest branch 3-21.08 (https://github.com/flathub/org.videolan.VLC.Plugin.makemkv/commits/branch/3-21.08.atom) and you create a newer branch, it obviously won't be shown on that branch. Subscribing to the page of all branches (or just active branches) isn't possible in GitHub.

So, back to the issue question, if Flatpak doesn't automatically update to a new branch, it's a big possibility that a user doesn't know that the plugin is outdated. Especially if there's no way to subscribe to see newer branches in GitHub.

If Flatpak does not update the plugins automatically to new branches, maybe you could add a new file to the master (e.g. updatenotification.txt) and then each time you create a new branch, you would update that file in the master with something like "Please update your plugins to new branch". That way people could subscribe at least to the master commits RSS/Atom feed. If you have a better idea, please do that instead.

Or (just remembered that I have another plugin), look at the repo of G'MIC Flatpak plugin for GIMP. I don't understand how that repo and all the branches are managed. If you look at the 2-3.36 branch there, the last commit is a "EOL 2-3.36" which updated the flathub.json file with: "This version of the plugin is deprecated. Install org.gimp.GIMP.Plugin.GMic//2-40". However, if one looks at all the branches there, there isn't a new "2-40" branch. All updates seem to currently go to the master branch instead. Still my installation of that plugin show that it is in a "2-40" branch but receives the commits made to the master branch:

G'MIC     org.gimp.GIMP.Plugin.GMic     3.0.2     2-40     system

They do something differently and can use the master branch for all updates?

EDIT: Just looked at what Flatpak offers for the G'MIC plugin:

flatpak install gmic
Looking for matches…
Found similar ref(s) for ‘gmic’ in remote ‘flathub’ (system).
Use this remote? [Y/n]: 
Similar refs found for ‘gmic’ in remote ‘flathub’ (system):

   1) runtime/org.gimp.GIMP.Plugin.GMic/x86_64/2-3.36
   2) runtime/org.gimp.GIMP.Plugin.GMic/x86_64/2-40

It shows the new 2-40 which can't be found as a branch on the GitHub repo.

But, it seems that the plugins won't update automatically to the newer branches. If this is really true, while I'm not an expert with flatpaks, it seems to be a big design flaw of flatpak.

@Perkolator
Copy link
Author

And the answer is: no. In fact, if you (or system) do house cleaning for flatpak (manually or automatically (e.g. scheduled script)), you'll lose the plugins completely.

$ flatpak uninstall --unused

        ID                                            Branch               Op
 1.     org.freedesktop.Platform.GL.default           21.08                r
 2.     org.freedesktop.Platform.openh264             2.0                  r
 3.     org.kde.Platform                              5.15-21.08           r
 4.     org.kde.Platform.Locale                       5.15-21.08           r
 5.     org.videolan.VLC.Plugin.bdj                   3-21.08              r
 6.     org.videolan.VLC.Plugin.makemkv               3-21.08              r

Proceed with these changes to the system installation? [Y/n]: 

This is what happened after VLC was updated to KDE "5.15-22.08". After this, manual installation of the plugins with correct runtime version was needed. Too bad that the flatpak system is not more sophisticated.

@Perkolator
Copy link
Author

Perkolator commented Feb 28, 2023

Big problems with VLC plugins now.

I noticed something very odd, never seen this before, and can't remember how this situation came to be (maybe after the last post here I had to re-install):

$ flatpak uninstall --unused

These runtimes in installation 'system' are pinned and won't be removed; see flatpak-pin(1):
  runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-22.08
  runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-22.08
Nothing unused to uninstall

The (relevant) installed apps:

$ flatpak list --all

Name                                      Application ID                     Version    Branch        Installation
MakeMKV                                   com.makemkv.MakeMKV                1.17.2     stable        system
MakeMKV translations                      com.makemkv.MakeMKV.Locale                    stable        system
...
KDE Application Platform                  org.kde.Platform                              5.15-22.08    system
kde platform translations                 org.kde.Platform.Locale                       5.15-22.08    system
VLC                                       org.videolan.VLC                   3.0.18     stable        system
VLC translations                          org.videolan.VLC.Locale                       stable        system
Bluray Java menus (BDJ) plugin for VLC    org.videolan.VLC.Plugin.bdj                   3-22.08       system
MakeMKV plugin for VLC                    org.videolan.VLC.Plugin.makemkv    1.16.7     3-22.08       system

Flatpak just noticed that there is an updated version for bdj plugin. Nothing for makemkv plugin (which looking at the branches was already updated to the last version last year!!!).

I uninstalled both plugins and re-installed them selecting the correct branch (why is this necessary? how does average user know what to install?) and for some odd reason I was asked to give my admin password (it was a GUI window that popped up to ask the password, not in the CLI), which is very odd, never seen that happen either (or it happened after the last re-install back in November and I didn't notice that flatpak "user" installations do not ask for a password, unlike updating everything else in the system):

$ flatpak install org.videolan.VLC.Plugin.makemkv

Looking for matches…
Similar refs found for ‘org.videolan.VLC.Plugin.makemkv’ in remote ‘flathub’ (system):

   1) runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-19.08
   2) runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-20.08
   3) runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-21.08
   4) runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-22.08
   5) runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-18.08

Which do you want to use (0 to abort)? [0-5]: 4


        ID                                        Branch            Op           Remote            Download
 1. [✓] org.videolan.VLC.Plugin.makemkv           3-22.08           i            flathub           1,5 MB / 9,2 MB

Installation complete.
$ flatpak install org.videolan.VLC.Plugin.bdj

Looking for matches…
Similar refs found for ‘org.videolan.VLC.Plugin.bdj’ in remote ‘flathub’ (system):

   1) runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-20.08
   2) runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-21.08
   3) runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-22.08
   4) runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-18.08
   5) runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-19.08

Which do you want to use (0 to abort)? [0-5]: 3


        ID                                    Branch            Op          Remote           Download
 1. [✓] org.videolan.VLC.Plugin.bdj           3-22.08           i           flathub          374,8 MB / 376,2 MB

Installation complete.

What do I see after re-installing?:

Bluray Java menus (BDJ) plugin for VLC    org.videolan.VLC.Plugin.bdj                   3-22.08       system
MakeMKV plugin for VLC                    org.videolan.VLC.Plugin.makemkv    1.16.7     3-22.08       system

As you can see, the makemkv plugin version is not the newest version. Don't know about the bdj plugin as it doesn't list a version, it might be older version too, who knows.

And again I see this:

$ flatpak uninstall --unused

These runtimes in installation 'system' are pinned and won't be removed; see flatpak-pin(1):
  runtime/org.videolan.VLC.Plugin.bdj/x86_64/3-22.08
  runtime/org.videolan.VLC.Plugin.makemkv/x86_64/3-22.08
Nothing unused to uninstall

Either my system is borked, or flatpak is borked, I don't know. And I don't know how to fix this situation, any ideas?

On a side note, the org.gimp.GIMP.Plugin.GMic plugin (mentioned in the first post too) updates have been working just fine, always getting the newest versions without problems, and it doesn't get installed as "system" and getting "pinned". Why is that? They doing something different?

@Perkolator
Copy link
Author

New update (which should be the "Update to 1.17.3" commit (+2 other commits)):

$ flatpak update

Looking for updates…

        ID                                   Branch       Op      Remote       Download
 1. [✓] org.videolan.VLC.Plugin.makemkv      3-22.08      u       flathub      2,4 MB / 9,3 MB

After update:

$ flatpak list --all

Name                      Application ID                         Version   Branch      Installation
MakeMKV plugin for VLC    org.videolan.VLC.Plugin.makemkv        1.16.7    3-22.08     system

@MatMaul Do you have any comments on this matter?

@MatMaul
Copy link
Collaborator

MatMaul commented Mar 15, 2023

It did upgrade, it's just that I usually forgot to update the version in appdata.xml so you don't see it.

For the rest I am using proper versioning regarding the ABI of the SDK, but the update tooling of flatpak is not great regarding that.
I could switch to also use stable as a branch for the plugins, but it looks really wrong so I don't know.

@MatMaul
Copy link
Collaborator

MatMaul commented Mar 16, 2023

I've updated the appdata, so you should notice the new version now. I am going to try to think about it.

You can also follow those related issues regarding plugins and upgrade:
flatpak/flatpak#4208
flathub/flathub#3843

@MatMaul MatMaul closed this as completed Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants