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

[PRE-RELEASE] Snap: recent edge channel update (version 245) broke theming #2966

Closed
joshirio opened this issue Apr 9, 2019 · 13 comments
Closed
Assignees

Comments

@joshirio
Copy link
Contributor

joshirio commented Apr 9, 2019

I'm running keepassxc snap from the edge channel. After contributing mouse cursor fixes #2832 I've been running the edge version since without issues. Today revision 245 was pushed to the edge channel and the snap theme looks broken, not sure what has been changed.

shot

Expected Behavior

Revert to using default Qt fusion style

Current Behavior

Fallback theme is used, see screenshot above

Possible Solution

Revert changes or investigate possible cause

Steps to Reproduce

  1. sudo snap refresh keepassxc --edge
  2. keepassxc

Context

Debug Info

KeePassXC - Version 2.4.0
Revision: 29c79c9
Distribution: Snap

Qt 5.9.5
Debugging mode is disabled.

Operating system: Ubuntu Core 18
CPU architecture: x86_64
Kernel: linux 4.18.0-17-generic

Enabled extensions:

  • Auto-Type
  • Browser-Integration
  • SSH-Agent
  • KeeShare (signed and unsigned sharing)
  • YubiKey

Cryptographic libraries:
libgcrypt 1.8.1

Operating system: Ubuntu 18.04
CPU architecture: x86_64
Kernel: 4.18.0-17-generic

@droidmonkey
Copy link
Member

We haven't touched anything regarding theming it snaps

@joshirio
Copy link
Contributor Author

joshirio commented Apr 9, 2019

That's curious.
I'll try to do some tests to find out.
Usually when an update is pushed to the edge channel, it came from a trigger which can be viewed on the build snapcraft.io console.

Build log: https://launchpad.net/~droidmonkey/+snap/keepassxc-develop/+build/519300

@joshirio
Copy link
Contributor Author

joshirio commented Apr 9, 2019

After some investigation it appears something changed on core18 or snapcraft/snapd side of things because many of my own snaps broke on the edge channel too, so I was too quick to blame it on keepassxc devs (sorry).

Sometimes when the core18 base or a dependency package changes (is updated to fix security issues or something else) edge channels snaps are usually automatic rebuilt, so that's the reason an update was pushed automatically to the edge channel.

Apparently there could be a regression inside the base snap or snapcraft, so my suggestion is to wait too see if they fix it. If not, and a new release of keepassxc is being released (2.4.1) in the meantime we could revert PR #2832

A bit disappointed, shows how much this technology (snap) is still immature and needs more work.

@droidmonkey
Copy link
Member

droidmonkey commented Apr 9, 2019

I am totally disappointed in snaps, to be quite honest. I do not think flatpaks are any better, but they seem easier to build on any platform. The fact that I cannot build snaps in an Ubuntu 18.04 VM is a complete travesty.

@joshirio
Copy link
Contributor Author

joshirio commented Apr 9, 2019

Flatpak isn't better at all, I failed multiple times to just ship a simple Qt app. At least with snap I can specify dependencies with just a package from a base, instead of building from source all deps of deps recursively, that's insane.

The fact that I cannot build snaps in an Ubuntu 18.04 VM is a complete travesty.

from https://snapdocs.labix.org/build-on-lxd/4157
snapcraft --destructive-mode
will build in a VM (must be a clean Ubuntu 18.04 though), this is intended for throwaway build environments like CI systems.

And with multipass things are improving to build snaps on any distro that ships snapd, since it's basically spinning up a minimal VM.

@droidmonkey
Copy link
Member

droidmonkey commented Apr 9, 2019

You cannot run a vm in a vm (without fancy hardware). I would need a host based Linux system.

@joshirio
Copy link
Contributor Author

joshirio commented Apr 9, 2019

The documentation is a bit misleading because this actually works in any VM (inside Virtualbox for example) and is not dependent on LXD.

The --destructive-mode flag just tells snapcraft to not spin up a VM and use the raw system whether it is running on real hardware or inside a virtual machine.

https://bugs.launchpad.net/snapcraft/+bug/1815319

@droidmonkey
Copy link
Member

You sir have saved me a lot of hassle for future debugging!

@droidmonkey
Copy link
Member

Is this theming issue still present?

@elcste
Copy link

elcste commented Apr 18, 2019

Yes, for me, on Ubuntu MATE 19.04. I'm on the snap edge channel, version 2.5.0, rev 301.

@joshirio
Copy link
Contributor Author

Yes, still not fixed. Tried a fresh build environment since the edge channel was not updated.
Workaround and improvements proposed in PR #3028.

A bit hacky though.

joshirio added a commit to joshirio/keepassxc that referenced this issue Apr 22, 2019
Use gtk3 file chooser dialogs, mouse coursor theme if available and force fallback icon theme, fixes issue keepassxreboot#2966
droidmonkey pushed a commit that referenced this issue Apr 25, 2019
Use gtk3 file chooser dialogs, mouse coursor theme if available and force fallback icon theme, fixes issue #2966
@merlijn-sebrechts
Copy link

Just wanted to thank @droidmonkey and others for your efforts in creating such a high-quality snap package. As a user of KeePassXC, I'm very happy I can now use the latest version in Ubuntu without installing a ppa.

Also, in case you didn't know; you can now build snaps in virtual machines using LXD: snapcraft --use-lxd. This can be used, for example, to do automated builds on travis: https://github.com/snapcrafters/sdlpop/blob/master/.travis.yml

@droidmonkey
Copy link
Member

Thank you for your kind words! If you didn't know, we have automated builds of the develop branch feeding the "edge" channel. You can try out new features and stay up to the minute very easily.

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

4 participants