Changes in Makefile,setup and devops files, including new tox.ini 64/2164/2
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 13 Sep 2017 06:28:39 +0000 (08:28 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 13 Sep 2017 08:16:44 +0000 (10:16 +0200)
Change-Id: I68dbd848697a2407bea81797a9af06399edda3de
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
Dockerfile
MANIFEST.in
Makefile
devops-stages/stage-build.sh
setup.py
setup_lite.py
tox.ini [new file with mode: 0644]

index 2e05659..7dac9e8 100644 (file)
@@ -1,10 +1,8 @@
 FROM ubuntu:16.04
 
 RUN  apt-get update && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install git build-essential && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install python python-dev python-all python-stdeb fakeroot pypi2deb && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install python-pip libmysqlclient-dev libssl-dev libffi-dev libvirt-dev && \
-  DEBIAN_FRONTEND=noninteractive pip install --upgrade pip && \
-  DEBIAN_FRONTEND=noninteractive pip install --upgrade setuptools && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install python-argcomplete python-jsonschema python-logutils python-mysqldb python-paramiko python-requests python-yaml python-bottle python-libvirt
+  DEBIAN_FRONTEND=noninteractive apt-get -y install git make python python-pip debhelper && \
+  DEBIAN_FRONTEND=noninteractive pip install -U pip && \
+  DEBIAN_FRONTEND=noninteractive pip install -U setuptools setuptools-version-command stdeb
+
 
index 3a9e9a9..71cb3ec 100644 (file)
@@ -1,5 +1,5 @@
 include README.rst
-include OPENVIM_VERSION
+#include OPENVIM_VERSION
 include openflow
 include openvimd
 include openvim
index bae4fe1..553d349 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,25 +1,36 @@
 #!/usr/bin/env bash
+.PHONY: all test clean
+
 SHELL := /bin/bash
 
-all: clean build pip install
-lite: clean build_lite pip_lite install_lite
+all:
+       $(MAKE) clean_build build
+       $(MAKE) clean_build openvim
+       $(MAKE) clean_build build_lite
+       $(MAKE) clean_build lite
+
+openvim: package_openvim
+
+lite: package_lib_openvim
 
-clean_deb:
+clean: clean_build
        rm -rf .build
-clean:
+
+clean_build:
        rm -rf build
        find osm_openvim -name '*.pyc' -delete
        find osm_openvim -name '*.pyo' -delete
 
 prepare_lite:
-       pip install --user --upgrade setuptools
+       #pip install --user --upgrade setuptools
        mkdir -p build
-       VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
-       VER2=$(shell git describe | cut -d- -f2); \
-       VER3=$(shell git describe | cut -d- -f3); \
-       echo "$$VER1.dev$$VER2+$$VER3" > build/OVIM_VERSION
+       #VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
+       #VER2=$(shell git describe | cut -d- -f2); \
+       #VER3=$(shell git describe | cut -d- -f3); \
+       #echo "$$VER1.dev$$VER2+$$VER3" > build/OVIM_VERSION
+       cp tox.ini build/
        cp MANIFEST.in build/
-       sed -i "s/include OPENVIM_VERSION/include OVIM_VERSION/g" build/MANIFEST.in
+       #sed -i "s/include OPENVIM_VERSION/include OVIM_VERSION/g" build/MANIFEST.in
        sed -i "s/recursive-include osm_openvim/recursive-include lib_osm_openvim/g" build/MANIFEST.in
        sed -i "s/include openflow/include openflow-lib/g" build/MANIFEST.in
        sed -i '/include openvimd/d' build/MANIFEST.in
@@ -39,12 +50,13 @@ prepare_lite:
        sed -i "s/__import__(\"osm_openvim\.\"/__import__(\"lib_osm_openvim\.\"/g" build/lib_osm_openvim/ovim.py
 
 prepare:
-       pip install --user --upgrade setuptools
+       #pip install --user --upgrade setuptools
        mkdir -p build
-       VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
-       VER2=$(shell git describe | cut -d- -f2); \
-       VER3=$(shell git describe | cut -d- -f3); \
-       echo "$$VER1.dev$$VER2+$$VER3" > build/OPENVIM_VERSION
+       #VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
+       #VER2=$(shell git describe | cut -d- -f2); \
+       #VER3=$(shell git describe | cut -d- -f3); \
+       #echo "$$VER1.dev$$VER2+$$VER3" > build/OPENVIM_VERSION
+       cp tox.ini build/
        cp MANIFEST.in build/
        cp README.rst build/
        cp setup.py build/
@@ -61,17 +73,19 @@ prepare:
 
 build: prepare
        python -m py_compile build/osm_openvim/*.py
+       #cd build && tox -e flake8
 
 build_lite: prepare_lite
        python -m py_compile build/lib_osm_openvim/*.py
+       #cd build && tox -e flake8
 
-pip: clean build
+pip: build
        cd build && ./setup.py sdist
 
-pip_lite: clean build_lite
+pip_lite: build_lite
        cd build && ./setup.py sdist
 
-package_openvim: clean prepare
+package_openvim: prepare
        #apt-get install -y python-stdeb
        cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
        cd build && cp osm_openvim/scripts/python-osm-openvim.postinst deb_dist/osm-openvim*/debian/
@@ -79,15 +93,14 @@ package_openvim: clean prepare
        mkdir -p .build
        cp build/deb_dist/python-*.deb .build/
 
-package_lib: clean prepare_lite
+package_lib_openvim: prepare_lite
        #apt-get install -y python-stdeb
-       cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
-       cd build/deb_dist/lib-osm-openvim* && dpkg-buildpackage -rfakeroot -uc -us
+       #cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
+       #cd build/deb_dist/lib-osm-openvim* && dpkg-buildpackage -rfakeroot -uc -us
+       cd build && python setup.py --command-packages=stdeb.command bdist_deb
        mkdir -p .build
        cp build/deb_dist/python-*.deb .build/
 
-package: clean_deb package_openvim package_lib
-
 snap:
        echo "Nothing to be done yet"
 
index 8505499..c38c275 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/sh
-make package
+make clean all
index c136d4b..4d4073a 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,6 @@
 from setuptools import setup
 
 __name = 'osm_openvim'
-__version = open('OPENVIM_VERSION').read().strip()
 __description = 'OSM Openvim'
 __author = 'ETSI OSM'
 __author_email = 'alfonso.tiernosepulveda@telefonica.com'
@@ -13,7 +12,7 @@ __license = 'Apache 2.0'
 __url = 'https://osm.etsi.org/gitweb/?p=osm/openvim.git;a=summary'
 
 _req = [
-    "asn1crypto",
+    #"asn1crypto",
     "cffi",
     "enum34",
     "functools32",
@@ -34,7 +33,8 @@ _req = [
     "requestsexceptions",
     "netaddr",
     "bottle",
-    "MySQL-python",
+    #"MySQL-python",
+    #"mysqlclient",
     "paramiko",
     "libvirt-python",
     "pytest",
@@ -52,7 +52,7 @@ __scripts__ = ['openflow',
                'osm_openvim/scripts/get_dhcp_lease.sh']
 
 setup(name=__name,
-      version=__version,
+      version_command=('git describe', 'pep440-git'),
       description=__description,
       long_description=__description,
       author=__author,
@@ -69,7 +69,8 @@ setup(name=__name,
       data_files = [('/etc/osm/', ['osm_openvim/openvimd.cfg']),
                    ('/etc/systemd/system/', ['osm_openvim/osm-openvim.service']),
                    ],
-      install_requires=_req
+      install_requires=_req,
+      setup_requires=['setuptools-version-command'],
       )
 
 
index 171ea5d..7bb1c79 100755 (executable)
@@ -3,7 +3,6 @@
 from setuptools import setup
 
 __name = 'lib_osm_openvim'
-__version = open('OVIM_VERSION').read().strip()
 __description = 'OSM Openvim library'
 __author = 'ETSI OSM'
 __author_email = 'alfonso.tiernosepulveda@telefonica.com'
@@ -13,7 +12,7 @@ __license = 'Apache 2.0'
 __url = 'https://osm.etsi.org/gitweb/?p=osm/openvim.git;a=summary'
 
 _req = [
-    "asn1crypto",
+    #"asn1crypto",
     "cffi",
     "enum34",
     "functools32",
@@ -34,14 +33,15 @@ _req = [
     "requestsexceptions",
     "netaddr",
     "bottle",
-    "MySQL-python",
+    #"MySQL-python",
+    #"mysqlclient",
     "paramiko"
 ]
 
 __scripts__ = ['openflow-lib']
 
 setup(name=__name,
-      version=__version,
+      version_command=('git describe', 'pep440-git'),
       description=__description,
       long_description=__description,
       author=__author,
@@ -55,7 +55,8 @@ setup(name=__name,
       scripts=__scripts__,
       package_data={'lib_osm_openvim': ['*']},
       include_package_data=True,
-      install_requires=_req
+      install_requires=_req,
+      setup_requires=['setuptools-version-command'],
       )
 
 
diff --git a/tox.ini b/tox.ini
new file mode 100644 (file)
index 0000000..025f4a0
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,22 @@
+[tox]
+#envlist = py27,py3
+envlist = py27
+toxworkdir={homedir}/.tox
+
+[testenv]
+deps=nose
+     mock
+commands=nosetests
+
+[testenv:flake8]
+basepython = python
+deps = flake8
+commands =
+    flake8 setup.py
+
+[testenv:build]
+basepython = python
+deps = stdeb
+       setuptools-version-command
+commands = python setup.py --command-packages=stdeb.command bdist_deb
+