Bug 1846: LTS Support
[osm/osmclient.git] / snap / snapcraft.yaml
index b7d0f05..92c0828 100644 (file)
@@ -1,20 +1,76 @@
-name: osmclient # you probably want to 'snapcraft register <name>'
-version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'
-summary: A python client for osm orchestration
+---
+##
+# Copyright 2020 ETSI
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+##
+name: osmclient
+base: core20
+adopt-info: client
+summary: A python client for orchestrating OSM
 description: |
-    A python client for osm orchestration
+  A python client for orchestrating Open Source Mano (OSM).
 
-grade: stable # must be 'stable' to release into candidate/stable channels
-confinement: strict # use 'strict' once you have the right plugs and slots
+grade: stable
+
+confinement: strict
+
+environment:
+  LC_ALL: C.UTF-8
+  LANG: C.UTF-8
 
 apps:
-  osmclient:
+  osm:
     command: bin/osm
+    plugs:
+      - network
+      - home
+      - ssh-public-keys
+    environment:
+      PATH: $SNAP/usr/bin:$SNAP/bin/:$PATH:$SNAP/usr/local/bin/:/usr/local/bin/
+      MAGIC: $SNAP/usr/share/file/magic.mgc
 
 parts:
-  osmclient:
-    source: .
+  client:
     plugin: python
-    python-version: python2
-    stage:
-      - -README.md
+    source: .
+    requirements:
+      - requirements-dev.txt
+      - requirements.txt
+    python-packages:
+      - pip==21.0.1
+      - setuptools==44.0.0
+    build-environment:
+      - PIP_COMPILE: "false" # disable .pyc generation in pip
+      - PYTHONDONTWRITEBYTECODE: "false" # disable .pyc generation by setup.py
+    build-packages:
+      - gcc
+      - git
+      - make
+      - wget
+      - libcurl4-openssl-dev
+      - libssl-dev
+      - python3-distutils
+      - python3-dev
+      - python3-pip
+      - python3-pycurl
+    stage-packages:
+      - libmagic1
+      - libcurl4-openssl-dev
+      - python3
+    override-build: |
+      VERSION=$(git describe --match v* --tags --long --dirty)
+      snapcraftctl set-version $VERSION
+      snapcraftctl build
+      `find $SNAPCRAFT_PART_INSTALL -name '__pycache__' | xargs rm -r`
+      `find $SNAPCRAFT_PART_INSTALL -name 'RECORD' | xargs rm`