Tuesday, May 31, 2016

Bite-size bugs in snapd


This is just a quick shout to anyone out there that is interested in snapd, maybe follows development or is just curious. We are getting more and more bite-size bugs that would be perfect for someone to pick up and fix as their first contribution to either free and open source software in general or perhaps to specifically to snapd itself.

There's one such bug I'd like to highlight just now. https://bugs.launchpad.net/snappy/+bug/1587445

The bug is very simple to fix. The snap list command should say something appropriate when there are no snaps installed. This is literally an if statement and a printf call. If anyone wants to try to do that, feel free to ping me on irc (zyga on #snappy on freenode) or comment below on Google+.

We have hacking instructions, we have automated tests and we have a friendly development community. I'd love to see you joint us.

snapd 2.0.5 released, new release cadence

There's a new release of snapd arriving in Ubuntu 16.04. As before, our fearless release manager Michael Vogt has crafted the work and made sure it can arrive to your machines on a timely basis.

You can see the changelog below, annotated with links to fixed bugs. I would only like to highlight one bug which improves experience of snaps under Unity 7.

New snapd releases are now planned to happen every week. You can expect a steady stream of fresh snappy goodness in both snapd and in the store. With this in mind we also plan to change the version scheme. Currently, as you can see below, we use 2.0.x for each micro-release. This system will quickly get meaningless so we will likely witch to a date-based release names instead . Expect to see a 2016W22 (or ..23) release next time around.

On the development front, many interesting changes are in the pipeline. While not a part of snapd 2.0.5 they should be released in the next few weeks, at most. You can expect applications to gain ability to play sound and music using the new pulseaudio interface. This ability, along with bug fixes to opengl should unlock the ability to deliver many popular games as snaps. Game on!

There's also ongoing work to allow sharing data from the classic Ubuntu and snaps. One of our first goals is to allow sharing fonts. This will improve the user experience of snaps that want to take advantage of custom, locally installed fonts. It should also allow us to package fonts as snaps in the near future. The underlying technology is very generic and I'm sure we'll find many interesting things to share this way.

As always, you can reach out to us on IRC (#snappy) and on the mailing list (snapcraft@lists.ubuntu.com, see this post for details). If you have any questions we will be happy to answer them.

See you next week!

snapd (2.0.5) xenial; urgency=medium

  * New upstream release: LP: #1583085
    - interfaces: add dbusmenu, freedesktop and kde notifications to
      unity7 (LP: #1573188)
    - daemon: make localSnapInfo return SnapState
    - cmd: make snap list with no snaps not special
    - debian: workaround for XDG_DATA_DIRS issues
    - cmd,po: fix conflicts, apply review from #1154
    - snap,store: load and store the private flag sent by the store in
    - interfaces/apparmor/template.go: adjust /dev/shm to be more usable
    - store: use purchase decorator in Snap and FindSnaps
    - interfaces: first version of the networkmanager interface
    - snap, snappy: implement the new (minmimal) kernel spec
    - cmd/snap, debian: move manpage generation to depend on an environ
      key; also, fix completion

 -- Michael Vogt   Thu, 19 May 2016 15:29:16 +0200

snapd (2.0.4) xenial; urgency=medium

  * New upstream release:
    - interfaces: cleanup explicit denies
    - integration-tests: remove the ancient integration daemon tests
    - integration-tests: add network-bind interface test
    - integration-tests: add actual checks for undoing install
    - integration-tests: add store login test
    - snap: add certain implicit slots only on classic
    - integration-tests: add coverage flags to snapd.service ExecStart
      setting when building from branch
    - integration-tests: remove the tests for features removed in 16.04.
    - daemon, overlord/snapstate: "(de)activate" is no longer a thing
    - docs: update meta.md and security.md for current snappy
    - debian: always start snapd
    - integration-tests: add test for undoing failed install
    - overlord: handle ensureNext being in the past
    - overlord/snapstate,overlord/snapstate/backend,snappy: start
      backend porting LinkSnap and UnlinkSnap
    - debian/tests: add reboot capability to autopkgtest and execute
    - daemon,snappy,progress: drop license agreement broken logic
    - daemon,client,cmd/snap: nice access denied message 
      (LP: #1574829)
    - daemon: add user parameter to all commands
    - snap, store: rework purchase methods into decorators
    - many: simplify release package and add OnClassic
    - interfaces: miscellaneous policy updates
    - snappy,wrappers: move desktop files handling to wrappers
    - snappy: remove some obviously dead code
    - interfaces/builtin: quote apparmor label
    - many: remove the gadget yaml support from snappy
    - snappy,systemd,wrappers: move service units generation to wrappers
    - store: add method to determine if a snap must be bought
    - store: add methods to read purchases from the store
    - wrappers,snappy: move binary wrapper generation to new package
    - snap: add `snap help` command
    - integration-tests: remove framework-test data and avoid using
      config-snap for now
    - builtin/unity7.go: allow using gmenu. Closes: LP:#1576287
    - add integration test to verify fix for LP:#1571721

 -- Michael Vogt   Fri, 13 May 2016 17:19:37 -0700

Friday, May 13, 2016

snapd updated to 2.0.3

Ubuntu 16.04 has just been updated with a new release of snapd (2.0.3)

Our release manager, Michael Vogt, has prepared and pushed this release into the Ubuntu archive. You can look at the associated milestone sru-1 on Launchpad for more details.

Work is already under way on sru-2

You can find the changelog below.

   * New upstream micro release:
     - integration-tests, debian/tests: add unity snap autopkg test
     - snappy: introduce first feature flag for assumes: common-data-dir
     - timeout,snap: add YAML unmarshal function for timeout.Timeout
     - many: go into state.Retry state when unmounting a snap fails.
       (LP: #1571721, #1575399)
     - daemon,client,cmd/snap: improve output after snap
       install/refresh/remove (LP: #1574830)
     - integration-tests, debian/tests: add test for home interface
     - interfaces,overlord: support unversioned data
     - interfaces/builtin: improve the bluez interface
     - cmd: don't include the unit tests when building with go test -c
       for integration tests
     - integration-tests: teach some new trick to the fake store,
       reenable the app refresh test
     - many: move with some simplifications test snap building to
     - asserts: define type for revision related errors
     - snap/snaptest,daemon,overlord/ifacestate,overlord/snapstate: unify
       mocking snaps behind MockSnap
     - snappy: fix openSnapFile's handling of sideInfo
     - daemon: improve snap sideload form handling
     - snap: add short and long description to the man-page
       (LP: #1570280)
     - snappy: remove unused SetProperty
     - snappy: use more accurate test data
     - integration-tests: add a integration test about remove removing
       all revisions
     - overlord/snapstate: make "snap remove" remove all revisions of a
       snap (LP: #1571710)
     - integration-tests: re-enable a bunch of integration tests
     - snappy: remove unused dbus code
     - overlord/ifacestate: fix setup-profiles to use new snap revision
       for setup (LP: #1572463)
     - integration-tests: add regression test for auth bug LP:#1571491
     - client, snap: remove obsolete TypeCore which was used in the old
       SystemImage days
     - integration-tests: add apparmor test
     - cmd: don't perform type assertion when we know error to be nil
     - client: list correct snap types
     - intefaces/builtin: allow getsockname on connected x11 plugs
       (LP: #1574526)
     - daemon,overlord/snapstate: read name out of sideloaded snap early,
       improved change summary
     - overlord: keep tasks unlinked from a change hidden, prune them
     - integration-tests: snap list on fresh boot is good again
     - integration-tests: add partial term to the find test
     - integration-tests: changed default release to 16
     - integration-tests: add regression test for snaps not present after
     - integration-tests: network interface
     - integration-tests: add proxy related environment variables to
       snapd env file
     - README.md: snappy => snap
     - etc: trivial typo fix (LP:#1569892)
     - debian: remove unneeded /var/lib/snapd/apparmor/additional
       directory (LP: #1569577)