Hi
As I wrote I strugle to create my first Snap package. I do great progress and I am near success, but I need help. When I create my snap i got message:
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
home/szyk/Qt/5.9.6/gcc_64/lib/libQt5Core.so.5
home/szyk/Qt/5.9.6/gcc_64/lib/libicudata.so.56
home/szyk/Qt/5.9.6/gcc_64/lib/libicui18n.so.56
home/szyk/Qt/5.9.6/gcc_64/lib/libicuuc.so.56
So I think I should fix it some how. But I ame failed with this. Mainly because ther is no turorial for such case, and current snap documentation is entirely broken (eg.: https://docs.snapcraft.io/snapcraft-yaml-reference/4276 filesets reference is empty!).
So I think I should create parts: qt: plugin: dump, source: /home/szyk/Qt/5.9.6/gcc_64/lib but how to specify library (or libraries) to include?!?
My snap is like this:
name: backup
version: ‘0.1’
summary: Simple backup daemon
description: |
Simple backup daemon.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
apps:
backup:
command: bin/backup
parts:
7z:
plugin: nil
stage-packages:
- p7zip
qtcsv:
plugin: qmake
source: https://github.com/iamantony/qtcsv.git
source-tag: v1.4.1
common:
plugin: qmake
source: Libs/Common
backup:
plugin: qmake
source: Backup/
qt:
plugin: dump
source: /home/szyk/Qt/5.9.6/gcc_64/lib
filesets:
- libQt5Core.so
And error I got is like this: Issues while validating snapcraft.yaml: The 'parts/qt/filesets' property does not match the required schema: ['libQt5Core.so'] is not of type 'object'
Ok! I nothing found on the net (after using google, bitg and duckduckgo), but I recal somewhtre i see filesets: include: and exclude: So I type include: and got another warning. My snapcraft.yaml is like this:
name: backup
version: '0.1'
summary: Simple backup daemon
description: |
Simple backup daemon.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
apps:
backup:
command: bin/backup
parts:
7z:
plugin: nil
stage-packages:
- p7zip
qtcsv:
plugin: qmake
source: https://github.com/iamantony/qtcsv.git
source-tag: v1.4.1
common:
plugin: qmake
source: Libs/Common
backup:
plugin: qmake
source: Backup/
qt:
plugin: dump
source: /home/szyk/Qt/5.9.6/gcc_64/lib
filesets:
include:
- libQt5Core.so
And warnign is as follow:
Skipping stage 7z (already ran)
Staging backup
Staging common
Staging qt
Staging qtcsv
Skipping prime 7z (already ran)
Priming backup
Priming common
Priming qt
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
usr/lib/x86_64-linux-gnu/libEGL.so.1
usr/lib/x86_64-linux-gnu/libFLAC.so.8
usr/lib/x86_64-linux-gnu/libGL.so.1
usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
usr/lib/x86_64-linux-gnu/libX11.so.6
usr/lib/x86_64-linux-gnu/libXau.so.6
usr/lib/x86_64-linux-gnu/libXcomposite.so.1
usr/lib/x86_64-linux-gnu/libXcursor.so.1
usr/lib/x86_64-linux-gnu/libXdamage.so.1
usr/lib/x86_64-linux-gnu/libXdmcp.so.6
usr/lib/x86_64-linux-gnu/libXext.so.6
usr/lib/x86_64-linux-gnu/libXfixes.so.3
usr/lib/x86_64-linux-gnu/libXi.so.6
usr/lib/x86_64-linux-gnu/libXrandr.so.2
usr/lib/x86_64-linux-gnu/libXrender.so.1
usr/lib/x86_64-linux-gnu/libXtst.so.6
usr/lib/x86_64-linux-gnu/libasound.so.2
usr/lib/x86_64-linux-gnu/libasyncns.so.0
usr/lib/x86_64-linux-gnu/libdrm.so.2
usr/lib/x86_64-linux-gnu/libfontconfig.so.1
usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0
usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0
usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0
usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
usr/lib/x86_64-linux-gnu/libgsttag-1.0.so.0
usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
usr/lib/x86_64-linux-gnu/libnspr4.so
usr/lib/x86_64-linux-gnu/libnss3.so
usr/lib/x86_64-linux-gnu/libnssutil3.so
usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.340.107
usr/lib/x86_64-linux-gnu/libnvidia-glsi.so.340.107
usr/lib/x86_64-linux-gnu/libogg.so.0
usr/lib/x86_64-linux-gnu/liborc-0.4.so.0
usr/lib/x86_64-linux-gnu/libplc4.so
usr/lib/x86_64-linux-gnu/libplds4.so
usr/lib/x86_64-linux-gnu/libpng16.so.16
usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0
usr/lib/x86_64-linux-gnu/libpulse.so.0
usr/lib/x86_64-linux-gnu/libsmime3.so
usr/lib/x86_64-linux-gnu/libsndfile.so.1
usr/lib/x86_64-linux-gnu/libvorbis.so.0
usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
usr/lib/x86_64-linux-gnu/libxcb.so.1
usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.340.107
The execstacks are going to be cleared for the following files:
- /home/szyk/!-pro/Backup/prime/libQt5WebEngineCore.so.5.9.6
To disable this behavior set `build-attributes: [keep-execstack]` for the part.
And I think most of this is unwanted as I simply use only libQt5Core.so (without graphics nor audio)… How to fix this?!?
And finally I got following error: FileNotFoundError: [Errno 2] No such file or directory: '/home/szyk/!-pro/Backup/prime/bin/backup'
I am not sure why this happen. I set DESTDIR=$$ROOT_PROJECT/…/Backup-work in /home/szyk/!-pro/Backup/Backup/Backup.pro . But I think plugin should be wise enough to handle this…