Comments (2)
Thanks, the plug was removed by 235ea64 and de4efe8.
from workshops.
@mvo @jhenstridge This problem occurs in general if we have a Snap A which needs another Snap B be installed in order to work correctly.
In my case it is any Snap which has print functionality. Those Snaps plug the recently released cups
interface and the cups
interface's slot is provided by the CUPS Snap, so these Snaps require the CUPS Snap to be installed.
As snapd has no general support for dependencies between Snaps we use the workaround of the fake content interface, putting the following into the snapcraft.yaml
of Snap A:
plugs:
foo-install-B:
default-provider: B
interface: content
content: foo
target: $SNAP_DATA/foo
This works for Snaps in general which we install from the Snap Store or from a *.snap
file. If Snap A is seeded it breaks the system installation as described in the initial posting, even if Snap B is also seeded.
What we need in snapd is general support for default-provider:
in any plug, not only content interfaces, so that one could do:
plugs:
use-feature-of-B:
default-provider: B
or in the snapcraft.yaml
of an application which prints:
plugs:
cups:
default-provider: cups
to install the CUPS Snap (cups
), so that the application can plug the cups
interface (or even better, as the cups
interface needs the CUPS Snap anyway, define the dependency internally in snapd).
from workshops.
Related Issues (20)
- Instance action button icons
- Remember scroll offset HOT 1
- Quick launch dropdown menu HOT 1
- Home: keyboard search eats up shortcuts
- Project info UI enhancements HOT 2
- Multiple context menus HOT 2
- Config: invalid defaults for integers HOT 1
- Tooltip delay
- When LXD is not installed HOT 2
- Shared preferences
- Launcher wizard fails to render in `0+git.af9303f` due to missing `Provider<RemoteStore>`
- Escape not working
- Allow fast configuration of high level features for an already existing container
- Leave a failing session visible so user can diagnose
- showConfigEditorDialog() uses build context across async gap
- ButtonBar in instance table has not enough space
- Empty screen with latest update from edge
- Build fails, "Because mockito >=5.0.6 <5.4.0 depends on test_api >=0.2.1 <0.5.0 ..."
- Fails to open terminal if default shell of $USER isn't in container
- Bug: Selection goes through the TUIs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from workshops.