← Back to issue list

snapcraft and Snap Store validation rules mismatch for `classic` snaps

View original Github issue

Metadata

Project
snapcraft
Number
#5595
Type
issue
State
open
Author
dmitry-lyfar
Labels
Status: Triaged Type: Bug
Created
Updated
Closed
—

Current evaluation

Triaged validation mismatch blocks publishing classic snaps with managed sockets; Snapcraft delegates packing checks to snapd, and resolution is pending upstream with review-tools

Suggested action: keep open

Reason: The maintainer explicitly said the issue would remain open until resolved between snapd and review-tools, after snapd bug #2117121 was filed. The exact YAML and contradictory errors provide a solid reproducer, and snapcraft/pack.py confirms packing validation is delegated to snap pack --check-skeleton.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 12 Complexity: 68 Confidence: 93 Actionability: 80

Issue body

### Bug Description It's not possible to publish a `classic` snap that has a daemon with a managed unix socket, something like this: ``` myd: environment: command: commands/run_daemon daemon: notify restart-condition: on-failure sockets: unix: listen-stream: $SNAP_COMMON/myd/myd.socket socket-mode: 0666 plugs: - network-bind ``` due to the difference between snapcraft (aka `snap pack` from snapd in this case) validation rules and the store's validation rules. The former will respond with: ``` Cannot pack snap: error: cannot validate snap "workshop": invalid definition of application "workshopd": "network-bind" interface plug is required when sockets are used Detailed information: Command '['snap', 'pack', '--check-skeleton', PosixPath('/root/prime')]' returned non-zero exit status 1. ``` If the plug is removed then, then the snap will be packed but the Store will complain on upload: ``` - confinement 'classic' not allowed with plugs/slots ``` See also https://github.com/canonical/snapd/blob/846d56dff4ac86e820d20ad5157f522de4df6db6/snap/validate.go#L917 ### To Reproduce See the description. ### Environment - Ubuntu 24.04 LTS ### snapcraft.yaml ```yaml myd: environment: command: commands/run_daemon daemon: notify restart-condition: on-failure sockets: unix: listen-stream: $SNAP_COMMON/myd/myd.socket socket-mode: 0666 plugs: - network-bind ``` ### Relevant log output ```shell See the description. ``` ### Additional context _No response_

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 12
Complexity: 68
Confidence: 93
Actionability: 80
keep open Triaged validation mismatch blocks publishing classic snaps with managed sockets; Snapcraft delegates packing checks to snapd, and resolution is pending upstream with review-tools
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 25
Complexity: 40
Confidence: 80
Actionability: 70
keep open Validation mismatch prevents publishing classic snaps with unix sockets: snapcraft requires network-bind plug, but the Store rejects plugs in classic confinement.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 18
Staleness: 65
Complexity: 60
Confidence: 85
Support Request: 10
keep open Classic snaps with managed unix sockets cannot be published: snapd's snap pack requires the network-bind plug for sockets, but the store rejects classic snaps with plugs. Triaged and blocked on snapd/review-tools (LP bug 2117121); maintainer keeping it open.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 40
Confidence: 95
Support Request: 5
keep open Validation rule mismatch for classic snaps with managed unix sockets between snapcraft and Snap Store. Triaged, tracked internally, and kept open pending upstream fix.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 70
Confidence: 95
Support Request: 5
keep open Mismatch between snapcraft and Snap Store validation rules prevents publishing classic snaps with unix sockets. Maintainer acknowledged and will keep open until upstream snapd/review-tools resolve the conflict.

Update history

No update history recorded yet.

Related work

  • Blocked By: snapd#2117121 (confidence 98%)

    The reporter filed this upstream bug, and the maintainer said Snapcraft would track it until snapd and review-tools resolve the mismatch.

Related issues

No related issues found above the similarity threshold.