summaryrefslogtreecommitdiffstats
path: root/extras/snap/snapcraft.yaml
blob: 9a9dbd21e3f1baeecf7f310665d4008583dc732a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: vpp
base: core20
version: '21.01'
summary: Vector Packet Processor
description: |
         High performance user-mode network stack

grade: devel
confinement: classic

parts:
  vpp:
    source-type: tar
    source: vpp.tgz
    plugin: nil
    build-packages:
      - gcc-8
      - make
      - libnuma-dev
      - libpcap-dev
    stage-packages:
      # For the dpdk plugin
      - libnuma1
    override-build: |
      dpkg -i vpp-ext-deps*.deb || true
      UNATTENDED=y make install-dep install-ext-deps build-release
    override-prime: |
      # Copy the build result into SNAPCRAFT_PRIME
      cd $SNAPCRAFT_PART_SRC/../build/build-root/install-vpp-native
      tar cf - . | (cd $SNAPCRAFT_PRIME ; tar xf -)
      # Copy staged libraries into SNAPCRAFT_PRIME
      cp $SNAPCRAFT_STAGE/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/lib* $SNAPCRAFT_PRIME/vpp/lib
      # Strip (unneeded) symbols
      cd $SNAPCRAFT_PRIME
      find . -type f -exec strip --strip-unneeded '{}' ';' 2> /dev/null || true

apps:
  vpp:
    command: vpp/bin/vpp -c $SNAP/vpp/etc/vpp/startup.conf
    daemon: simple
    environment:
        "LD_LIBRARY_PATH": "$SNAP/vpp/lib:$SNAP/vpp/lib/vpp_plugins:$SNAP/vpp/lib/vpp_api_test_plugins"

  vppctl:
    command: vpp/bin/vppctl
    environment:
        "LD_LIBRARY_PATH": "$SNAP/vpp/lib"

  vpp-api-test:
    command: vpp/bin/vpp_api_test
    environment:
        "LD_LIBRARY_PATH": "$SNAP/vpp/lib"

  svmtool:
    command: vpp/bin/svmtool
    environment:
        "LD_LIBRARY_PATH": "$SNAP/vpp/lib"