← Back to issue list

customize snapcraft environment based on architecture.

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1744608
Type
issue
State
open
Author
~bsutton
Labels
architecture environment snapcraft
Created
Updated
Closed
—

Current evaluation

Architecture-conditional grammar remains unsupported for app and top-level environment variables; current models accept plain dictionaries, while grammar processing covers only selected part keys.

Suggested action: keep open

Reason: Maintainer @~kyrofa acknowledged the request and said conditional syntax was being added to more properties, but current code still models App.environment as a plain dictionary and processes grammar only for part-level keys. The valid use case remains unresolved, so the issue should stay open rather than be closed as stale.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 17 Complexity: 55 Confidence: 91 Actionability: 68

Issue body

I'm doing raspberry pi development and use an environment variable to enable/disable a hardware simulator. When the snap is being deployed into a test (non-arm64) environment I need to set a number of environment variables to enable the simulator and disable the loading of the .so file (the application is java but the hardware interface is in a .so). I came across the 'on' 'else' keywords and they look perfect for this sort of problem. I want to be able to write: apps:     pi-gation:       command: tomcat-launch       daemon: simple       plugs: [network, network-bind]       environment:       on arm64:             PI4J_PLATFORM : RaspberryPi GPIO Provider        else:           PI4J_PLATFORM : Simulated           SimulatedPlatform : RaspberryPi GPIO Provider Currently the on..else keywords are only supported for the 'stage-packages' key word. on..else should be supported for setting environment variables. Possibly the concept should be considered for a number of other properties.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 17
Complexity: 55
Confidence: 91
Actionability: 68
keep open Architecture-conditional grammar remains unsupported for app and top-level environment variables; current models accept plain dictionaries, while grammar processing covers only selected part keys.
stealth/space-bunny-alpha
Impact: 32
Quick Win: 8
Complexity: 55
Confidence: 86
Actionability: 58
keep open Requests architecture-conditional app environment variables. Maintainers acknowledged that snapcraft must process the passthrough field, but no implementation or resolution is evidenced after the 2018 discussion.
qwen/qwen3.6-35b-a3b
Impact: 40
Quick Win: 19
Complexity: 40
Confidence: 80
Actionability: 80
keep open Feature request to support 'on'/'else' advanced grammar for 'apps.environment' key in snapcraft.yaml, currently only supported for stage-packages, build-packages, and build-environment.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 18
Staleness: 85
Complexity: 55
Confidence: 70
Support Request: 10
needs triage Feature request to support architecture-conditional (on/else) syntax in the apps environment key, currently limited to stage-packages. Open since 2019 with no comments or maintainer response; grammar support has since expanded to more part keywords but app environment remains unaddressed.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 60
Confidence: 85
Support Request: 10
close stale Feature request to support conditional on/else syntax for environment variables in snapcraft. No maintainer response or activity in over 8 years.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 65
Confidence: 85
Support Request: 10
close stale Request to extend snapcraft's on/else conditional syntax to environment variables based on architecture. Unaddressed for over 8 years with no maintainer interaction or comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 45
Confidence: 75
Support Request: 10
close stale Feature request to support conditional on/else syntax for environment variables in snapcraft. Currently only works for stage-packages. Unaddressed for over 8 years with no maintainer interaction.

Update history

Date Change
created

Related issues

No related issues found above the similarity threshold.