[PUP-7435] Add support for snap packages Created: 2017/04/07 Updated: 2019/12/30
|Labels:||linux, package, type_and_provider|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
|QA Risk Assessment:||Needs Assessment|
Could we get support for snap package? https://snapcraft.io/
This should probably be implemented as package provider.
|Comment by Peter Bittner [ 2017/09/04 ]|
This would be helpful. JetBrains, for example, are in the process to create snap packages for their IDE products (IntelliJ IDEA, Webstorm, RubyMine, PyCharm, PhpStorm, etc.). They're dropping the request for creating .deb and .rpm packages for that.
|Comment by Jeremy Adams [ 2018/02/08 ]|
snap is the preferred install method for kubectl cli per https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-with-snap-on-ubuntu
|Comment by Igor Galić [ 2018/07/24 ]|
Here's a discussion between me and David Schmitt which concludes that we should probably not put snap support into package as it would break a lot of package's expectations:
|Comment by Hadmut Danisch [ 2019/12/30 ]|
Sorry to say that, but that discussion is bigoted nonsense.
snap has become an established package source, offering plenty of software, and is beginning to replace several ubuntu packages. Some pieces of important software is available as a snap only. And other software gets newer versions only as a snap.
Puppet's denial to support the package format is just rendering puppet into beeing unable to install machines in a clean way.
snapd comes with a description of it's REST API at https://github.com/snapcore/snapd/wiki/REST-API , so it should be quite simple to tell snapd to install or uninstall a requested package.
Unfortunately and in contrast, I did not find a detailed description about how to implement a package provider for puppet.
Strange enough, there's a module for that, https://forge.puppet.com/kemra102/snapd , but not exactly maintained, not yet complete, and based on the command line snap tool, not the REST API.
So it should be a small and simple task to implement this for someone familiar with the internals of puppet for this REST API.
So if you want puppet to be able to configure today's systems, puppet needs to keep up with today's systems.
And if puppet is not able to properly install current systems anymore, than this is not just a feature request anymore. It's a bug, since installation becomes partly impossible (in a clean way without workarounds).
|Comment by David Schmitt [ 2019/12/30 ]|
FTR I'd like to emphasise that Igor Galić and my discussion was specifically about the difficulties putting snap support into the package type as a provider.