Can someone create a Ubuntu snap?


Is someone in the community able to create a Ubuntu Snappy package for BitKeeper?

If someone wants to play with that we can give some hints on how to get started.


Now the Snappy stuff is being ported to more platforms.

(Yeah, that article title is lots of silly hype)

But I should take time out from building an all singing all dancing git importer and see if I can figure out the snap format and build a package.


Hmm… Wouldn’t Docker give you the same advantages?


Would you want to run ‘bk’ from Docker?
Perhaps a setup for a bkd server that allowed access to repositories and the web interface would make sense, but not a command line tool.


I don’t know if I’d want to install another package manager either. Honestly, I don’t believe that the idea of a universal package format would take roots besides servers or mobiles. Now even many programming languages feel that it’s necessary to make their own package manager. That looks like a déjà vu.


OK, I played with snapcraft this morning and came up with a recipe that correctly builds bk below. But it turns out to be pretty useless. Snap runs everything is a sandbox that is unable to read and write the user’s filesystem. So this will give you a /snap/bin/bk executable, but that binary is unable to actually operate on any of your repositories.

Perhaps I just don’t understand but it doesn’t seem that helpful to me. Oh well.

name: bk
version: 7.3ce
summary: BitKeeper Revision Control system
description: |
  This is a simple repackaging of the bk-7.3ce binary package of
  BitKeeper which was originally compiled on a 64-bit Debian 8.0 machine.
confinement: strict

    command: usr/libexec/bitkeeper/bk

    plugin: make
      - BINDIR=/usr/libexec/bitkeeper
      - gperf
      - groff
      - bison
      - flex
      - libxft-dev
      - libtommath-dev
      - libtomcrypt-dev
      - libpcre3-dev
      - zlib1g-dev
      - liblz4-dev


I think you need to add something like:

    command: /bin/bk                                                     
    plugs: [home] 

Then to “enable” this after installing your snap you run:

sudo snap connect bk:home ubuntu-core:home

Join #snappy on IRC if you need more help.