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

Snap uses outdated content pack and core #9268

Closed
ScarlettGatelyMoore opened this issue Mar 23, 2023 · 15 comments
Closed

Snap uses outdated content pack and core #9268

ScarlettGatelyMoore opened this issue Mar 23, 2023 · 15 comments

Comments

@ScarlettGatelyMoore
Copy link

Please see this thread for more information.
https://forum.snapcraft.io/t/global-auto-connect-request-kde-content-snap/34251/13
Essentially your snap depends on content snap kde-frameworks-5-96-qt-5-15-5-core20
which has been removed due to security issues. So users are unable to install.
Due to the inability to do security updates in core20 we have moved to core22 and have a new content pack
kf5-5-104-qt-5-15-8-core22-sdk and your snap needs to be rebuilt against this ( note this is also going to need to be converted to core22 )
I have reluctantly re-enabled the content snap temporarily so users can use your snap, but will disable it again soon.
If you have any questions or need help with new snap build please don;t hesitate to ask, I know your application is very important to many users!
Thanks,
Scarlett

@droidmonkey
Copy link
Member

Gotta love snaps!

@droidmonkey droidmonkey self-assigned this Mar 23, 2023
droidmonkey added a commit that referenced this issue Mar 26, 2023
droidmonkey added a commit that referenced this issue Mar 26, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add dbus slot for fdosecrets
droidmonkey added a commit that referenced this issue Mar 26, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add dbus slot for fdosecrets
@droidmonkey
Copy link
Member

droidmonkey commented Mar 28, 2023

@ScarlettGatelyMoore

Just so you know, you are missing a dependency in your framework:

:: /usr/bin/ld: warning: libfreetype.so.6, needed by /snap/kde-frameworks-5-102-qt-5-15-8-core22-sd/current/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0, not found (try using -rpath or -rpath-link)

@ScarlettGatelyMoore
Copy link
Author

We are on kf5-5-104-qt-5-15-8-core22-sdk content snap, if you are using kde-neon extension you will have to wait for next snapcraft release :(

@droidmonkey
Copy link
Member

Since there is near zero documentation out there, all I have done is change from core20 to core22. Is kde-neon no longer the right choice? That is what is said everywhere.

@ScarlettGatelyMoore
Copy link
Author

I recently updated it for core22 support. I also recently updated it to support our current content pack. The latter still hasn't made it into a release though. It is a good extension, but lags behind on content versions. We tend to sed in the newest content pack into the result of $(snapcraft expand-extensions). Documentation is on the to-do list ( I only recently took over this monumental job!)

@droidmonkey
Copy link
Member

I don't envy you, haha, no worries here

droidmonkey added a commit that referenced this issue Mar 30, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add dbus slot for fdosecrets
droidmonkey added a commit that referenced this issue Mar 30, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add dbus slot for fdosecrets
@droidmonkey
Copy link
Member

@ScarlettGatelyMoore can you kindly tell me how to use your kf5-5-104-qt-5-15-8-core22-sdk instead of kde-neon extension?

@ScarlettGatelyMoore
Copy link
Author

So sorry, meant to respond yesterday, time got away from me. Essentially we run the command ( in working dir with snapcraft.yaml) snapcraft expand-extensions and it will spit out a new yaml with the extension information. We then sed out the content pack with the new version. However... do to a bug in expand-extensions and parse-info I am manually doing this for now. If you run snapcraft expand-extensions and it fails it is likely this ^ , just comment the parse-info line and run again, then uncomment when done.

Here is an example of one of our simpler apps:
https://invent.kde.org/packaging/snapcraft-kde-applications/-/blob/Neon/release/bomber/snapcraft.yaml

@droidmonkey
Copy link
Member

yikes, I am just going to wait for kde-neon itself to be updated. This is exactly why I am abandoning the snap.

droidmonkey added a commit that referenced this issue Apr 12, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add dbus slot for fdosecrets
droidmonkey added a commit that referenced this issue May 1, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add interface plug for fdosecrets
droidmonkey added a commit that referenced this issue May 1, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add interface plug for fdosecrets
* Fixes #7005 - add autostart setting
@droidmonkey droidmonkey added this to the v2.7.5 milestone May 1, 2023
@ScarlettGatelyMoore
Copy link
Author

I do hope you don't. I would be more than happy to help maintain it. Ping me before abandoning it!

@droidmonkey
Copy link
Member

droidmonkey commented May 1, 2023

I'm not sure what the benefits are considering flatpak just works. The only automated build system I am aware of is launchpad. The auto build offered by snapcraft.io from GitHub is laughably basic. You can't even track a specific branch...

When you try to build yourself you are forced into using lxd which doesn't work in a vm and you have to use an outdated version of Ubuntu to even build successfully to begin with.

Not to mention the documentation for snaps is not only incomplete but incredibly hard to navigate.

Everything about snaps is terrible.

@ScarlettGatelyMoore
Copy link
Author

These are all valid arguments, which I hope change. My only argument is the large number of users abandoned ( my driving force to continue ) Anyway, the offer is there.
Cheers,
Scarlett

@JGCarroll
Copy link

JGCarroll commented May 1, 2023

The only automated build system I am aware of is launchpad. The auto build offered by snapcraft.io from GitHub is laughably basic. You can't even track a specific branch...

Would using the Github action for CI/testing and snapcraft remote-build for stable releases (mainly for multi-arch support) be workable at all? snapcraft remote-build submits to Launchpad the same way as the Github integration and then downloads the snap file directly (without uploading it to the store for release), this means you'd also be able to swap branch locally and have the remote server build that exact branch. You could potentially use this instead of relying on LXD locally at all.

https://github.com/snapcore/action-build

When you try to build yourself you are forced into using lxd which doesn't work in a vm and you have to use an outdated version of Ubuntu to even build successfully to begin with.

You should be able to use LXD in a VM, it's how I build all my snaps. The version of Ubuntu shouldn't matter so long as it's not EOL The behaviour you're experiencing hints you might be using the Multipass backend instead. Nested virtualisation is something you usually have to explicitly enable in most hypervisors.

In core22 LXD is default again, but before then you need to be explicit with --use-lxd, env vars, config files, etc.

I've looked through the issues with the snap label lately and it seems to me most the issues seem to relate to the filepicker portal, such as SMB shares causing crashes (incoming fix: https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/merge_requests/67). The flatpak would in theory have the same issues if it were using the portals (including the issue last year where the portals just didn't work at all). Edit: I've just looked at a few issues and I'm now unsure about the flatpak using the portals, there's a new issue with what looks like the linked SMB issue, so I might be wrong and it does use the portals, or the code that caused no UI to appear has since changed.

Is there anything Snap specific (aside from this kde-neon issue) that you'd like us to look into? There was some low hanging fruit with the autostarts and secret service stuff last week, is there anything else specific we could have a look over?

@droidmonkey
Copy link
Member

droidmonkey commented May 1, 2023

I still can't build using launchpad and core22/kde-neon.

https://launchpadlibrarian.net/664031893/buildlog_snap_ubuntu_jammy_amd64_keepassxc-develop_BUILDING.txt.gz

:: /usr/bin/ld: warning: libfreetype.so.6, needed by /snap/kde-frameworks-5-102-qt-5-15-8-core22-sd/current/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0, not found (try using -rpath or -rpath-link)
:: [100%] Linking CXX shared module libkeepassxc-autotype-xcb.so
:: /usr/bin/ld: /snap/kde-frameworks-5-102-qt-5-15-8-core22-sd/current/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0: undefined reference to `FT_Select_Charmap'

Good point, when I said LXD above I really meant multipass. I was building snaps through a docker container a year ago.

@ScarlettGatelyMoore
Copy link
Author

That build error shouldn't be. The latest snapcraft uses a newer content pack. At least it should. I will have to verify tomorrow as I am not at my computer. There has to be a better way with extentions... it is a long wait between snapcraft releases to get access to newer content pack version ( whichever is usually outdated by the time the extension is released )

droidmonkey added a commit that referenced this issue May 8, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add interface plug for fdosecrets
* Fixes #7005 - add autostart setting
droidmonkey added a commit that referenced this issue May 8, 2023
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add interface plug for fdosecrets
* Fixes #7005 - add autostart setting
libklein pushed a commit to libklein/keepassxc that referenced this issue May 10, 2023
* Fixes keepassxreboot#9268 - update to Core22 to pull in the latest KDE Framework
* Fixes keepassxreboot#9185 - add interface plug for fdosecrets
* Fixes keepassxreboot#7005 - add autostart setting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants