Realign packaging with MOS.
[openstack-build/ceilometer-build.git] / trusty / debian / rules
index 90ec76b417ef7a4ed3af308f793998aeacf3e775..8f70cd7577029e4c42240790d5eb5d722771e48a 100755 (executable)
@@ -1,57 +1,61 @@
 #!/usr/bin/make -f
 
-#export DH_VERBOSE=1
+export HOME="$(CURDIR)/debian/test"
+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)
 
 %:
-       dh $@  --with python2
-
-DEBVERS := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
-VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[~-].*//')
-DEBFLAVOR :=$(shell dpkg-parsechangelog | grep -E ^Distribution: | cut -d" " -f2)
-DEBPKGNAME :=$(shell dpkg-parsechangelog | grep -E ^Source: | cut -d" " -f2)
-
-override_dh_installchangelogs:
-       dh_installchangelogs debian/CHANGELOG
+       dh $@  --with python2,systemd,sphinxdoc
+
+override_dh_clean:
+       dh_clean
+       rm -rf .testrepository
+       rm -f debian/ceilometer-common.config debian/ceilometer-common.postinst debian/ceilometer-api.config debian/ceilometer-api.postinst
+
+override_dh_install:
+       dh_install --fail-missing
+
+       # Manage ceilometer.conf
+       mkdir -p $(CURDIR)/debian/ceilometer-common/usr/share/ceilometer-common
+       oslo-config-generator --output-file $(CURDIR)/debian/ceilometer-common/usr/share/ceilometer-common/ceilometer.conf \
+               --namespace ceilometer \
+               --namespace oslo.db \
+               --namespace oslo.messaging \
+               --namespace oslo.policy \
+               --namespace keystonemiddleware.auth_token
+       sed -i 's|[# \t]*auth_protocol[\t ]*=.*|auth_protocol=http|' $(CURDIR)/debian/ceilometer-common/usr/share/ceilometer-common/ceilometer.conf
+       chmod 0644 $(CURDIR)/debian/ceilometer-common/usr/share/ceilometer-common/ceilometer.conf
+       sed -i 's|#connection[ \t]*=.*|connection=mongodb://localhost:27017/ceilometer|' $(CURDIR)/debian/ceilometer-common/usr/share/ceilometer-common/ceilometer.conf
+
+override_dh_auto_build:
+       dh_auto_build
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ceilometer-common.config
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ceilometer-common.postinst
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ceilometer-api.config
+       /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ceilometer-api.postinst
 
 override_dh_auto_clean:
        dh_auto_clean
-       rm -rf debian/*.upstart
-
-override_dh_installinit:
-       if dpkg-vendor --derives-from ubuntu ; then \
-               for i in *.upstart.in ; do \
-                       MYPKG=`echo $i | cut -d. -f1` ; \
-                       cp $MYPKG.upstart.in $MYPKG.upstart ; \
-               done ; \
-       fi
-       dh_installinit --error-handler=true
-
-override_dh_gencontrol:
-       if dpkg-vendor --derives-from ubuntu ; then \
-               dh_gencontrol -- -T$(CURDIR)/debian/ubuntu_control_vars ; \
-       else \
-               dh_gencontrol -- -T$(CURDIR)/debian/debian_control_vars ; \
-       fi
-
-override_dh_builddeb:
-       dh_builddeb -- -Zxz -z9
-
-regen-manifest-patch:
-       quilt pop -a || true
-       quilt push install-missing-files.patch
-       git checkout MANIFEST.in
-       git ls-files --no-empty-directory --exclude-standard nova | grep -v '.py$$' | sed -n 's/.*/include &/gp' >> MANIFEST.in
-       quilt refresh
-       quilt pop -a
-
-get-vcs-source:
-       git remote add upstream git://github.com/openstack/$(DEBPKGNAME).git || true
-       git fetch upstream
-       if [ ! -f ../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ] ; then \
-               git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(VERSION) | xz >../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ; \
-       fi
-       if ! git checkout master ; then \
-               echo "No upstream branch: checking out" ; \
-               git checkout -b master upstream/master ; \
-       fi
-       git checkout debian/experimental
+       rm -rf .testrepository
+       find . -iname '*.pyc' -delete
+       rm -f debian/*.init debian/*.service debian/*.upstart
+
+override_dh_auto_test:
+ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
+       rm -rf .testrepository
+       testr init
+       set -e ; \
+               TEMP_REZ=`mktemp -t` ; \
+               bash -x ./setup-test-env-mongodb.sh testr run --subunit 'tests\.(?!.*test_bin.*)' | tee $$TEMP_REZ | subunit2pyunit ; \
+               cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \
+               rm -f $$TEMP_REZ ;
+       testr slowest
+endif
+
+override_dh_sphinxdoc:
+ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))
+       PYTHONPATH=. sphinx-build -b html doc/source $(CURDIR)/debian/ceilometer-doc/usr/share/doc/ceilometer-doc/html
+       mkdir -p $(CURDIR)/debian/ceilometer-doc/usr/share/doc/ceilometer-doc/html/_static
+       touch $(CURDIR)/debian/ceilometer-doc/usr/share/doc/ceilometer-doc/html/_static/toggle.js
+       dh_sphinxdoc -O--buildsystem=python_distutils
+endif