File: rules

package info (click to toggle)
zeroc-ice 3.7.10-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 75,704 kB
  • sloc: cpp: 356,894; java: 226,081; cs: 98,312; javascript: 35,027; python: 28,716; objc: 27,050; php: 7,526; ruby: 7,190; yacc: 2,949; ansic: 2,469; xml: 1,589; lex: 1,241; makefile: 472; sh: 52
file content (189 lines) | stat: -rwxr-xr-x 6,788 bytes parent folder | download | duplicates (2)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/usr/bin/make -f
# -*- makefile -*-

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

export LC_ALL=en_US.UTF-8

# This has to be exported to make some magic below work.
export DH_OPTIONS

# enable dpkg build flags
# disable full hardening for now
# export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

include /usr/share/java/java_defaults.mk
java_compat_level ?= 8

export JAVA_HOME=/usr/lib/jvm/default-java/
#
# Use the system gradle unless it has been overridden by GRADLE
# environment variable.
#
ifeq ($(GRADLE),)
export GRADLE		= gradle
# When building with gradle debian package use the "debian" version of builder, the new
# builder is no compatible with old gradle version included in debian.
#
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926714
export OFFLINE_GRADLEARGS	= --offline \
			  -PiceBuilderVersion=debian \
			  -PiceBuilderClassPath=com.zeroc.gradle.ice-builder
endif

# GRADLE_OPTS memory setting to work around FTBFS on armel
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1069538
export GRADLE_OPTS=-Xmx512M

export GRADLEARGS	= --gradle-user-home $(CURDIR)/.gradle \
			  --info \
			  --console plain \
			  --stacktrace \
			  --no-daemon \
			  --refresh-dependencies \
			  -PiceGridGuiUseJavaFX=false \
			  -PicegridguiProguard=false \
			  -PjarsClassPath=true \
			  -PjgoodiesLooksVersion=debian \
			  -PjgoodiesFormsVersion=debian \
			  -PopenjfxVersion=debian \
			  $(OFFLINE_GRADLEARGS)
#
# These files are not installed with any debian package.
#
INSTALL_EXCLUDE		= usr/bin/slice2confluence

PHP_VERSIONS 		:= $(shell /usr/sbin/phpquery -V)

export PYTHON3DIR 	:= $(shell python3 -c "import sys;print('python{0}.{1}'.format(sys.version_info.major, sys.version_info.minor))")

export VERSION   := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's,^\([.0-9|.a-z]*\).*,\1,')

DESTDIR=$(CURDIR)/debian/tmp
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	OPTIMIZE=yes
else
	OPTIMIZE=no
endif

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
	MAKEFLAGS += -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
	PROCESSORS := $(shell cat /proc/cpuinfo | grep processor | wc -l)
	ifneq ($(PROCESSORS),0)
	    MAKEFLAGS += -j$(PROCESSORS)
	endif
endif

DHARGS	= --parallel --with maven_repo_helper --with php --with python3 --with javahelper

MAKEOPTS = V=1 prefix=/usr DESTDIR=$(DESTDIR)

%:
	dh $@ $(DHARGS)

override_dh_auto_build-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python3 LANGUAGES="cpp python" CONFIGS="shared cpp11-shared static cpp11-static" srcs
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) $(MAKEOPTS) OPTIMIZE=no LANGUAGES=cpp CONFIGS="shared cpp11-shared" tests
endif
	for v in $(PHP_VERSIONS); do \
	  cp -a php php-$${v}; \
	  PHP_CONFIG=php-config$${v} $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C php-$${v}; \
	done

override_dh_auto_build-indep:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C cpp slice2java
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=java srcs
	GRADLEARGS="$(GRADLEARGS) -PtargetJavaRelease=$(java_compat_level)" $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=java-compat srcs
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) $(MAKEOPTS) LANGUAGES=java tests
	GRADLEARGS="$(GRADLEARGS) -PtargetJavaRelease=$(java_compat_level)" $(MAKE) $(MAKEOPTS) LANGUAGES=java-compat tests
endif

override_dh_auto_install-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python3 LANGUAGES="cpp python" CONFIGS="shared cpp11-shared static cpp11-static" install
	for v in $(PHP_VERSIONS); do \
	  PHP_CONFIG=php-config$${v} $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C php-$${v} install; \
	done
	rm -rf $(addprefix $(DESTDIR)/,$(INSTALL_EXCLUDE))

override_dh_auto_install-indep:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=java install
	GRADLEARGS="$(GRADLEARGS) -PtargetJavaRelease=$(java_compat_level)" $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=java-compat install
	rm -rf $(DESTDIR)/usr/share/java/*-sources.jar

override_dh_auto_clean-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python3 LANGUAGES="cpp python" CONFIGS="shared cpp11-shared static cpp11-static" distclean
	for v in $(PHP_VERSIONS); do \
	  rm -rf php-$${v}; \
	done

override_dh_auto_clean-indep:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp distclean
#
# Don't fail if gradle isn't present
#
ifeq ($(shell type $(GRADLE) > /dev/null 2>&1 && echo 0),0)
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES="java java-compat" clean
endif
	rm -rf java/.gradle
	rm -rf java-compat/.gradle
	rm -rf $(CURDIR)/.gradle

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	-python3 cpp/allTests.py --rfilter=IceUtil/stacktrace --rfilter IceGrid/simple --rfilter IceDiscovery
	-python3 cpp/allTests.py --config=cpp11-shared --rfilter=IceUtil/stacktrace --rfilter IceGrid/simple --rfilter IceDiscovery
endif

override_dh_auto_test-indep:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	-python3 java/allTests.py --rfilter Glacier2 --rfilter IceGrid --rfilter IceDiscovery
	-python3 java-compat/allTests.py --rfilter Glacier2 --rfilter IceGrid --rfilter IceDiscovery
endif

override_dh_clean:
	find . -iname "*.pyc" -exec rm -rf {} \;
	dh_clean

override_dh_systemd_enable:
	dh_installsystemd --name icegridregistry --no-enable --no-start
	dh_installsystemd --name icegridnode --no-enable --no-start
	dh_installsystemd --name glacier2router --no-enable --no-start

override_dh_install:
	install -d -m 0755 $(DESTDIR)/usr/bin
	install -m 0755 debian/zeroc-icegridgui.icegridgui $(DESTDIR)/usr/bin/icegridgui
	install -d -m 0755 $(DESTDIR)/usr/share/man/man1
	install -m 0644 debian/zeroc-icegridgui.icegridgui.1 $(DESTDIR)/usr/share/man/man1/icegridgui.1
	install -d -m 0755 $(DESTDIR)/etc/

	install -m 0644 debian/zeroc-glacier2.glacier2router.conf $(DESTDIR)/etc/glacier2router.conf
	install -m 0644 debian/zeroc-icegrid.icegridnode.conf $(DESTDIR)/etc/icegridnode.conf
	install -m 0644 debian/zeroc-icegrid.icegridregistry.conf $(DESTDIR)/etc/icegridregistry.conf

	dh_install
	dh_missing --list-missing -X.pom -XICE_LICENSE -XLICENSE
	jh_depends -pzeroc-icegridgui

override_dh_strip:
	dh_strip
	# Sadly, perl "-B" test (used by dh_strip) for binary files sometime misses some binary files,
	# the following ensures, static libraries are always stripped even if the binary check fails.
	strip --strip-debug --remove-section=.comment --remove-section=.note --enable-deterministic-archives \
		debian/libzeroc-ice-dev/usr/lib/*/lib*.a

override_dh_installdocs:
	dh_installdocs -A debian/README

override_mh_install-arch:

override_mh_install-indep:
	mh_install

get-orig-source:
	uscan --download-current-version --rename --force-download