From: garciadeblas Date: Wed, 13 Sep 2017 06:28:39 +0000 (+0200) Subject: Changes in Makefile,setup and devops files, including new tox.ini X-Git-Tag: v3.0.0rc^2~1 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=55195779db090c1e753a4fa4357b5152d455e9fe;p=osm%2Fopenvim.git Changes in Makefile,setup and devops files, including new tox.ini Change-Id: I68dbd848697a2407bea81797a9af06399edda3de Signed-off-by: garciadeblas --- diff --git a/Dockerfile b/Dockerfile index 2e05659..7dac9e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 + diff --git a/MANIFEST.in b/MANIFEST.in index 3a9e9a9..71cb3ec 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,5 @@ include README.rst -include OPENVIM_VERSION +#include OPENVIM_VERSION include openflow include openvimd include openvim diff --git a/Makefile b/Makefile index bae4fe1..553d349 100644 --- 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" diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh index 8505499..c38c275 100755 --- a/devops-stages/stage-build.sh +++ b/devops-stages/stage-build.sh @@ -1,2 +1,2 @@ #!/bin/sh -make package +make clean all diff --git a/setup.py b/setup.py index c136d4b..4d4073a 100755 --- 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'], ) diff --git a/setup_lite.py b/setup_lite.py index 171ea5d..7bb1c79 100755 --- a/setup_lite.py +++ b/setup_lite.py @@ -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 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 +