debian/rules
author Laurent Peuch <cortex@worlddomination.be>
Mon, 22 Jul 2019 11:21:10 +0200
changeset 12696 eb83daa69495
parent 12656 91178bc271c7
child 12709 280c9db41038
permissions -rwxr-xr-x
[cubicweb-ctl] respect sys.exit status code when aborting a command When exploring the stack of all calls to a cubicweb-ctl command, it has been discovered than on a KeyboardInterrupt and on a SystemExit exception the base class InstanceCommand (for commands that works on one instance) will always set the return code of cubicweb-ctl to 8: this mean that if another command do a `sys.exit(some_code)` the exit code will be ignored and overwritten by '8'. This behavior is not intuitive, apparently not documented and doesn't seems to have any justification. It also prevent commands from exciting with different return codes which could be a desired behavior in the situation of scripting.

#!/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

export PYBUILD_NAME=cubicweb
export PYBUILD_DISABLE_python3=test

%:
	dh $@ --with python3,sphinxdoc --buildsystem=pybuild

override_dh_auto_build: export http_proxy=127.0.0.1:9
override_dh_auto_build: export https_proxy=127.0.0.1:9
override_dh_auto_build:
	dh_auto_build
ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))
	PYTHONPATH=. sphinx-build -N -bhtml doc/ debian/cubicweb-doc/html
endif

override_dh_auto_install:
	dh_auto_install
	mv debian/python3-${PYBUILD_NAME}/usr/bin/cubicweb-ctl \
		debian/cubicweb-ctl/usr/bin/cubicweb-ctl

override_dh_installchangelogs:
	dh_installchangelogs -Xdoc/changes

# Should extra sections in requires.txt go to Recommends, Suggests or be
# ignored?
#
# All sections must be listed so we don't forget any in cases of future
# changes.

RECOMMENDS_SECTIONS = ext crypto ical pyramid rdf
SUGGESTS_SECTIONS = captcha zmq
# sparql currently requires fyzz which is not compatible with Python 3
IGNORED_SECTIONS = sparql

override_dh_python3:
	@set -e && trap 'rm -f requires-sections debian-sections' EXIT && \
		sed -n -e 's/\[\(.*\)\]/\1/p' cubicweb.egg-info/requires.txt | sort > requires-sections && \
		printf "%s\n" $(RECOMMENDS_SECTIONS) $(SUGGESTS_SECTIONS) $(IGNORED_SECTIONS) | sort > debian-sections && \
		FORGOTTEN_SECTIONS=$$(comm -23 requires-sections debian-sections) && \
		if [ "$$FORGOTTEN_SECTIONS" ]; then \
			echo "The following sections are not listed in debian/rules:" && \
			echo "$$FORGOTTEN_SECTIONS" && \
			echo "Please add them in either RECOMMENDS_SECTIONS, SUGGESTS_SECTIONS or IGNORED_SECTIONS" && \
			exit 1; \
		fi
	dh_python3 \
		$(foreach section,$(RECOMMENDS_SECTIONS),--recommends-section=$(section)) \
		$(foreach section,$(SUGGESTS_SECTIONS),--suggests-section=$(section))