85 lines
1.6 KiB
ReStructuredText
85 lines
1.6 KiB
ReStructuredText
|
.. _snap_doc:
|
|||
|
|
|||
|
VPP Snap Build
|
|||
|
==============
|
|||
|
|
|||
|
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 \``\`
|