File: rules

package info (click to toggle)
zeroc-ice 3.7.2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 78,676 kB
  • sloc: cpp: 351,609; java: 225,746; cs: 101,269; python: 27,375; objc: 26,927; php: 7,429; ruby: 6,485; yacc: 2,934; ansic: 1,798; xml: 1,592; lex: 1,233; makefile: 363; sh: 44
file content (188 lines) | stat: -rwxr-xr-x 6,360 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
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
#!/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

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
endif

export GRADLEARGS	= --gradle-user-home $(CURDIR)/.gradle \
			  --info \
			  --console plain \
			  --offline \
			  --stacktrace \
			  --no-daemon \
			  --refresh-dependencies \
			  -PicegridguiProguard=false \
			  -PjgoodiesLooksVersion=debian \
			  -PjgoodiesFormsVersion=debian \
			  -PiceBuilderVersion=debian \
			  -PiceBuilderClassPath=com.zeroc.gradle.ice-builder \
			  -PjarsClassPath=true

#
# These files are not installed with any debian package.
#
INSTALL_EXCLUDE		= usr/bin/slice2confluence

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

PYTHON_VERSIONS 	:= 2 3
export PYTHON2DIR 	:= $(shell python2 -c "import sys;print('python{0}.{1}'.format(sys.version_info.major, sys.version_info.minor))")
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 systemd --with php --with python3 --with python2 --with javahelper

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

%:
	dh $@ $(DHARGS)

override_dh_auto_build-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp 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
	for v in $(PYTHON_VERSIONS); do \
	  cp -a python python-$${v}; \
	  $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python$${v} -C python-$${v}; \
	done

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

override_dh_auto_install-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp 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
	for v in $(PYTHON_VERSIONS); do \
	  $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python$${v} -C python-$${v} install; \
	done
	rm -rf $(addprefix $(DESTDIR)/,$(INSTALL_EXCLUDE))

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

override_dh_auto_clean-arch:
	$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp CONFIGS="shared cpp11-shared static cpp11-static" distclean
	for v in $(PHP_VERSIONS); do \
	  rm -rf php-$${v}; \
	done
	for v in $(PYTHON_VERSIONS); do \
	  rm -rf python-$${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)))
	-python cpp/allTests.py --rfilter=IceUtil/stacktrace --rfilter IceGrid/simple --rfilter IceDiscovery
	-python 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)))
	-python java/allTests.py --rfilter Glacier2 --rfilter IceGrid --rfilter IceDiscovery
	-python 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_start:
	dh_systemd_start --no-start

override_dh_systemd_enable:
	dh_systemd_enable --name icegridregistry --no-enable
	dh_systemd_enable --name icegridnode --no-enable
	dh_systemd_enable --name glacier2router --no-enable

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 --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 binay 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