Build IM docs package 55/6555/4
authorMike Marchetti <mmarchetti@sandvine.com>
Mon, 24 Sep 2018 19:05:51 +0000 (15:05 -0400)
committerMike Marchetti <mmarchetti@sandvine.com>
Mon, 1 Oct 2018 15:48:27 +0000 (11:48 -0400)
Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
Change-Id: I612ba00dd2ba6b15cdac88d1c30681168d078693

Dockerfile
Makefile
build-docs.sh [new file with mode: 0755]
debian/control [new file with mode: 0644]
devops-stages/stage-archive.sh
setup.py

index 064baad..1e89c8f 100644 (file)
 FROM ubuntu:16.04
 
 RUN  apt-get update && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install git make wget python python3 python3-all python3-pip python-pip debhelper tox python-setuptools python3-setuptools && \
+  DEBIAN_FRONTEND=noninteractive apt-get -y install git make wget python \
+                                            python3 python3-all python3-pip python-pip \
+                                            debhelper tox python-setuptools \
+                                            python3-setuptools build-essential dh-make && \
   DEBIAN_FRONTEND=noninteractive pip3 install pip==9.0.3 && \
   DEBIAN_FRONTEND=noninteractive pip3 install -U pyang pyangbind && \
   DEBIAN_FRONTEND=noninteractive pip3 install -U stdeb && \
index 26e3843..4faeb5f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -85,6 +85,8 @@ $(RW_PB_EXT):
 package:
        tox -e build
        tox -e build3
+       ./build-docs.sh
+
 
 pyangbind: pyang
        git clone https://github.com/alf-tierno/pyangbind
diff --git a/build-docs.sh b/build-docs.sh
new file mode 100755 (executable)
index 0000000..3bb29b1
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash
+# Copyright 2018 Sandvine
+# All Rights Reserved.
+#
+#    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.
+
+PKG_DIRECTORIES="osm_im_trees models"
+MDG_NAME=im
+PKG_NAME=osm-${MDG_NAME}docs
+DEB_INSTALL=debian/${PKG_NAME}.install
+export DEBEMAIL="mmarchetti@sandvine.com"
+export DEBFULLNAME="Michael Marchetti"
+
+PKG_VERSION=$(git describe --match "v*" --tags --abbrev=0)
+PKG_VERSION_FULL=$(git describe --match "v*" --tags --long)
+PKG_VERSION_PREFIX=$(echo $PKG_VERSION | sed -e 's/v//g')
+PKG_VERSION_POST=$(git rev-list $PKG_VERSION..HEAD | wc -l)
+
+IFS='-' read -ra PKG_VERSION_FIELDS <<< "$PKG_VERSION_FULL"
+
+if [ "$PKG_VERSION_POST" -eq 0 ]; then
+    PKG_DIR="${PKG_NAME}-${PKG_VERSION_PREFIX}"
+    POST_UPDATE=
+else
+    PKG_DIR="${PKG_NAME}-$PKG_VERSION_PREFIX.post${PKG_VERSION_POST}"
+    POST_UPDATE=".post${PKG_VERSION_FIELDS[1]}"
+fi
+
+rm -rf $PKG_DIR
+rm -f *.orig.tar.xz
+rm -f *.deb
+rm -f $DEB_INSTALL
+mkdir -p $PKG_DIR
+
+for dir in $PKG_DIRECTORIES; do
+    ln -s $PWD/$dir $PKG_DIR/.
+    echo "$dir/* usr/share/osm-$MDG_NAME/$dir" >> $DEB_INSTALL
+done
+cp -R debian $PKG_DIR/.
+
+cd $PKG_DIR
+dh_make -y --indep --createorig --a -c apache
+sed -i -e "s/${PKG_VERSION_PREFIX}${POST_UPDATE}-1/$PKG_VERSION_PREFIX${POST_UPDATE}-${PKG_VERSION_FIELDS[2]}/g" debian/changelog
+dpkg-buildpackage -uc -us -tc -rfakeroot 
+cd -
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..5e9a67f
--- /dev/null
@@ -0,0 +1,12 @@
+Source: osm-im
+Section: devel
+Priority: optional
+Maintainer: Michael Marchetti <mmarchetti@sandvine.com>
+Build-Depends: debhelper (>=9)
+Standards-Version: 3.9.6
+Homepage: http://osm.etsi.org
+
+Package: osm-im
+Architecture: all
+Depends: ${misc:Depends}
+Description: osm-im is the Information Model package for OSM, providing base classes derived from YANG models to be used by other modules.
index c696ce6..98b44a3 100755 (executable)
@@ -5,6 +5,7 @@ rm -rf pool
 rm -rf dists
 mkdir -p pool/$MDG
 mv deb_dist/*.deb pool/$MDG/
+mv *.deb pool/$MDG/
 mv pyangbind/deb_dist/*.deb pool/$MDG/
 mv pyang/deb_dist/*.deb pool/$MDG/
 
index cdccff9..b08ea17 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ setup(
     name='osm_im',
     description='OSM Information Model',
     long_description = open('README.rst').read(),
-    version_command=('git describe --tags --long --dirty --match v*', 'pep440-git'),
+    version_command=('git describe --tags --long --dirty --match v*', 'pep440-git-full'),
     author='Mike Marchetti',
     author_email='mmarchetti@sandvine.com',
     packages=find_packages(),