This is a simple yaml configuration file which can be consumed by snapcraft to build a snap which can be uploaded to the snap store, and installed on supported distros.
You can find more information about snapcraft here: http://snapcraft.io/
If we upload the snap to the ubuntu store we will get a great way to deliver the software, and get transactional automatic updates. You can test this snap in an ubuntu 16.04 machine with:
$ sudo apt install git snapcraft
$ git clone https://github.com/popey/shellcheck
$ cd shellcheck
$ git checkout add-snapcraft
$ snapcraft
$ sudo snap install *.snap --dangerous --classic
$ shellcheck
If you have any doubts or comments, please let me know.
version: '0.4.5+git'
How can we avoid duplicating the version number? Just call it 'git' and let any uploaders set it? Have cabal sdist write it during distribution?
I know this has been requested before, it's a known bug. https://bugs.launchpad.net/snapcraft/+bug/1594794
Currently we need to ninja-edit the version string in the yaml. e.g. in travis:- https://github.com/magne4000/quassel-webserver/blob/master/.travis.yml#L8
@koalaman
There's an ongoing discussion on the snapcraft forum which you may want to wade into with your opinion on how this feature should be shaped. https://forum.snapcraft.io/t/snapcraft-version-scriptlets/106
Since the current package seems to be pretty stable I would like to request it to enter candidate/stable channel as soon as possible for auto-refreshing newly released version.
Regular ping for releasing the snap to stable channel, checkout the snapcraft release --help command for info on accomplishing this. Only snaps in stable/candidate channel will be promoted in the snap store and don't require manual channel specification to install.
Oops, the correct command would be snapcraft release --help, apologies.
There are currently two problems regarding the snap:
edge channel is outdated (currently, v0.5.0+git20.32a53f2)If possible please use the build.snapcraft.io service to build every commit and publish it to the snap's edge channel automatically, and publish a 0.5.0 release to the stable channel.
The build is already configured to be automatic, but it's been broken for a while.
I wish I had the capacity to keep on top of all the different build systems, but Snap is way more work than I expected.
Hopefully this will be resolved before 0.6.0. It's snapcraft bug https://bugs.launchpad.net/snapcraft/+bug/1797809
I have an ugly workaround in 359b1467a2. Hopefully it'll work well enough.
Most helpful comment
Since the current package seems to be pretty stable I would like to request it to enter candidate/stable channel as soon as possible for auto-refreshing newly released version.