File: rules

package info (click to toggle)
radicale 1.1.1%2B20160115-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 664 kB
  • ctags: 382
  • sloc: python: 2,294; sh: 256; makefile: 45; sql: 25
file content (81 lines) | stat: -rwxr-xr-x 3,108 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2010-2016, Jonas Smedegaard <dr@jones.dk>
# Description: Debian packaging script for Radicale
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

include /usr/share/cdbs/1/rules/upstream-tarball.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/rules/debhelper.mk

DEB_UPSTREAM_URL = https://github.com/Kozea/Radicale/archive
DEB_UPSTREAM_TARBALL_BASENAME = $(DEB_UPSTREAM_TARBALL_VERSION)

# workaround: python-distutils.mk by default adds unusual option -a
DEB_PYTHON_CLEAN_ARGS =

# Avoid unneeded build-dependency on python-dev
CDBS_BUILD_DEPENDS_class_python-distutils_python =

# Needed for upstream build
CDBS_BUILD_DEPENDS +=, python-setuptools, python3-setuptools

# Needed for upstream testsuite
CDBS_BUILD_DEPENDS +=, python-pytest

# check upstream testsuite
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
build/python-radicale build/radicale:: debian/stamp-pytest
debian/stamp-pytest:
	py.test
	touch $@
clean::
	rm -f debian/stamp-pytest
endif

# generate manpage based on --help option of script itself
#  * TODO: Drop PYTHONPATH wildcard when cdbs 0.4.131 is in oldstable
CDBS_BUILD_DEPENDS +=, help2man
manpages = debian/radicale.1
DEB_INSTALL_MANPAGES_radicale = $(manpages)
common-binary-indep:: $(manpages)
$(manpages): debian/%.1: bin/% install/python-radicale
	export PYTHONPATH="$(wildcard $(cdbs_python_destdir)/usr/lib/python$(or $(cdbs_python_nondefault_version),$(cdbs_python_current_version))/*-packages/)"; \
	  help2man \
		--name="a simple calendar server" \
		--version-string="$(DEB_NOEPOCH_VERSION)" \
		--no-info \
		--output=$@ \
		$(cdbs_python_destdir)/usr/$< \
		|| { $(cdbs_python_destdir)/usr/$< --help; false; }
	find "$(cdbs_python_destdir)/usr/lib" -name '*.pyc' -delete
	find "$(cdbs_python_destdir)/usr/lib" -type d -empty -delete
clean::
	rm -f $(manpages)
	rm -rf build/

# Ensure proper hash-bang in Python script (Python Policy 0.9 §3.1)
binary-fixup/radicale::
	egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' \
		debian/$(cdbs_curpkg)/usr/bin/* \
		debian/$(cdbs_curpkg)/usr/share/radicale/* \
		| xargs -r -0 perl -pi -e 's,^#! ?/usr/bin/(env )?python[[:print:]]*$$,#!/usr/bin/python$(cdbs_python_nondefault_version),'

# fix unset execution bit on FCGI and WSGI scripts
binary-fixup/radicale::
	chmod -x \
		debian/$(cdbs_curpkg)/usr/share/radicale/radicale.fcgi \
		debian/$(cdbs_curpkg)/usr/share/radicale/radicale.wsgi