Update neutron to 9.0.0.0b1
[openstack-build/neutron-build.git] / xenial / debian / rules
diff --git a/xenial/debian/rules b/xenial/debian/rules
new file mode 100755 (executable)
index 0000000..1cc0729
--- /dev/null
@@ -0,0 +1,159 @@
+#!/usr/bin/make -f
+
+include /usr/share/openstack-pkg-tools/pkgos.make
+export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog | grep Version: | cut -d' ' -f2 | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' | head -n 1)
+
+PYTHONS:=$(shell pyversions -vr)
+
+%:
+       dh $@ --buildsystem=python_distutils --with python2,systemd,sphinxdoc
+
+override_dh_auto_install:
+       echo "Do nothing"
+
+override_dh_install:
+       rm -rf $(CURDIR)/debian/tmp
+       python2.7 setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
+       cp -auxf neutron $(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages
+       rm -rf $(CURDIR)/debian/tmp/usr/etc
+
+       # dhcp_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.base.agent \
+               --namespace neutron.dhcp.agent \
+               --namespace oslo.log
+
+       # l3_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-l3-agent/etc/neutron
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.base.agent \
+               --namespace neutron.l3.agent \
+               --namespace oslo.log
+
+       # linuxbridge_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-linuxbridge-agent/etc/neutron/plugins/ml2
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-linuxbridge-agent/etc/neutron/plugins/ml2/linuxbridge_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.ml2.linuxbridge.agent \
+               --namespace oslo.log
+
+       # metadata_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent/metadata_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.metadata.agent \
+               --namespace oslo.log
+
+       # metering_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-metering-agent/etc/neutron
+       PYTHONPATH=$(CURDIR)/debian/tmp oslo-config-generator --output-file $(CURDIR)/debian/neutron-metering-agent/etc/neutron/metering_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.metering.agent \
+               --namespace oslo.log
+
+       # ml2_conf.ini
+       mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini \
+               --wrap-width 140 \
+               --namespace neutron.ml2 \
+               --namespace oslo.log
+
+       # ml2_conf_sriov.ini
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf_sriov.ini \
+               --wrap-width 140 \
+               --namespace neutron.ml2.sriov \
+               --namespace oslo.log
+
+       # neutron.conf
+       mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf \
+               --wrap-width 140 \
+               --namespace neutron \
+               --namespace neutron.agent \
+               --namespace neutron.db \
+               --namespace neutron.extensions \
+               --namespace neutron.qos \
+               --namespace nova.auth \
+               --namespace oslo.log \
+               --namespace oslo.db \
+               --namespace oslo.policy \
+               --namespace oslo.concurrency \
+               --namespace oslo.messaging \
+               --namespace oslo.middleware.cors \
+               --namespace oslo.service.sslutils \
+               --namespace oslo.service.wsgi \
+               --namespace keystonemiddleware.auth_token
+
+
+       # openvswitch_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.ml2.ovs.agent \
+               --namespace oslo.log
+
+       # sriov_agent.ini
+       mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
+       PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/sriov_agent.ini \
+               --wrap-width 140 \
+               --namespace neutron.ml2.sriov.agent \
+               --namespace oslo.log
+
+       dh_install --fail-missing -X/usr/etc
+
+override_dh_auto_clean:
+       dh_auto_clean
+       find . -type f -name "*.pyc" | xargs rm -fr
+       rm -rf build neutron.egg-info
+       rm -f debian/neutron-common.config \
+               debian/neutron-common.postinst \
+               debian/neutron-server.config \
+               debian/neutron-server.postinst \
+               debian/neutron-dhcp-agent.postinst \
+               debian/neutron-metadata-agent.config \
+               debian/neutron-metadata-agent.postinst
+       rm -f debian/*.init debian/*.service debian/*.upstart
+
+override_dh_clean:
+       dh_clean
+       find . -type f -name "*.pyc" -delete
+
+override_dh_auto_test:
+ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
+       echo "No unit tests: currently broken."
+#      python2-ostestr --pretty --color --slowest
+#      @echo "===> Running tests"
+#      set -e ; set -x ; for i in 2.7 ; do \
+#              PYMAJOR=`echo $$i | cut -d'.' -f1` ; \
+#              echo "===> Testing with python$$i (python$$PYMAJOR)" ; \
+#              rm -rf .testrepository ; \
+#              testr-python$$PYMAJOR init ; \
+#              TEMP_REZ=`mktemp -t` ; \
+#              PYTHONPATH=$(CURDIR) PYTHON=python$$i testr-python$$PYMAJOR run --subunit 'neutron\.tests\.unit.*' | tee $$TEMP_REZ | subunit2pyunit ; \
+#              cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \
+#              rm -f $$TEMP_REZ ; \
+#              testr-python$$PYMAJOR slowest ; \
+#      done
+       #PYTHONPATH=build/* ./run_tests.sh -N -P
+endif
+
+override_dh_auto_build:
+       dh_auto_build -O--buildsystem=python_distutils
+
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.config
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.postinst
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.config
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.postinst
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-dhcp-agent.postinst
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.postinst
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.config
+
+override_dh_sphinxdoc:
+ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))
+       python setup.py build_sphinx
+       cp -rf doc/build/html $(CURDIR)/debian/neutron-doc/usr/share/doc/neutron-doc
+       dh_sphinxdoc -O--buildsystem=python_distutils
+endif