I’m happy to try this out. However, this still leaves the issue that hotplug support is currently experimental and that it has an issue when multiple Arduino boards are connected.
I would really like to get this snap working out of the box. In the five weeks since I posted this request, the arduino snap has risen from 0 to 8.000 active installs and it keeps growing steady. I would like to give these people the best out-of-the-box experience and make their Arduino experience on Ubuntu as painless as possible.
@galgalesh - assuming the request goes through for serial-port, I’ll grant slots-per-plug: * in the snap declaration and you can test out that functionality.
Review Tools did not fully pass for this snap.
Specific measures might need to be taken on the Snap Store before this snap can be fully accepted.
Linting Issues:
- unknown attribute 'allow-auto-connection' for interface 'serial-port' (plugs)
Should review-tools be updated for this syntax or am I using it incorrectly?
I’m sorry that I wasn’t clear. The “slots-per-plug” will be added to the snap declaration, not your snap. You continue to use serial-port like normal. When the votes are tallied and we connect serial-port automatically, I’ll adjust the snap declaration in the store accordingly.
Thanks for the clarification. Stupid question; what is the snap declaration? I thought this was snap.yaml in the snap package?
So Publishers only need to request greedy plugs on the forum here? and snaps don’t need to be updated? Does this mean that the information provided in Plug/slot declaration rules: greedy plugs is only relevant to actual snapd developers or people managing the snapcraft store?
The snap declaration is a signed assertion (document) that corresponds to your snap. You can view it by doing “snap download foo”; that will download both the .snap file for the snap and a .assert file (feel free to look at it).
The ‘base declaration’ is something encoded in snapd that declares how interfaces can be installed, connected or auto-connected (you can see it with sudo snap debug get-base-declaration). The ‘snap declaration’, among other things, may have overrides to the base declaration for snapd to consider when evaluating things like auto-connection. The snap declaration is something that the store maintains and signs (snapd will verify the signature as needed) and reviewers are able to modify the portions of the snap declaration that relate to overriding the base declaration and setting aliases. In this manner, snaps just plugs and slots as desired and reviewers can update the snap declaration for a snap as per our processes.
Correct, just follow the processes you’ve always used to plugs and slots things and continue to make requests for auto-connection, etc in the forum like always. Snaps do not need to be updated. The information in the aforementioned link is primarily of interest to snapd developers and store reviewers, yes.
Just a followup, since greedy plugs was granted to the arduino snap in the other request, I gave it a try here with my arduino, but it didn’t work unfortunately, but I filed https://bugs.launchpad.net/snapd/+bug/1876356 to take a look at it.
This seems to be a bug in the snap declaration, which I think I just corrected in the arduino and s4a snaps (arduino-mhall119 hasn’t been granted this yet).
I’m sorry I’m dense folks, but reading from top to bottom I can’t quite tell what is actually being requested here and what was requested elsewhere. Are we still voting on greedy plugs?
Thank you for the clarification @galgalesh. +1 to auto-connect both serial-port with greedy plugs as well as raw-usb for arduino-mhall119 to better align with arduino.
The arduino-mhall119 snap currently shows a warning on startup asking users to change, though if they click “ok”, the IDE still starts. Other than the warning messages, the snaps are the same.
The arduino-mhall119 snap lost ~4000 users in the last three months, so users are switching, but at this rate, it will still take at least 6 months until the userbase is completely gone. (The arduino snap gained ~14.000 users in the same time period.)