From: tierno Date: Fri, 4 May 2018 13:11:26 +0000 (+0200) Subject: Change package.deb generation to include postinstall for aiokafka pip installation X-Git-Tag: v4.0.0~6 X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fcommon.git;a=commitdiff_plain;h=c312cc16478c47244db89f8e4ed9277b0d3f9ada Change package.deb generation to include postinstall for aiokafka pip installation Change-Id: I662b52c48cefcfd89ad67d4fe5f2f94e0e5899d4 Signed-off-by: tierno --- diff --git a/Dockerfile b/Dockerfile index 7b6b85f..4ec7ecd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get -y install git make python python3 \ +RUN apt-get update && apt-get -y install git make python python3 python3-stdeb \ libcurl4-gnutls-dev libgnutls-dev tox python-dev python3-dev \ debhelper python-setuptools python-all python3-all apt-utils python-magic + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7567727 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ + +clean: + rm -rf dist deb_dist .build osm_common-*.tar.gz osm_common.egg-info eggs + +package: + python3 setup.py --command-packages=stdeb.command sdist_dsc + cp python3-osm-common.postinst deb_dist/osm-common*/debian + cd deb_dist/osm-common*/debian && echo "pymongo python3-pymongo" > py3dist-overrides + cd deb_dist/osm-common*/debian && echo "pip3 python3-pip" >> py3dist-overrides + cd deb_dist/osm-common*/ && dpkg-buildpackage -rfakeroot -uc -us + mkdir -p .build + cp deb_dist/python3-osm-common*.deb .build/ + + diff --git a/README.rst b/README.rst index 3273af4..b947507 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,9 @@ =========== osm-common =========== - -Contains general modules for lightweight build database, storage and message access. -The target is to use same library for OSM modules, in order to easy migration to other technologies, that is -different database or storage object system. +Contains common modules for OSM lightweight build, that manages database, storage and messaging access. +It uses a plugin stile in order to easy migration to other technologies, as e.g. different database or storage object system. For database: mongo and memory (volatile) are implemented. -For message: Kafka and local file system are implemented. -For storage: only local file system is implemented. +For messaging: Kafka and local file system are implemented. +For storage: local file system is implemented. diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh index bf7602b..2a93b0a 100755 --- a/devops-stages/stage-build.sh +++ b/devops-stages/stage-build.sh @@ -1,3 +1,8 @@ #!/bin/sh -rm -rf deb_dist -tox -e build + +# moved to a Makefile in order to add post install. Needed for "pip3 install aiokafka", +# that is not available with a package +make clean package + +#rm -rf deb_dist +#tox -e build diff --git a/python3-osm-common.postinst b/python3-osm-common.postinst new file mode 100755 index 0000000..62b04ec --- /dev/null +++ b/python3-osm-common.postinst @@ -0,0 +1,29 @@ +#!/bin/bash + +## +# 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. +# +# For those usages not covered by the Apache License, Version 2.0 please +# contact with: OSM_TECH@list.etsi.org +## + +echo "POST INSTALL OSM-COMMON" +echo "Install aiokafka with pip" + +pip3 install pip==9.0.3 +pip3 install --upgrade aiokafka +# pip install --upgrade pyang pyangbind + +#Creation of log folder +mkdir -p /var/log/osm + diff --git a/setup.py b/setup.py index 7dbb828..86a7bf1 100644 --- a/setup.py +++ b/setup.py @@ -5,10 +5,11 @@ from setuptools import setup here = os.path.abspath(os.path.dirname(__file__)) _name = "osm_common" -VERSION = "4.0.0rc1" +VERSION = "4.0.0rc2" README = open(os.path.join(here, 'README.rst')).read() setup( + #python_requires='>=3.5', name=_name, description='OSM common utilities', long_description=README, @@ -21,6 +22,7 @@ setup( maintainer_email='alfonso.tiernosepulveda@telefonica.com', url='https://osm.etsi.org/gitweb/?p=osm/common.git;a=summary', license='Apache 2.0', +# setup_requires=['setuptools-version-command'], packages=[_name], include_package_data=True, @@ -30,5 +32,6 @@ setup( 'pymongo', 'aiokafka', 'PyYAML', + 'pip3', ], )