Dave Barach 832a316526 misc: fix snap image build
Clean up snapcraft.yaml bit rot, switch to Ubuntu 20.04, add README.md

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2e0d3925cf43541e70b59083f8c91af539aa34e6
2021-01-26 16:07:53 +00:00
..
2021-01-26 16:07:53 +00:00
2021-01-26 16:07:53 +00:00
2021-01-26 16:07:53 +00:00

General

The external dependency package will not build in the snapcraft vm. The path of least resistance is to copy it to the root of the (original) workspace before running the prep script.

Snapcraft has mount issues except under /home. Run the prep script and copy the entire directory (including the .tgz file) under /home/yourself.

Run the prep script

  $ cd <vpp-workspace>/extras/snap
  $ ./prep

Copy data to /home (if necessary)

  $ mkdir /home/xxx
  $ cd <vpp-workspace>/extras/snap
  $ cp * /home/xxx

Set snapcraft environment variables
-----------------------------------

Minimum requirements:

SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY=16G SNAPCRAFT_BUILD_ENVIRONMENT_DISK=32G


Optional:

SNAPCRAFT_BUILD_ENVIRONMENT_CPU=8 SNAPCRAFT_ENABLE_DEVELOPER_DEBUG=yes


Run snapcraft
-------------

With luck, simply running snapcraft will produce the snap

$ snapcraft [--debug]


Rerunning snapcraft phases
--------------------------

Here's how to (re)run individual phases, to avoid starting from
scratch N times in case of errors:

snapcraft pull [] snapcraft build [] snapcraft stage [] snapcraft prime [] snapcraft snap or snapcraft


Restart without rebuilding VM
-----------------------------

To restart from scratch without rebuilding the VM:

snapcraft clean vpp


Delete (all) snapcraft VMs
--------------------------

for vm in $(multipass list | awk '{print $1}' | grep ^snapcraft-); do multipass delete $vm --purge done