Hi, I just started out with snapcrafting. I was able to snap couple of simple[r] programs (croc and youtube-dl) but I’m stuck with mint-tools. I’m trying to snap Warpinator, Webapp-Manager and Mintstick. Each of them fail with,
Failed to generate snap metadata: Specified command 'bin/<app-name>' was not found. Verify the command is correct and for a more deterministic outcome, specify the relative path to the command from the prime directory.
I looked around and found one reply by @kyleN that is probably the issue I’m having but I do not know how to fix it. He asked to check if
/parts/app-name/install/bin has the file. In my case they are not in that directory (for all the three apps I tried to snap) but then he suggests,
If that does not exist then you need to take a look at the plugin type (cmake in this case), since each plugin has different native approaches for installing files, and add appropriate install rules.
I have no idea what to be done. I think mintstick is using plain install.sh, webapp-manager has makefile and warpinator has meson build system. You may please take a look at their github page.
Below are my snapcraft.yaml. Please take a look and suggest what am I doing wrong.
- mintstick snapcraft.yaml
name: mintstick base: core18 version: '1.4.4' summary: write .img and .iso files to USB sticks description: | A GUI to write .img or .iso files to a USB Key. It can also format them. grade: devel confinement: devmode parts: mintstick: source: https://github.com/linuxmint/mintstick.git plugin: make plugin: python python-version: python3 stage-packages: - coreutils - gir1.2-glib-2.0 - gir1.2-gtk-3.0 - gir1.2-polkit-1.0 - ntfs-3g - parted - policykit-1 - procps - python3 - python3-gi - python3-parted - gir1.2-udisks-2.0 - gir1.2-xapp-1.0 - util-linux - exfat-utils apps: mintstick: command: bin/mintstick
I get following error.
Cloning into '/root/parts/mintstick/src'... remote: Enumerating objects: 64, done. remote: Counting objects: 100% (64/64), done. remote: Compressing objects: 100% (44/44), done. remote: Total 1360 (delta 29), reused 44 (delta 17), pack-reused 1296 Receiving objects: 100% (1360/1360), 536.94 KiB | 681.00 KiB/s, done. Resolving deltas: 100% (789/789), done. Fetching and installing pip... Collecting pip Cache entry deserialization failed, entry ignored Using cached https://files.pythonhosted.org/packages/4e/5f/528232275f6509b1fff703c9280e58951a81abe24640905de621c9f81839/pip-20.2.3-py2.py3-none-any.whl Saved /root/parts/mintstick/python-packages/pip-20.2.3-py2.py3-none-any.whl Successfully downloaded pip Collecting pip Installing collected packages: pip Successfully installed pip-20.2.3 Fetching and installing wheel... Collecting wheel Using cached wheel-0.35.1-py2.py3-none-any.whl (33 kB) Saved /root/parts/mintstick/python-packages/wheel-0.35.1-py2.py3-none-any.whl Successfully downloaded wheel Looking in links: /root/parts/mintstick/python-packages Processing /root/parts/mintstick/python-packages/wheel-0.35.1-py2.py3-none-any.whl Installing collected packages: wheel Successfully installed wheel-0.35.1 Fetching and installing setuptools... Collecting setuptools Using cached setuptools-50.3.0-py3-none-any.whl (785 kB) Saved /root/parts/mintstick/python-packages/setuptools-50.3.0-py3-none-any.whl Successfully downloaded setuptools Looking in links: /root/parts/mintstick/python-packages Processing /root/parts/mintstick/python-packages/setuptools-50.3.0-py3-none-any.whl Installing collected packages: setuptools Successfully installed setuptools-50.3.0 Building mintstick Staging mintstick Priming mintstick Failed to generate snap metadata: Specified command 'bin/mintstick' was not found. Verify the command is correct and for a more deterministic outcome, specify the relative path to the command from the prime directory.
- webapp-manager snapcraft.yaml
name: webapp-manager base: core18 version: '1.0.4' summary: Webapp-Manager description: | Run websites as if they were apps. grade: devel confinement: devmode parts: webapp-manager: source: . plugin: make plugin: python stage-packages: - python3 - python3-gi - python3-configobj - python3-setproctitle - python3-tldextract - xapps-common #organize: # snap/$SNAPCRAFT_PROJECT_NAME/current: / apps: webapp-manager: command: bin/webapp-manager
- warpinator snapcraft.yaml
name: warpinator base: core18 version: '1.0.8' summary: Share files across the LAN description: | Share files across the LAN. grade: devel confinement: devmode parts: warpinator: source: . plugin: meson plugin: python python-version: python3 python-packages: - grpcio-tools - grpcio build-packages: - meson - python3-protobuf - gobject-introspection stage-packages: - gir1.2-glib-2.0 - gir1.2-gtk-3.0 - gir1.2-xapp-1.0 - python3 - python3-gi - python3-setproctitle - python3-xapp - python3-zeroconf - python3-cryptography - python3-nacl - python3-packaging apps: warpinator: command: bin/warpinator plugs: ['home','network','network-bind','removable-media']
Sorry, if it sounds like homework question. If I can get them to snap, I’m planning to maintain them.