debian/rules
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Thu, 25 Apr 2013 13:34:48 +0200
changeset 8931 4b195bd82e8b
parent 8648 67a5fccb802a
child 9174 959dbad7743e
permissions -rwxr-xr-x
[notification] move notification view in ``sobject.notification`` It has no user outside this module. This enforce serversideness of notification and allow future cleanup. No backward compat is set up to prevent circular import. The class has no other user anyway. (closes 2845144)

#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

PY_VERSION:=$(shell pyversions -d)

build: build-stamp
build-stamp:
	dh_testdir
	NO_SETUPTOOLS=1 python setup.py build
	# cubicweb.foo needs to be importable by sphinx, so create a cubicweb symlink to the source dir
	mkdir -p debian/pythonpath
	ln -sf $(CURDIR) debian/pythonpath/cubicweb
	# documentation build is now made optional since it can break for old
	# distributions and we don't want to block a new release of Cubicweb
	# because of documentation issues.
	-PYTHONPATH=$${PYTHONPATH:+$${PYTHONPATH}:}$(CURDIR)/debian/pythonpath $(MAKE) -C doc/book/en all
	# squeeze has a broken combination of jquery and sphinx, fix it up so search works(ish)
	if grep -q jQuery\\.className doc/html/_static/doctools.js && grep -q "jQuery JavaScript Library v1\.4\." doc/html/_static/jquery.js; then \
	    echo 'Patching doctools.js for jQuery 1.4 compat'; \
	    sed -i 's/jQuery\.className.has(node\.parentNode, className)/jQuery(node.parentNode).hasClass(className)/' doc/html/_static/doctools.js; \
	fi
	rm -rf debian/pythonpath
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	rm -rf build
	#rm -rf debian/cubicweb-*/
	find . -name "*.pyc" -delete
	rm -f $(basename $(wildcard debian/*.in))
	dh_clean

install: build $(basename $(wildcard debian/*.in))
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs

	#python setup.py install_lib --no-compile --install-dir=debian/cubicweb-common/usr/lib/python2.4/site-packages/
	NO_SETUPTOOLS=1 python setup.py -q install --no-compile --prefix=debian/tmp/usr

	# Put all the python library and data in cubicweb-common
	# and scripts in cubicweb-server
	dh_install -vi
	# cwctl in the cubicweb-ctl package
	rm -f debian/cubicweb-common/usr/share/pyshared/cubicweb/cwctl.py
        # wdoc in the cubicweb-web package
	rm -rf debian/cubicweb-common/usr/share/cubicweb/cubes/shared/wdoc
	rm -rf debian/cubicweb-common/usr/share/cubicweb/cubes/shared/data
	dh_lintian

	# Remove unittests directory (should be available in cubicweb-dev only)
	rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/server/test
	rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/hooks/test
	rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/sobjects/test
	rm -rf debian/cubicweb-web/usr/lib/${PY_VERSION}/site-packages/cubicweb/web/test
	rm -rf debian/cubicweb-twisted/usr/lib/${PY_VERSION}/site-packages/cubicweb/etwist/test
	rm -rf debian/cubicweb-common/usr/lib/${PY_VERSION}/site-packages/cubicweb/ext/test
	rm -rf debian/cubicweb-common/usr/lib/${PY_VERSION}/site-packages/cubicweb/entities/test


%: %.in
	sed "s/PY_VERSION/${PY_VERSION}/g" < $< > $@

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir
	dh_testroot -i
	dh_pycentral -i
	dh_installinit -i -n --name cubicweb -u"defaults 99"
	dh_installlogrotate -i
	dh_installdocs -i -A README
	dh_installman -i
	dh_installchangelogs -i
	dh_link -i
	dh_compress -i -X.py -X.ini -X.xml -X.js -X.rst -X.txt
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol  -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch:

binary: binary-indep
.PHONY: build clean binary binary-indep binary-arch