Can someone create a Ubuntu snap?


#1

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.


#2

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.


#3

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


#4

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.


#5

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.


#6

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

apps:
  bk:
    command: usr/libexec/bitkeeper/bk

parts:
  bk:
    plugin: make
    source: https://www.bitkeeper.org/downloads/bk-7.3ce-rc1.tar.gz
    make-parameters:
      - BINDIR=/usr/libexec/bitkeeper
    build-packages:
      - gperf
      - groff
      - bison
      - flex
      - libxft-dev
      - libtommath-dev
      - libtomcrypt-dev
      - libpcre3-dev
      - zlib1g-dev
      - liblz4-dev

#7

Hi,
I think you need to add something like:

apps:                                                                            
  bk:                                                                           
    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.