What’s the output of the airsdk --version command ?
It should output
airsdk-cli version 7.7.2
Target `Anafi Ai' SDK version 7.7.2 located at /opt/parrot-airsdk/parrot-airsdk-base/sdk/anafi2-classic_airsdk
Target `Anafi Ai Simulator' SDK version 7.7.2 located at /opt/parrot-airsdk/parrot-airsdk-base/sdk/anafi2-pc_airsdk
Otherwise it means that the SDKs for Anafi Ai were not properly installed, you should check that the deprecated parrot-airsdk-base package is no longer installed on your system, and that the parrot-airsdk-anafi2-classic and parrot-airsdk-anafi2-pc packages are installed instead. You can check this using dpkg -s package-name.
The hint with airsdk --version and dpkg was very helpful. I was able to solve the problem in the meantime by uninstalling, sudo apt autoremove and reinstalling. The first attempt had probably not removed all components from 7.7.1.
Now I have encountered another problem:
If I have understood correctly, multiple signatures are now possible:
mission.yaml
signatures:
- name: test
type: local
path: "key/fm-provider-private-key.pem"
Attempt to build with signature “test”
airsdk build --sign test
But gives the following error message:
File "/usr/bin/airsdk", line 10, in <module>
sys.exit(main())
File "/opt/parrot-airsdk/parrot-airsdk-cli/lib/python3.10/site-packages/airsdk_cli/main.py", line 174, in build
mission = Mission(
File "/opt/parrot-airsdk/parrot-airsdk-cli/lib/python3.10/site-packages/airsdk_cli/mission/mission.py", line 771, in __init__
sname, stype, sarg = signature.split(":", 3)
ValueError: not enough values to unpack (expected 3, got 1)
If the mission.yaml does not provide a signatures field, then the mission is signed by an automatically generated developer key (stored in ~/.local/share/parrot/airsdk-cli/developer_key_private.pem), with the name signature.ecdsa
If the mission.yaml provides a signatures field, then the mission is signed by all provided keys, Those signatures will be stored in the mission archive as a file named a the name field.
If the --sign <name:type:path> argument is provided, it takes precedence over the signatures field from the mission.yaml file. In your case, you don’t need to use this argument, since you’ve already filled the signature from the mission.yaml.
Note that the only signature checked by the drone during installation is the one named signature.ecdsa, other signatures are only useful if checked by another mean (i.e. during deployment on a server).
Simulator builds work a little differently, since you can not add any public keys to its accepted signatures: all simulator builds are signed with the simulator key, under the signature.ecdsa name. If your signature config does create a signature.ecdsa signature, it will be renamed as signature.ecdsa.main in this case.