I welcome everyone to the continuation of the topic of working with snap packages.
It often happens that a developer needs to know all the dependencies of an application. And it's not easy to find out if one library has a dependency on another.
And in order to build a snap package with all the dependencies, which is very important.
And now I will demonstrate to you the operation of an interesting application called cqtdeployer. The principle of operation is such that it needs to feed the application binary and the path to the qml directory, and cqtdeployer will collect all its qt dependencies for you.
This project is on the git, but since it has already been built and is in the snap package, there is no point in copying it from the git.
Installation (--classic this key, as I wrote earlier, indicates that the application has, like the deb package, access to the system)
snap install cqtdeployer --classic
We clone the test project, with which we will get its dependencies, and build our snap package
git clone https://github.com/QuasarApp/Console-QtDeployer.git Console-QtDeployer/examples/TestQMLWidgets (go to project directory)
We build the TestQMLWidgets.pro project (either via the console or from Qt Creator)
Now we start collecting all the dependencies of this application
cqtdeployer -bin ./build/TestQMLWidgets -qmake /path/to/your/qmake/bin/qmake -qmlDir ./ -targetDir ./distro
cqtdeployer is the name of the snap package itself (and then we feed it arguments)
- -bin : after the path to the program binary
- -qmake : path to qmake of exactly the version with which we built this application
- -qmlDir : path where to put the deploy. If you specify ./ then a directory with what we need will appear near the project binary
- -targetDir : directory name where to put dependencies
After all the manipulations, we execute the command to build the snap package
snapcraft
и его установки
snap install cqtdeployerexample_0.1_amd64.snap --dangerous
Запуск снап пакета
cqtdeployerexample
Вот в принципе и всё. Теперь, если вы пишите ваши приложения на Qt, то без проблем сможете понять и получить все нужные либы и плагины.
Всем спасибо и оставайтесь с нами.
Отдельную благодарность разработчику данного приложения.
QuasarApp
По поводу установки
Разработчики snap отключили возможность устанавливать приложение в класическом режиме и из-за этого утилита может работать не правельно.
до тех пор пока билд в snapstore не будет обновленн, можно использовать сборку из gitHub
CQDeployer обновился и работает корректно. теперь можно пользоватся сборкой с snap store