Hi,
I am new to snap packages. I tried few months ago, after facing some troubles with snapcraft i put snap packaging on my pending list. Yesterday i tried again and successfully build snap for sqlitebrowser. But now the problem is the ugly fallback interface.
Deb packages have following UI.
My snap packaging code is available on https://github.com/deepsidhu1313/sqlitebrowser-snap-nightly
Contents of my snapcraft.yaml are
name: sqlitebrowser # the name of the snap
version: 3.10.1 # the version of the snap
summary: DB browser for Sqlite # 79 char long summary
description: GUI editor for SQLite databases # a longer description for the snap
confinement: strict # use "strict" to enforce system access only via declared interfaces
grade: stable
icon: snap/sqlitebrowser.svg
type: app
apps:
sqlitebrowser:
# command: wrappers/sqlitebrowser
# desktop: share/applications/sqlitebrowser.desktop
command: desktop-launch $SNAP/wrappers/sqlitebrowser
desktop: share/applications/sqlitebrowser.desktop
# Correct the TMPDIR path for Chromium Framework/Electron to
# ensure libappindicator has readable resources.
environment:
TMPDIR: $XDG_RUNTIME_DIR
plugs:
- browser-support
- desktop
- gsettings
- home
- network
- opengl
- unity7
- wayland
- x11
- removable-media
- ssh-keys
build-packages:
- build-essential
- g++
- qtbase5-dev
- qttools5-dev
- qttools5-dev-tools
- libsqlite3-dev
- cmake
- libantlr-dev
- libsqlcipher-dev
- libqcustomplot-dev
- libx11-xcb1
- libx11-xcb-dev
- libxcb-xkb-dev
parts:
wrappers:
plugin: dump
source: snap/
sqlitebrowser: # Replace with a part name of your liking
# Get more information about plugins by running
# snapcraft help plugins
# and more information about the available plugins
# by running
# snapcraft list-plugins plugin autotools
source-type: git
plugin: cmake
configflags: ["-DUSE_QT5=True", "-Dsqlcipher=1", "-Wno-dev"]
source: https://github.com/sqlitebrowser/sqlitebrowser.git
desktop-qt5:
build-packages:
- qtbase5-dev
- dpkg-dev
make-parameters:
- FLAVOR=qt5
plugin: make
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: qt
stage-packages:
- libxkbcommon0
- ttf-ubuntu-font-family
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libqt5gui5
- libgdk-pixbuf2.0-0
- libqt5svg5
- try:
- appmenu-qt5
- locales-all
- xdg-user-dirs
dump: # Replace with a part name of your liking
# Get more information about plugins by running
# snapcraft help plugins
# and more information about the available plugins
# by running
# snapcraft list-plugins plugin autotools
plugin: dump
after:
- desktop-qt5
- sqlitebrowser
stage-packages:
- qtbase5-dev
- libqt5gui5
- libqt4gui4
- libxkbcommon0
- libxkbfile1
- gtk2-engines
- gtk2-engines-cleanice
- gtk2-engines-moblin
- gtk2-engines-oxygen
- gtk2-engines-sugar
- gtk2-engines-aurora
- gtk2-engines-equinox
- gtk2-engines-murrine
- gtk2-engines-pixbuf
- gtk2-engines-wonderland
- gtk2-engines-blueheart
- gtk2-engines-magicchicken
- gtk2-engines-nodoka
- gtk2-engines-qtcurve
- gtk2-engines-xfce
- gtk3-engines-breeze
filesets:
wanted:
# - etc/*
# - lib/*
- bin/*
- share/icons/hicolor/256x256/apps/*
- share/*
# - usr/share/*
# - usr/share/doc
# - usr/share/man
# - usr/share/lintian
# - usr/bin/sqlitebrowser
# - usr/share/applications/sqlitebrowser.desktop
- usr/lib/*
- usr/lib/*-linux-gnu/*
# - usr/lib/*
- lib/*-linux-gnu/*
# - usr/lib/x86_64-linux-gnu/mesa/*
- usr/lib/*-linux-gnu/qt5/plugins/*
prime:
- $wanted
Is there a way to fix this ?? Am i missing something ?? I am still experimenting with snap packaging. I will be thankful for any help.
BTW when i launch app from terminal after cd
to /snap/sqlitebrowser/current/bin/
, UI shows as expected.
Update:
Output from terminal
/snap/bin/sqlitebrowser
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Qt: Session management error: None of the authentication protocols specified are supported
QNetworkManagerInterface::QNetworkManagerInterface(QObject*) propsReply "An AppArmor policy prevents this sender from sending this message to this recipient; type=\"method_call\", sender=\":1.1549\" (uid=1000 pid=17225 comm=\"./sqlitebrowser \") interface=\"org.freedesktop.DBus.Properties\" member=\"GetAll\" error name=\"(unset)\" requested_reply=\"0\" destination=\"org.freedesktop.NetworkManager\" (uid=0 pid=1061 comm=\"/usr/sbin/NetworkManager --no-daemon \")"
QNetworkManagerInterface::QNetworkManagerInterface(QObject*) nmReply "An AppArmor policy prevents this sender from sending this message to this recipient; type=\"method_call\", sender=\":1.1549\" (uid=1000 pid=17225 comm=\"./sqlitebrowser \") interface=\"org.freedesktop.NetworkManager\" member=\"GetDevices\" error name=\"(unset)\" requested_reply=\"0\" destination=\"org.freedesktop.NetworkManager\" (uid=0 pid=1061 comm=\"/usr/sbin/NetworkManager --no-daemon \")"
"Object path cannot be empty"