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
+
--- /dev/null
+
+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/
+
+
===========
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.
#!/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
--- /dev/null
+#!/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
+
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,
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,
'pymongo',
'aiokafka',
'PyYAML',
+ 'pip3',
],
)