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.