Dnfdragora takes flatpak updates available into account with kernel 6.9.4 | F40

Hi,

I briefly installed kernel 6.9.4 today to see if it has a nasty bug that started with kernel 6.8.8 and it does.

While running kernel 6.9.4, dnfdragora announced 2 updates available. Since my dnf was up to date, I concluded it was 2 flatpak packages I never want upgraded.

I rebooted on kernel 6.8.7 and removed every kernel 6.9.4 package, but the dnf dragora issue was still present. Therefore I downgraded the kernel-headers-6.9.4 to 6.8.3, removed the /lib/modules/6.9.4-200.fc40.x86_64 that wass still present, rebooted, and after dnfdragora behavior was back to normal.

If dnfdragora is to take flatpak packages into account from now on, it’s completely useless to me.

https://bugzilla.redhat.com/show_bug.cgi?id=2292664

Do you have a mask on those flatpaks you never want updated?

FLATPAK MASK(1)

NAME
       flatpak-mask - Mask out updates and automatic installation

SYNOPSIS

       flatpak mask [OPTION...] PATTERN...

DESCRIPTION

Also, if you installed these flatpaks through flathub, I would even go as far as bookmarking the commit of the update you want to retain. This way, in case disaster strikes, you can install that commit on a new build and retain the experience, or repackage it yourself if need be.

For example : flatpak remote-info --log flathub org.signal.Signal

flatpak remote-info --log flathub org.signal.Signal

Signal Desktop - Private messenger

        ID: org.signal.Signal
       Ref: app/org.signal.Signal/x86_64/stable
      Arch: x86_64
    Branch: stable
   Version: 7.12.0
   License: AGPL-3.0-only
Collection: org.flathub.Stable
  Download: 169.0 MB
 Installed: 449.0 MB
   Runtime: org.freedesktop.Platform/x86_64/23.08
       Sdk: org.freedesktop.Sdk/x86_64/23.08

    Commit: 2cc2acfac79929c053a3adb50c3247ba5bcd258bc56d1eed7225197f3297dc01
    Parent: bef50b2293a59740ea81e36065d55d9d491d4aba6fbdbc8adb391fdcece2b399
   Subject: signal-desktop: Update signal-desktop.deb to 7.12.0 (#670) (e29f90c4)
      Date: 2024-06-12 20:00:16 +0000
   History: 

    Commit: bef50b2293a59740ea81e36065d55d9d491d4aba6fbdbc8adb391fdcece2b399
   Subject: signal-desktop: Update signal-desktop.deb to 7.11.1 (#666) (d327bec8)
      Date: 2024-06-04 16:32:48 +0000

    Commit: 14efce1589306fb4fc50a5dd7a560bd236cbbbf0874c2384856d38987fceb92f
   Subject: Update signal-desktop.deb to 7.11.0 (6939265a)
      Date: 2024-05-30 02:01:11 +0000

    Commit: 50ac7f4beab7b88306601cfaa6670543f35367b345f3f3201b80a7c80e539842
   Subject: Update signal-desktop.deb to 7.10.0 (daf4f4dd)
      Date: 2024-05-22 20:45:56 +0000

    Commit: 6a017dfd79322c339997f6b1c45d0a759a175e44bb2357d967f869f27baca3d4
   Subject: Update signal-desktop.deb to 7.9.0 (c6e8efa3)
      Date: 2024-05-16 05:08:38 +0000

So what you would do is review the commit you want to retain, and flatpak update --commit=< the commit hash here > org.signal.Signal

Once you are on the commit you need, you then flatpak mask org.signal.Signal and you are good to go :exclamation:

Do you have a mask on those flatpaks you never want updated?

Thanks for your answer. Definetely deserves digging more in to it.

How would I know that whether I have a mask or not?

$ flatpak remote-info --log flathub tv.kodi.Kodi

Kodi - Ultimate entertainment center

        ID: tv.kodi.Kodi
       Ref: app/tv.kodi.Kodi/x86_64/stable
      Arch: x86_64
    Branch: stable
   Version: 21.0-Omega
   License: GPL-2.0-only GPL-2.0-or-later LGPL-2.1-or-later MIT BSD-3-Clause BSD-4-Clause
Collection: org.flathub.Stable
  Download: 222,5 Mo
 Installed: 514,7 Mo
   Runtime: org.freedesktop.Platform/x86_64/23.08
       Sdk: org.freedesktop.Sdk/x86_64/23.08

    Commit: 03934475318a3a17476eed0f73e2d8339194373109f324868fc22484cbd7276e
    Parent: cb0195ac49050d0e16c840244de4c99061453102a270f6f930f3186a25bcd562
   Subject: Update addons (787f64c4)
      Date: 2024-06-01 18:22:30 +0000
   History: 

    Commit: cb0195ac49050d0e16c840244de4c99061453102a270f6f930f3186a25bcd562
   Subject: Update inputstream.adaptive to 21.4.9-Omega (911cd551)
      Date: 2024-05-31 17:46:52 +0000

    Commit: 9464e3dbf2fa9810f1f285e5bc24246a230a10ef4e1224273988b08dcbdc29e4
   Subject: Update libde265 to 1.0.15 (7e0f2934)
      Date: 2024-05-22 03:17:37 +0000

    Commit: 1121f35831a650c21f833dfa79d2544e9770ebb222be032cab858aa32f9cf95d
   **Subject: Revert "Add PipeWire support"** (ebb2bdeb)
      Date: 2024-05-11 00:13:24 +0000

    Commit: **54a88d5dd9f7f477144a2ab9aeee4e161eae88326cc36a67c024f0f435e3d256**
   Subject: Bump FFmpeg to version 6.0.1 (268a8751)
      Date: 2024-05-07 07:09:53 +0000

    Commit: c37a408730e54535c25dae2e9bcaf62c417cdeacc03219a3833349ac53429a1b
   Subject: Bump FFmpeg to version 6.0.1 (990163a8)
      Date: 2024-05-07 01:10:04 +0000

    Commit: 12f232340d35749eb4513802c12614126cd0b0e631bf809df414063c1c3e332b
   Subject: Update hwdata (af8e5a0b)
      Date: 2024-04-14 16:49:35 +0000

sudo flatpak update --commit=**54a88d5dd9f7f477144a2ab9aeee4e161eae88326cc36a67c024f0f435e3d256** tv.kodi.Kodi

The last time I searched for freezing flatpak packages, an AI (phind.com) told me it was doable while you’re updating flatpack packages and it wasn’t sticky. I.e. the package I want frozen would be still listed as upgradable on next upgrade. And it is indeed.

I already had the disaster case script ready:

$ cat /usr/local/sbin/kodi-downgrade.sh 
#!/bin/bash
flatpak update --commit=54a88d5dd9f7f477144a2ab9aeee4e161eae88326cc36a67c024f0f435e3d256 tv.kodi.Kodi

I don’t know what that is. . . But from the man pages of flatpak mask :exclamation:

DESCRIPTION

Flatpak maintains a list of patterns that define which refs are masked. 
A masked ref will never be updated or automatically installed 
for example a masked extension marked auto-download will not be downloaded). 
You can still manually install such refs, but once they are installed the version will be pinned.

The patterns are just a partial ref, with the * character matching anything within that part of the ref. Here are some example patterns:

           org.some.App
           org.some.App//unstable
           app/org.domain.*
           org.some.App/arm

To list the current set of masks, run this command without any patterns.

EXAMPLES
       $ flatpak mask

       $ flatpak mask org.NEVER.Update

       $ flatpak mask --remove org.NEVER.Update

  • To list the current set of masks, run this command without any patterns.

:handshake:t5: :exclamation:

Thanks for the info. Unfortunately after masking my app, it’s still shown as upgradable. Worth the try though.

$ flatpak mask
Masked patterns:
  tv.kodi.Kodi

According to the Documentation :

A masked ref will never be updated or automatically installed for example a masked extension marked auto-download will not be downloaded).

So it might show up, but should not be updated. If there is a bug, here ( not discounting it ), we definitely need to report that.

Could you give this a try, and produce some information for us?

1 Like

Added bug-reported

Could you give this a try, and produce some information for us?

Gladly!

After updating this flatpak package, it’s not listed as upgradable anymore, and the commit I wanted it frozen to is the proper one. No bug, thanks so much!

$ flatpak info  tv.kodi.Kodi

Kodi - Ultimate entertainment center

          ID: tv.kodi.Kodi
         Ref: app/tv.kodi.Kodi/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 21.0-Omega
     License: GPL-2.0-only GPL-2.0-or-later LGPL-2.1-or-later MIT BSD-3-Clause BSD-4-Clause
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: 508,3 Mo
     Runtime: org.freedesktop.Platform/x86_64/22.08
         Sdk: org.freedesktop.Sdk/x86_64/22.08

      Commit: 54a88d5dd9f7f477144a2ab9aeee4e161eae88326cc36a67c024f0f435e3d256
      Parent: c37a408730e54535c25dae2e9bcaf62c417cdeacc03219a3833349ac53429a1b
     Subject: Bump FFmpeg to version 6.0.1 (268a8751)
        Date: 2024-05-07 07:09:53 +0000
1 Like

I guess the GUI mechanisms need to be aware of such events as this is confusing and concerning. Maybe this goes from bug to feature-request. I do not know if th is behavior is the same in Gnome Software/package kit.