3 include /usr/share/openstack-pkg-tools/pkgos.make
4 export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog | grep Version: | cut -d' ' -f2 | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' | head -n 1)
6 PYTHONS:=$(shell pyversions -vr)
9 dh $@ --buildsystem=python_distutils --with python2,systemd,sphinxdoc
11 override_dh_auto_install:
15 rm -rf $(CURDIR)/debian/tmp
16 python2.7 setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
17 cp -auxf neutron $(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages
18 rm -rf $(CURDIR)/debian/tmp/usr/etc
21 mkdir -p $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron
22 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 \
24 --namespace neutron.base.agent \
25 --namespace neutron.dhcp.agent \
29 mkdir -p $(CURDIR)/debian/neutron-l3-agent/etc/neutron
30 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 \
32 --namespace neutron.base.agent \
33 --namespace neutron.l3.agent \
36 # linuxbridge_agent.ini
37 mkdir -p $(CURDIR)/debian/neutron-linuxbridge-agent/etc/neutron/plugins/ml2
38 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 \
40 --namespace neutron.ml2.linuxbridge.agent \
44 mkdir -p $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent
45 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 \
47 --namespace neutron.metadata.agent \
51 mkdir -p $(CURDIR)/debian/neutron-metering-agent/etc/neutron
52 PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-metering-agent/etc/neutron/metering_agent.ini \
54 --namespace neutron.metering.agent \
58 mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
59 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 \
61 --namespace neutron.ml2 \
65 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 \
67 --namespace neutron.ml2.sriov \
71 mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
72 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 \
75 --namespace neutron.agent \
76 --namespace neutron.db \
77 --namespace neutron.extensions \
78 --namespace neutron.qos \
79 --namespace nova.auth \
80 --namespace oslo.log \
82 --namespace oslo.policy \
83 --namespace oslo.concurrency \
84 --namespace oslo.messaging \
85 --namespace oslo.middleware.cors \
86 --namespace oslo.service.sslutils \
87 --namespace oslo.service.wsgi \
88 --namespace keystonemiddleware.auth_token
91 # openvswitch_agent.ini
92 mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
93 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 \
95 --namespace neutron.ml2.ovs.agent \
99 mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
100 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 \
102 --namespace neutron.ml2.sriov.agent \
105 dh_install --fail-missing -X/usr/etc
107 override_dh_auto_clean:
109 find . -type f -name "*.pyc" | xargs rm -fr
110 rm -rf build neutron.egg-info
111 rm -f debian/neutron-common.config \
112 debian/neutron-common.postinst \
113 debian/neutron-server.config \
114 debian/neutron-server.postinst \
115 debian/neutron-dhcp-agent.postinst \
116 debian/neutron-metadata-agent.config \
117 debian/neutron-metadata-agent.postinst
118 rm -f debian/*.init debian/*.service debian/*.upstart
122 find . -type f -name "*.pyc" -delete
124 override_dh_auto_test:
125 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
126 echo "No unit tests: currently broken."
127 # python2-ostestr --pretty --color --slowest
128 # @echo "===> Running tests"
129 # set -e ; set -x ; for i in 2.7 ; do \
130 # PYMAJOR=`echo $$i | cut -d'.' -f1` ; \
131 # echo "===> Testing with python$$i (python$$PYMAJOR)" ; \
132 # rm -rf .testrepository ; \
133 # testr-python$$PYMAJOR init ; \
134 # TEMP_REZ=`mktemp -t` ; \
135 # PYTHONPATH=$(CURDIR) PYTHON=python$$i testr-python$$PYMAJOR run --subunit 'neutron\.tests\.unit.*' | tee $$TEMP_REZ | subunit2pyunit ; \
136 # cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \
137 # rm -f $$TEMP_REZ ; \
138 # testr-python$$PYMAJOR slowest ; \
140 #PYTHONPATH=build/* ./run_tests.sh -N -P
143 override_dh_auto_build:
144 dh_auto_build -O--buildsystem=python_distutils
146 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.config
147 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.postinst
148 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.config
149 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.postinst
150 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-dhcp-agent.postinst
151 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.postinst
152 /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.config
154 override_dh_sphinxdoc:
155 ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))
156 python setup.py build_sphinx
157 cp -rf doc/build/html $(CURDIR)/debian/neutron-doc/usr/share/doc/neutron-doc
158 dh_sphinxdoc -O--buildsystem=python_distutils