Я пытаюсь сделать оснастку для этого проекта , который оказался довольно сложной задачей. Мне пришлось написать не менее трех настраиваемых плагинов, но на этом этапе все части заканчивают подготовку. Однако после постановки всего снапкрафт выдает ошибку в теме.
Вот мой snapcraft.yaml:
name: stakeweightedvoting-app
version: "0.1"
summary: A blockchain-based secure voting and polling application
description: Stake Weighted Voting is Follow My Vote's application for stake-weighted voting on a blockchain. The app allows users to create and vote on polls on a blockchain, and securely tallying and displaying the results to ensure that no fraud can occur undetected.
confinement: devmode
apps:
VotingApp:
# If this actually works, I'll eat my hat. Can't fix it until I can build a snap, though...
command: . $SNAP/opt/qt57/bin/qt57-env.sh && VotingApp
parts:
stakeweightedvoting:
plugin: x-qbs
source: git://github.com/followmyvote/stakeweightedvoting
source-branch: master
build-packages: [qt57base, qt57declarative, qt57charts-no-lgpl, qt57quickcontrols2, qt57websockets, qt57svg, python-yaml]
after: [botan, capnproto]
capnproto:
plugin: x-nonbroken-cmake
source: git://github.com/sandstorm-io/capnproto
# Ideally I would specify v0.5.3 here, but it no longer builds without tweaking, and I don't know how to apply patches in snapcraft
source-branch: master
source-subdir: c++
botan:
plugin: x-botan
source: http://botan.randombit.net/releases/Botan-1.11.31.tgz
Полный вывод snapcraft
:
dev@ubuntu-dev:~/swv$ snapcraft
"grade" property not specified: defaulting to "stable"
Searching for local plugin for x-nonbroken-cmake
Searching for local plugin for x-botan
Searching for local plugin for x-qbs
Skipping pull botan (already ran)
Skipping pull capnproto (already ran)
'stakeweightedvoting' has prerequisites that need to be staged: capnproto botan
Skipping pull capnproto (already ran)
Skipping pull botan (already ran)
Skipping build capnproto (already ran)
Skipping build botan (already ran)
Skipping stage capnproto (already ran)
Skipping stage botan (already ran)
Skipping pull stakeweightedvoting (already ran)
Skipping build botan (already ran)
Skipping build capnproto (already ran)
'stakeweightedvoting' has prerequisites that need to be staged: capnproto botan
Skipping pull capnproto (already ran)
Skipping pull botan (already ran)
Skipping build capnproto (already ran)
Skipping build botan (already ran)
Skipping stage capnproto (already ran)
Skipping stage botan (already ran)
Skipping build stakeweightedvoting (already ran)
Skipping stage botan (already ran)
Skipping stage capnproto (already ran)
'stakeweightedvoting' has prerequisites that need to be staged: capnproto botan
Skipping pull capnproto (already ran)
Skipping pull botan (already ran)
Skipping build capnproto (already ran)
Skipping build botan (already ran)
Skipping stage capnproto (already ran)
Skipping stage botan (already ran)
Skipping stage stakeweightedvoting (already ran)
Skipping prime botan (already ran)
Skipping prime capnproto (already ran)
'stakeweightedvoting' has prerequisites that need to be staged: capnproto botan
Skipping pull capnproto (already ran)
Skipping pull botan (already ran)
Skipping build capnproto (already ran)
Skipping build botan (already ran)
Skipping stage capnproto (already ran)
Skipping stage botan (already ran)
Skipping prime stakeweightedvoting (already ran)
[Errno 21] Is a directory: '/home/dev/swv/prime/.'
Я могу предоставить исходники для трех настраиваемых подключаемых модулей, но ни один из них не отменяет ничего после этапа сборки, поэтому Я их пока опускаю.
Я обнаружил эту ошибку , что, вероятно, и наблюдаю, но обходной путь у меня не сработал.
command: . $SNAP/opt/qt57/bin/qt57-env.sh && VotingApp
не работал бы, поскольку необходимо обеспечить фактическое скручивание жгутов файла snap
, каталог и .
является результатом ошибки, которую Вы получаете.
можно однако записать собственный сценарий обертки:
#!/bin/sh
source $SNAP/opt/qt57/bin/qt57-env.sh
exec VotingApp $*
и имеют это как command
запись.
Делают что-то подобное демонстрация кота с wrapper
(но Вам не нужно Makefile
, просто используйте dump
плагин' как показано в демонстрация москита )